7baa007bb97d33a1fe6fce9ea3fa03f2aa45471a
[gnulib.git] / ChangeLog
1 2011-05-31  Bruno Haible  <bruno@clisp.org>
2
3         Fix link errors in tests: wait-process uses gettext-h.
4         * modules/nonblocking-pipe-tests (Makefile.am): Set
5         test_nonblocking_pipe_main_LDADD.
6         * modules/nonblocking-socket-tests (Makefile.am): Link
7         test-nonblocking-socket-main against $(LIBINTL).
8         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
9
10 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
11
12         assert-h: work around 'verify' incompatibility
13         * lib/verify.h: Use @...@ directives, not ifdef.
14         * modules/assert-h (assert.h): Implement the directives.
15         (assert.h): Substitute the symbol-prefix more consistently.
16
17 2011-05-29  Jim Meyering  <meyering@redhat.com>
18
19         trim: remove three superfluous assignments
20         * lib/trim.c (trim2): Remove three superfluous assignments
21         and correct brace positioning.
22
23 2011-05-29  Bruno Haible  <bruno@clisp.org>
24
25         wctype-h: Avoid namespace pollution on Solaris 2.6.
26         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
27         identifiers.
28         * doc/posix-headers/wctype.texi: Mention the problem.
29         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30
31 2011-05-28  Jim Meyering  <meyering@redhat.com>
32
33         parse-datetime.y: accommodate -Wstrict-overflow
34         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
35         placate -Wstrict-overflow.
36
37         trim: avoid a warning from -O2 -Wstrict-overflow
38         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
39
40 2011-05-29  Bruno Haible  <bruno@clisp.org>
41
42         gnulib-tool: Fix bug in yesterday's commit.
43         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
44         twice.
45
46 2011-05-29  Bruno Haible  <bruno@clisp.org>
47
48         Allow multiple gnulib generated include files to be combined.
49         * gnulib-tool (func_compute_include_guard_prefix): New function.
50         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
51         ${gl_include_guard_prefix} references.
52         (func_import, func_create_testdir): Invoke
53         func_compute_include_guard_prefix.
54         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
55         * lib/ctype.in.h: Likewise.
56         * lib/dirent.in.h: Likewise.
57         * lib/errno.in.h: Likewise.
58         * lib/fcntl.in.h: Likewise.
59         * lib/float.in.h: Likewise.
60         * lib/getopt.in.h: Likewise.
61         * lib/iconv.in.h: Likewise.
62         * lib/langinfo.in.h: Likewise.
63         * lib/locale.in.h: Likewise.
64         * lib/math.in.h: Likewise.
65         * lib/netdb.in.h: Likewise.
66         * lib/netinet_in.in.h: Likewise.
67         * lib/poll.in.h: Likewise.
68         * lib/pthread.in.h: Likewise.
69         * lib/pty.in.h: Likewise.
70         * lib/sched.in.h: Likewise.
71         * lib/se-selinux.in.h: Likewise.
72         * lib/search.in.h: Likewise.
73         * lib/signal.in.h: Likewise.
74         * lib/spawn.in.h: Likewise.
75         * lib/stdarg.in.h: Likewise.
76         * lib/stddef.in.h: Likewise.
77         * lib/stdint.in.h: Likewise.
78         * lib/stdio.in.h: Likewise.
79         * lib/stdlib.in.h: Likewise.
80         * lib/string.in.h: Likewise.
81         * lib/strings.in.h: Likewise.
82         * lib/sys_file.in.h: Likewise.
83         * lib/sys_ioctl.in.h: Likewise.
84         * lib/sys_select.in.h: Likewise.
85         * lib/sys_socket.in.h: Likewise.
86         * lib/sys_stat.in.h: Likewise.
87         * lib/sys_time.in.h: Likewise.
88         * lib/sys_times.in.h: Likewise.
89         * lib/sys_uio.in.h: Likewise.
90         * lib/sys_utsname.in.h: Likewise.
91         * lib/sys_wait.in.h: Likewise.
92         * lib/sysexits.in.h: Likewise.
93         * lib/termios.in.h: Likewise.
94         * lib/time.in.h: Likewise.
95         * lib/unistd.in.h: Likewise.
96         * lib/wchar.in.h: Likewise.
97         * lib/wctype.in.h: Likewise.
98         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
99         * modules/ctype (Makefile.am): Likewise.
100         * modules/dirent (Makefile.am): Likewise.
101         * modules/errno (Makefile.am): Likewise.
102         * modules/fcntl-h (Makefile.am): Likewise.
103         * modules/float (Makefile.am): Likewise.
104         * modules/getopt-posix (Makefile.am): Likewise.
105         * modules/iconv-h (Makefile.am): Likewise.
106         * modules/langinfo (Makefile.am): Likewise.
107         * modules/locale (Makefile.am): Likewise.
108         * modules/math (Makefile.am): Likewise.
109         * modules/netdb (Makefile.am): Likewise.
110         * modules/netinet_in (Makefile.am): Likewise.
111         * modules/poll-h (Makefile.am): Likewise.
112         * modules/pthread (Makefile.am): Likewise.
113         * modules/pty (Makefile.am): Likewise.
114         * modules/sched (Makefile.am): Likewise.
115         * modules/search (Makefile.am): Likewise.
116         * modules/selinux-h (Makefile.am): Likewise.
117         * modules/signal (Makefile.am): Likewise.
118         * modules/spawn (Makefile.am): Likewise.
119         * modules/stdarg (Makefile.am): Likewise.
120         * modules/stddef (Makefile.am): Likewise.
121         * modules/stdint (Makefile.am): Likewise.
122         * modules/stdio (Makefile.am): Likewise.
123         * modules/stdlib (Makefile.am): Likewise.
124         * modules/string (Makefile.am): Likewise.
125         * modules/strings (Makefile.am): Likewise.
126         * modules/sys_file (Makefile.am): Likewise.
127         * modules/sys_ioctl (Makefile.am): Likewise.
128         * modules/sys_select (Makefile.am): Likewise.
129         * modules/sys_socket (Makefile.am): Likewise.
130         * modules/sys_stat (Makefile.am): Likewise.
131         * modules/sys_time (Makefile.am): Likewise.
132         * modules/sys_times (Makefile.am): Likewise.
133         * modules/sys_uio (Makefile.am): Likewise.
134         * modules/sys_utsname (Makefile.am): Likewise.
135         * modules/sys_wait (Makefile.am): Likewise.
136         * modules/sysexits (Makefile.am): Likewise.
137         * modules/termios (Makefile.am): Likewise.
138         * modules/time (Makefile.am): Likewise.
139         * modules/unistd (Makefile.am): Likewise.
140         * modules/wchar (Makefile.am): Likewise.
141         * modules/wctype-h (Makefile.am): Likewise.
142         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
143
144 2011-05-29  Bruno Haible  <bruno@clisp.org>
145
146         assert-h: Allow multiple gnulib generated replacements to coexist.
147         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
148
149 2011-05-29  Bruno Haible  <bruno@clisp.org>
150
151         argp: Allow coexistence with strerror_r-posix module.
152         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
153         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
154         by gnulib's <string.h> replacement), assume it has the POSIX signature,
155         not the glibc signature.
156
157 2011-05-28  Bruno Haible  <bruno@clisp.org>
158
159         gnulib-tool: Alternative structure of testdirs, similar to --import.
160         * gnulib-tool: New option --single-configure.
161         (func_usage): Document it.
162         (single_configure): New variable.
163         (func_modules_transitive_closure_separately,
164         func_modules_transitive_closure_separately,
165         func_determine_use_libtests, func_modules_add_dummy_separately,
166         func_modules_to_filelist_separately): New functions, extracted from
167         func_import.
168         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
169         (func_import): Use the new functions.
170         (func_create_testdir): Set final_modules. Handle $single_configure =
171         true case.
172
173 2011-05-28  Bruno Haible  <bruno@clisp.org>
174
175         getloadavg: Remove an unreliable safety check.
176         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
177         getloadavg.c is in place.
178         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
179         Reported by Sam Steingold <sds@gnu.org>.
180
181 2011-05-28  Bruno Haible  <bruno@clisp.org>
182
183         doc: Cleanup yet another file produced by texinfo.tex.
184         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
185
186 2011-05-28  Bruno Haible  <bruno@clisp.org>
187
188         Finish the conditional dependencies mechanism.
189         * gnulib-tool: New option --no-conditional-dependencies.
190         (func_usage): Document it. Don't mark --conditional-dependencies as
191         experimental.
192         (cond_dependencies): The possible values can now be true, false, empty.
193         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
194         (func_import): Store setting in gnulib-cache.m4 and read it from there.
195         * doc/gnulib-tool.texi (Conditional dependencies): New section.
196
197 2011-05-28  Bruno Haible  <bruno@clisp.org>
198
199         doc: Use a recent texinfo.tex.
200         * doc/Makefile (tex_opts): New variable.
201         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
202
203 2011-05-28  Jim Meyering  <meyering@redhat.com>
204
205         intprops.h: adjust comment to match code change
206         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
207         only once, it *may* have side effects.  Also fix an unrelated typo.
208         (_GL_INT_SIGNED): Likewise.
209
210 2011-05-26  Simon Josefsson  <simon@josefsson.org>
211
212         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
213
214 2011-05-26  Bruno Haible  <bruno@clisp.org>
215
216         mbsrchr: Avoid collision with system function on Interix.
217         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
218         Reported by Markus Duft <mduft@gentoo.org>.
219
220 2011-05-15  James Youngman  <jay@gnu.org>
221
222         getopt: for ambiguous options, enumerate the possibilities.
223         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
224         the ambiguous options when an ambiguous prefix is given. This was
225         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
226         glibc change was
227         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
228
229 2011-05-25  Eric Blake  <eblake@redhat.com>
230
231         getcwd: work around mingw bug
232         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
233         * doc/posix-functions/getcwd.texi (getcwd): Document it.
234         Reported by Matthias Bolte.
235
236 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
237
238         test-intprops: disable -Wtype-limits diagnostics
239         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
240         diagnostics.  Otherwise, the integer overflow macros generate many
241         diagnostics.  Reported by Jim Meyering in
242         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
243
244         intprops: shorten, to pacify gcc -Woverlength-strings
245         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
246         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
247         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
248         likely to run afoul of C compiler limits for string constant lengths.
249         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
250
251 2011-05-24  Eric Blake  <eblake@redhat.com>
252
253         docs: document recently fixed glibc printf bug
254         * doc/posix-functions/fprintf.texi (fprintf): Document it.
255         * doc/posix-functions/printf.texi (printf): Likewise.
256         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
257         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
258
259         closein-tests: convert to init.sh
260         * modules/closein-tests (Files): Add init.sh
261         * tests/test-closein.sh Use it.
262
263         yesno-tests: convert to init.sh
264         * modules/yesno-tests (Files): Add init.sh.
265         * tests/test-yesno.sh: Use it.
266
267         atexit-tests: ensure reliable exit status
268         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
269         Reported by Bruno Haible.
270
271 2011-05-24  Bruno Haible  <bruno@clisp.org>
272
273         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
274         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
275         gl_PREREQ_STRERROR_R invocations from here...
276         * modules/strerror_r-posix (configure.ac): ... to here.
277
278 2011-05-24  Eric Blake  <eblake@redhat.com>
279
280         strerror_r: fix missing header
281         * lib/strerror_r.c: Avoid compiler warning about snprintf.
282
283         strerror_r: fix AIX test failures
284         * lib/strerror_r.c (strerror_r): Convert silent truncation to
285         ERANGE failure.
286
287         strerror_r: fix Solaris test failures
288         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
289         failures.
290         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
291
292         strerror_r: enforce POSIX recommendations
293         * lib/strerror_r.c (safe_copy): New helper method.
294         (strerror_r): Guarantee a non-empty string.
295         * tests/test-strerror_r.c (main): Enhance tests to incorporate
296         recent POSIX rulings and to match our strerror guarantees.
297         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
298
299 2011-05-24  Jim Meyering  <meyering@redhat.com>
300
301         test-perror2.c: avoid warning about unused variable
302         * tests/test-perror2.c (main): Remove declaration of unused "fp".
303
304 2011-05-24  Eric Blake  <eblake@redhat.com>
305
306         perror: avoid spurious test failure on HP-UX
307         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
308
309         tests: fix logic bug in init.sh
310         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
311         shell.
312
313 2011-05-24  Jim Meyering  <meyering@redhat.com>
314
315         utimensat: do not reference an out-of-scope buffer
316         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
317         declared in an inner scope, yet "times" would be dereferenced outside
318         the scope in which "ts" was valid.
319         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
320         of ts[2] "out/up", so that the use of aliased "times" (via
321         "times = ts;") does not end up referencing an out-of-scope "ts"
322
323         opendir-safer.c: don't clobber errno; don't close negative FD
324         * lib/opendir-safer.c (opendir_safer):
325         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
326         file descriptor, and more importantly, don't clobber the
327         offending errno value with EINVAL.  Before, upon failure
328         of dup_safer, we would pass the negative file descriptor to
329         fdopendir, which would clobber errno.
330
331 2011-05-23  Bruno Haible  <bruno@clisp.org>
332
333         idcache: Fix module description.
334         * modules/idcache (Include): Set to "idcache.h".
335
336 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
337
338         gnulib-tool: fix portability problem with MacOS sed
339         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
340         before the "}".  Problem reported by Leo in
341         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
342         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
343         sed_extract_condition1, sed_extract_condition2.
344
345 2011-05-23  Bruno Haible  <bruno@clisp.org>
346
347         hash: Simplify autoconf macro.
348         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
349
350 2011-05-23  Bruno Haible  <bruno@clisp.org>
351
352         getugroups: Fix module description.
353         * modules/getugroups (Include): Set to "getugroups.h".
354
355 2011-05-23  Bruno Haible  <bruno@clisp.org>
356
357         linkat: Simplify autoconf macro.
358         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
359
360 2011-05-23  Bruno Haible  <bruno@clisp.org>
361             Eric Blake  <eblake@redhat.com>
362
363         linkat, renameat: Update dependencies.
364         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
365         * modules/linkat (Depends-on): Likewise. Remove also readlink,
366         symlinkat.
367
368 2011-05-23  Jim Meyering  <meyering@redhat.com>
369
370         maint.mk: more tight_scope improvements
371         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
372         (_gl_TS_headers): Define only in if-0'd block.
373         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
374         sometimes we must *not* use it.  Adjust uses accordingly.
375         (sc_tight_scope): Use much simpler grep-based test to determine
376         whether we skip this rule.
377
378         maint.mk: generalize/improve the tight-scope rule
379         * top/maint.mk: Emit a warning when the test is skipped.
380         (_gl_TS_dir): Add $(srcdir)/ prefix.
381         (_gl_TS_function_match): Simplify, rather than trying
382         to enumerate common types.  Otherwise, it would fail to match an
383         "extern unsigned char const *" declaration in idutils.
384         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
385         a way to support use of that type of macro.
386         (_gl_TS_var_match): Simplify regexp.
387         (_gl_TS_obj_files): New configurable variable.
388         (_gl_TS_headers): Likewise.
389
390 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
391
392         verify: fix bug when gnulib <assert.h> is also included
393         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
394         is defined, not if _GL_STATIC_ASSERT_H is not defined.
395         Perhaps there's a better way, but this fixes the immediate problem.
396         Problem reported by Bruno Haible in
397         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
398
399 2011-05-22  Bruno Haible  <bruno@clisp.org>
400
401         xgetcwd: Simplify autoconf macro.
402         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
403
404 2011-05-22  Bruno Haible  <bruno@clisp.org>
405
406         New module 'mktime-internal'.
407         * modules/mktime-internal: New file.
408         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
409         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
410         mktime_internal as a C macro if libc has __mktime_internal.
411         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
412         conditions.
413         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
414
415 2011-05-22  Bruno Haible  <bruno@clisp.org>
416
417         timegm: Correct mktime replacement statements.
418         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
419         defining mktime as a C macro. This completes a 2009-07-28 commit.
420
421 2011-05-22  Bruno Haible  <bruno@clisp.org>
422
423         timegm: Simplify autoconf macro.
424         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
425
426 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
427
428         clock-time: change to LGPLv2+.
429         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
430         BSD-like but we have no mark for that; this is good enough for now.
431
432 2011-05-21  Bruno Haible  <bruno@clisp.org>
433
434         strerror_r: Fix comments.
435         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
436
437 2011-05-21  Bruno Haible  <bruno@clisp.org>
438
439         relocatable-prog-wrapper: Fix possible link error.
440         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
441         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
442         (gl_FUNC_SETENV): ... to here.
443         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
444         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
445
446 2011-05-21  Bruno Haible  <bruno@clisp.org>
447
448         relocatable-prog-wrapper: Assume strerror() exists.
449         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
450         m4/strerror.m4.
451         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
452         * lib/relocwrapper.c: Remove mention of strerror module.
453         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
454         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
455         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
456         C macro.
457
458 2011-05-21  Bruno Haible  <bruno@clisp.org>
459
460         select: Simplify replacement idiom.
461         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
462         Win32 platforms.
463         * lib/sys_select.in.h (select): Simplify accordingly.
464         * modules/select (Depends-on): Likewise.
465
466 2011-05-21  Bruno Haible  <bruno@clisp.org>
467
468         mkdir-p: Simplify autoconf macro.
469         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
470         gl_FUNC_LCHOWN.
471
472 2011-05-21  Eric Blake  <eblake@redhat.com>
473
474         strerror_r: avoid clobbering strerror on cygwin
475         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
476         fall back instead to sys_errlist.
477         * modules/strerror (configure.ac): Add witness.
478         * tests/test-strerror_r.c (main): Enhance test.
479         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
480         * tests/test-perror2.c (main): Free memory before exit.
481
482 2011-05-21  Bruno Haible  <bruno@clisp.org>
483
484         mkdtemp: Use gnulib naming conventions.
485         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
486         * modules/mkdtemp (configure.ac): Update.
487
488 2011-05-20  Eric Blake  <eblake@redhat.com>
489
490         strerror_r: avoid corrupting errno on Solaris
491         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
492         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
493
494         strerror_r: avoid compiler warning
495         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
496
497         strerror_r: simplify AIX code
498         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
499
500         test-perror: avoid spurious failure on FreeBSD
501         * modules/perror-tests (Depends-on): Add strerror, now that
502         strerror_r no longer pulls it in.
503
504 2011-05-20  Bruno Haible  <bruno@clisp.org>
505
506         strerror_r-posix: Remove unused dependencies.
507         * modules/strerror_r-posix (Depends-on): Remove strerror.
508         Reported by Eric Blake.
509
510 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
511
512         intprops: remove assumption about A|B representation
513         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
514         is a valid integer if both A and B are.  Although this is true for
515         all known practical hosts, the C standard doesn't guarantee it,
516         and the code need not assume it.  Also, this change may work around
517         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
518         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
519
520 2011-05-20  Eric Blake  <eblake@redhat.com>
521
522         perror: work around FreeBSD bug
523         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
524         is broken.  Move AC_LIBOBJ...
525         * modules/perror (configure.ac): Here.
526         * doc/posix-functions/perror.texi (perror): Document this.
527         * tests/test-perror2.c (main): Enhance test.
528
529         test-perror: check for strerror interactions
530         * tests/macros.h (STREQ): Add macro.
531         * modules/perror-tests (Files): Add second test.
532         * tests/test-perror2.c (main): New file.
533         * doc/posix-functions/perror.texi (perror): Document glibc bug.
534
535         test-perror: rewrite to use init script
536         * modules/perror-tests (Files): Add init.sh.
537         * tests/test-perror.sh: Use temporary directory.
538
539 2011-05-20  Jim Meyering  <meyering@redhat.com>
540
541         maint: replace misused "a" with "an"
542         * doc/intprops.texi: "a integer"
543         * doc/regex.texi: "a explanation"
544         * lib/alignof.h: "a object"
545         * lib/argmatch.h: "a explanation"
546         * lib/argp-help.c: "a option" and "a OPTION_DOC"
547         * lib/stdint.in.h: "a integer"
548         * lib/userspec.c: "a owner"
549         * doc/gnulib.texi: Fix "a idea", and reword.
550
551 2011-05-19  Jim Meyering  <meyering@redhat.com>
552
553         maint: correct misuse of "a" and "an"
554         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
555         * lib/argp-help.c: "an docum...": s/an/a/
556         * lib/argp-parse.c: "An vector": s/An/A/
557         * lib/execute.c: "an native": s/an/a/
558         * lib/spawn-pipe.c: Likewise.
559         * lib/gc.h: "an Gc_rc": s/an/a/
560         * lib/unigbrk.in.h: "an grapheme": s/an/a/
561         * lib/fts.c: "an stat.st_dev": s/an/a/
562
563 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
564
565         intprops-tests: work around HP-UX 11.23 cc bug with constants
566         * tests/test-intprops.c (VERIFY): New macro.
567         (main): Use it, instead of verify, to work around the compiler bug; see
568         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
569
570         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
571         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
572         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
573         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
574         (_GL_REMAINDER_OVERFLOW): Use it.
575
576         intprops-tests: revert unsigned part of previous change
577         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
578         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
579         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
580         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
581
582 2011-05-19  Bruno Haible  <bruno@clisp.org>
583
584         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
585         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
586         strerror_r() returned without filling the buffer.
587         Reported by Eric Blake.
588
589 2011-05-19  Eric Blake  <eblake@redhat.com>
590
591         strerror_r: guarantee unchanged errno
592         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
593         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
594         failure.
595         * tests/test-strerror_r.c (main): Enhance test.
596
597 2011-05-19  Bruno Haible  <bruno@clisp.org>
598
599         strerror_r: Reorder #if blocks.
600         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
601         for consistency with the previous commit.
602
603 2011-05-19  Bruno Haible  <bruno@clisp.org>
604
605         perror: Avoid clobbering the strerror buffer when possible.
606         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
607         * lib/strerror.c: Include it.
608         * modules/strerror (Files): Add lib/strerror-impl.h.
609         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
610         (my_strerror): New function, defined through lib/strerror-impl.h.
611         (perror): Use it instead of strerror.
612         * modules/perror (Files): Add lib/strerror-impl.h.
613         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
614
615 2011-05-19  Eric Blake  <eblake@redhat.com>
616
617         strerror_r: fix on newer cygwin
618         * lib/strerror_r.c (strerror_r): Cygwin now has
619         __xpg_strerror_r, use it.
620
621 2011-05-19  Bruno Haible  <bruno@clisp.org>
622
623         strerror_r: Avoid clobbering the strerror buffer when possible.
624         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
625         (sys_nerr, sys_errlist): New declarations.
626         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
627         HP-UX, native Win32, IRIX, and 32-bit Solaris.
628         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
629
630 2011-05-19  Bruno Haible  <bruno@clisp.org>
631
632         strerror_r: Fix test failure on mingw.
633         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
634         EXTEND_STRERROR_R.
635         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
636         macros from errno.in.h instead.
637
638 2011-05-19  Eric Blake  <eblake@redhat.com>
639
640         strerror: relax test for Solaris
641         * tests/test-strerror.c (main): Permit Solaris behavior.
642         * tests/test-strerror_r.c (main): Likewise.
643
644         strerror: enforce POSIX ruling on strerror(0)
645         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
646         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
647         * lib/strerror_r.c (rpl_strerror_r): Work around it.
648         * doc/posix-functions/strerror.texi (strerror): Document it.
649         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
650         * tests/test-strerror.c (main): Strengthen test.
651         * tests/test-strerror_r.c (main): Likewise.
652
653 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
654
655         intprop-tests: port to older and more-pedantic compilers
656         * modules/intprops-tests (Files): Add tests/macros.h.
657         * tests/test-intprops.c: Include macros.h.
658         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
659         it's no longer documented to expand to an integer constant expression.
660         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
661         argument is floating point, as it's no longer documented to expand
662         to an integer constant expression in that case.
663         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
664         compiler bugs reported by Bruno Haible.  See
665         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
666         (U0, U1): New constants, to work around the same bugs.  Also,
667         in tests, use e.g., "(unsigned int) 39" rather than "39u".
668
669         intprops: work around C compiler bugs
670         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
671         bug in Sun C 5.11 2010/08/13 and other compilers; see
672         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
673
674         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
675         * doc/intprops.texi (Integer Type Determination): Fix
676         documentation for TYPE_IS_INTEGER: it returns an constant
677         expression, not an integer constant expression.  Fix doc for
678         TYPE_SIGNED: it returns an integer constant expression only if its
679         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
680         hardly worth documented that way....)
681
682 2011-05-18  Bruno Haible  <bruno@clisp.org>
683
684         strerror_r: Avoid clobbering the strerror buffer when possible.
685         * lib/strerror_r.c (strerror_r): Merge the three implementations.
686         Handle gnulib defined errno values here. When strerror() returns NULL
687         or an empty string, return EINVAL.
688         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
689         gnulib defined errno values here.
690         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
691
692 2011-05-18  Eric Blake  <eblake@redhat.com>
693
694         fnmatch: avoid compiler warning
695         * lib/fnmatch_loop.c (FCT): Use correct type.
696         Reported by Matthias Bolte.
697
698 2011-05-13  Jim Meyering  <meyering@redhat.com>
699
700         maint.mk: three new prohibit_<HDR>_without_use rules
701         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
702         (sc_prohibit_stdio-safer_without_use): Likewise.
703         (sc_prohibit_xfreopen_without_use): Likewise.
704
705 2011-05-17  Jim Meyering  <meyering@redhat.com>
706
707         announce-gen: fail if the NEWS delta is empty
708         If there's nothing noteworthy in NEWS, then either you forgot
709         or you shouldn't be releasing.
710         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
711
712 2011-05-17  Pádraig Brady <P@draigBrady.com>
713
714         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
715         reserved symbols starting with double underscore from the check.
716
717 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
718
719         intprops: add doc
720         * doc/intprops.texi: New file, documenting intprops.
721         * doc/gnulib.texi (Particular Modules): Include it.
722
723         verify: add doc to gnulib manual and fix example
724         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
725         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
726         (Compile-time Assertions): Fix example so it can't overflow.
727
728 2011-05-17  Jim Meyering  <meyering@redhat.com>
729
730         warnings.m4: don't usurp save_CPPFLAGS variable name
731         * m4/warnings.m4: Prefix local temporary variable name with gl_.
732
733         doc: fix typo
734         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
735
736 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
737             Bruno Haible  <bruno@clisp.org>
738
739         doc: Tweak recent change.
740         * README (Portability guidelines): Tweak new text.
741         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
742         Interix 6.1.
743
744 2011-05-16  Eric Blake  <eblake@redhat.com>
745
746         inttypes: avoid autoconf warning
747         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
748         * m4/stdint.m4 (gl_STDINT_H): Likewise.
749
750 2011-05-16  Sam Steingold <sds@gnu.org>
751         and Eric Blake  <eblake@redhat.com>
752
753         vc-list-files: accept multiple directory operands
754         * build-aux/vc-list-files: Iterate over all remaining operands.
755
756 2011-05-16  Bruno Haible  <bruno@clisp.org>
757
758         Fix confusion regarding deprecated modules.
759         * modules/calloc (Status, Notice): Mark module as deprecated, not
760         obsolete.
761         * modules/fnmatch-posix (Status, Notice): Likewise.
762         * modules/getdate (Status, Notice): Likewise.
763         * modules/getopt (Status, Notice): Likewise.
764         * modules/malloc (Status, Notice): Likewise.
765         * modules/pipe (Status, Notice): Likewise.
766         * modules/realloc (Status, Notice): Likewise.
767         * modules/rename-dest-slash (Status, Notice): Likewise.
768         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
769         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
770         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
771         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
772         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
773
774 2011-05-16  Bruno Haible  <bruno@clisp.org>
775
776         doc: List the target platforms.
777         * doc/gnulib-intro.texi (Target Platforms): New section.
778         * doc/gnulib.texi (Introduction): Update menu.
779         * README (Portability guidelines): Refer to the new section. Update
780         statement about oldest supported environment. Remove rationale why
781         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
782         unportable C89 function.
783         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
784         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
785
786 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
787
788         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
789
790 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
791
792         intprops-tests: new module
793         * modules/intprops-tests, tests/test-intprops.c: New files.
794
795         intprops: add safe, portable integer overflow checking
796         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
797         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
798         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
799         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
800         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
801         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
802         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
803         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
804         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
805         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
806         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
807
808 2011-05-12  James Youngman  <jay@gnu.org>
809
810         Add a test for glibc's Bugzilla bug #12378.
811         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
812         doesn't allow the literal matching of a lone "[" (which is
813         required by POSIX).
814         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
815
816 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
817
818         Sync glibc change fixing Bugzilla bug #12378.
819         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
820         beginning and fall back to matching as normal character if the
821         string ends before the matching ']' is found.  This is what POSIX
822         requires.
823
824 2011-05-13  Eric Blake  <eblake@redhat.com>
825
826         getcwd-lgpl: relax test for FreeBSD
827         * doc/posix-functions/getcwd.texi (getcwd): Document portability
828         issue.
829         * tests/test-getcwd-lgpl.c (main): Relax test.
830         Reported by Matthias Bolte.
831
832 2011-05-11  Eric Blake  <eblake@redhat.com>
833
834         test-fflush: silence compiler warning
835         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
836
837 2011-05-11  Bruno Haible  <bruno@clisp.org>
838
839         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
840         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
841         * modules/canonicalize (Depends-on): Add 'nocrash'.
842         * modules/canonicalize-lgpl (Depends-on): Likewise.
843         * doc/posix-functions/realpath.texi: Update platforms list.
844         Reported by Ryan Schmidt <ryandesign@macports.org>.
845
846 2011-05-11  Bruno Haible  <bruno@clisp.org>
847
848         group-member: Declare function in <unistd.h>.
849         * lib/unistd.in.h (group_member): New declaration.
850         * lib/group-member.h: Remove file.
851         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
852         * tests/test-unistd-c++.cc: Check signature of group_member.
853         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
854         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
855         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
856         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
857         HAVE_GROUP_MEMBER.
858         * modules/group-member (Files): Remove lib/group-member.h.
859         (Depends-on): Add unistd. Specify conditions.
860         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
861         (Include): Change to <unistd.h>.
862         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
863         HAVE_GROUP_MEMBER.
864         * NEWS: Mention the change.
865         * lib/euidaccess.c: Don't include group-member.h.
866
867 2011-05-11  Bruno Haible  <bruno@clisp.org>
868
869         group-member: Document module.
870         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
871         module.
872
873 2011-05-11  Bruno Haible  <bruno@clisp.org>
874
875         fclose: Fix mistake earlier today.
876         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
877
878 2011-05-11  Eric Blake  <eblake@redhat.com>
879
880         fclose: preserve fflush errors
881         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
882         Reported by Jim Meyering.
883
884         bootstrap: support a prereq of 'rpcgen -' on RHEL5
885         * build-aux/bootstrap (check_versions): When no specific version
886         is required, merely check that the app produces an exit status
887         that indicates its existence.
888
889         maint.mk: drop redundant check
890         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
891         the same but better.
892
893 2011-05-11  Bruno Haible  <bruno@clisp.org>
894
895         fclose: Fix possible link error.
896         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
897         unregister_shadow_fd. Improve comments.
898         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
899         Eric Blake.
900
901 2011-05-11  Jim Meyering  <meyering@redhat.com>
902
903         maint.mk: improve "can not" detection and generalize rule name
904         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
905         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
906         Use the same technique as in sc_prohibit_doubled_word, so that
907         we recognize "can not" also when the words are separated by a newline.
908         Suggested by Eric Blake.
909         (perl_filename_lineno_text_): Define.  Factored out of...
910         (prohibit_doubled_word_): ...here.  Use the new definition.
911         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
912         (prohibit_undesirable_word_seq_RE_): New overridable variable.
913         (ignore_undesirable_word_sequence_RE_): New overridable variable.
914
915 2011-05-10  Eric Blake  <eblake@redhat.com>
916
917         fclose: avoid double close race when possible
918         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
919         all but WINDOWS_SOCKETS.
920
921 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
922
923         openat: correct new comment
924         * lib/openat-proc.c (openat_proc_name): Correct the comment.
925
926 2011-05-10  Jim Meyering  <meyering@redhat.com>
927
928         openat: add comments
929         * lib/openat-proc.c (openat_proc_name): Add comments,
930         mostly from Eric Blake.
931
932 2011-05-09  Eric Blake  <eblake@redhat.com>
933
934         openat: reduce syscalls in first probe of /proc
935         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
936         be a directory.  Simplify the probe for .. bugs.
937         * modules/openat (Depends-on): Drop same-inode.
938         Reported by Bastien ROUCARIES.
939
940 2011-05-09  Jim Meyering  <meyering@redhat.com>
941
942         maint.mk: change semantics/name of tight_scope variables
943         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
944         Rename variables to align with semantics that make them more useful.
945
946         maint.mk: tweak new rule's name not to impinge
947         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
948         (sc_tight_scope): Use new rule name rather than $@-0.
949
950         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
951         * top/maint.mk (sc_tight_scope): New rule.
952         (sc_tight_scope-0): New rule, ifdef'd out.
953         (_gl_TS_dir): Default.
954         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
955         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
956
957 2011-05-09  Simon Josefsson  <simon@josefsson.org>
958
959         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
960         Haible <bruno@clisp.org>.
961
962 2011-05-08  Bruno Haible  <bruno@clisp.org>
963
964         Comments.
965         * m4/isnanf.m4: Add comment.
966         * m4/isnanl.m4: Likewise.
967
968 2011-05-08  Bruno Haible  <bruno@clisp.org>
969
970         glob: Remove obsolete macro.
971         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
972
973 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
974
975         intprops: Sun C 5.11 supports __typeof__
976         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
977         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
978         which is new.
979         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
980
981         intprops: switch to usual gnulib indenting and naming
982         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
983         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
984
985         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
986
987 2011-05-08  Jim Meyering  <meyering@redhat.com>
988
989         maint.mk: suppress "Entering/Leaving directory" diag in announcement
990         * top/maint.mk (release-prep): Use make's --no-print-directory
991         option when generating the announcement.  This eliminates the
992         pesky "make[2]: Entering/Leaving directory" diagnostics in the
993         generated announcement template.
994
995 2011-05-08  Bruno Haible  <bruno@clisp.org>
996
997         tzset: Fix gettimeofday wrapper on Solaris 2.6.
998         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
999         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
1000
1001 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
1002
1003         ignore-value, verify: Omit include files from lib_SOURCES.
1004         * modules/ignore-value, modules/verify (Makefile.am):
1005         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
1006         that leads Automake to duplicate use of am__objects_... variables
1007         in Makefile.in.  See
1008         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
1009
1010 2011-05-07  Bruno Haible  <bruno@clisp.org>
1011
1012         fclose: Simplify autoconf macro.
1013         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
1014         defined.
1015
1016 2011-05-07  Bruno Haible  <bruno@clisp.org>
1017
1018         canonicalize-lgpl: Fix autoconf macro ordering bug.
1019         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
1020         gl_STDLIB_H_DEFAULTS.
1021
1022 2011-05-06  Eric Blake  <eblake@redhat.com>
1023
1024         maintainer-makefile: make sc_po_check easier to tune
1025         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
1026         to probe for strings, such as an alternate location for gnulib.
1027
1028         fclose: guarantee behavior on seekable stdin
1029         * modules/fclose (Depends-on): Add fflush.
1030         * doc/posix-functions/fclose.texi (fclose): Document this.
1031         * tests/test-fclose.c (main): Make test for this unconditional.
1032
1033 2011-05-06  Bruno Haible  <bruno@clisp.org>
1034
1035         fflush, fpurge: Relicense under LGPLv2+.
1036         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
1037         * modules/fpurge (License): Likewise.
1038         With permission from Eric Blake and Jim Meyering.
1039         Suggested by Eric Blake.
1040
1041 2011-05-06  Karl Berry  <karl@gnu.org>
1042
1043         * MODULES.html.sh (func_all_modules): remove exit.
1044
1045 2011-05-06  Jim Meyering  <meyering@redhat.com>
1046
1047         maint.mk: use info-gnu@ as the default only for a stable release
1048         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
1049         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
1050         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
1051         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
1052
1053 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
1054
1055         assert-h: new module, which supports C1X-style static_assert
1056         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
1057         * lib/verify.h: Revamp so that this can be copied into assert.h,
1058         while retaining the ability to use it standalone as before.
1059         Rename private identifiers so as not to encroach on the
1060         standard C namespace, since this is now used by assert.h.
1061         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
1062         the old verify_true.
1063         (_GL_VERIFY_TRUE): New macro, with much of the contents of
1064         the old verify_true.  Use _GL_VERIFY_TYPE.
1065         (_GL_VERIFY): New macro, with much of the contents of the old verify.
1066         (static_assert): New macro, if _GL_STATIC_ASSERT_H
1067         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
1068         defined when this file is copied into the replacement assert.h.
1069         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
1070         and _Static_assert is not built in.
1071         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
1072         defined, and use the new macros mentioned above.
1073         * doc/posix-headers/assert.texi: Document this.
1074
1075 2011-05-05  Bruno Haible  <bruno@clisp.org>
1076
1077         fclose, fflush: Respect rules for use of AC_LIBOBJ.
1078         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
1079         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
1080         gl_REPLACE_FCLOSE here.
1081         * modules/fflush (Depends-on): Remove fclose.
1082         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
1083         combination with module 'fclose'.
1084
1085 2011-05-05  Bruno Haible  <bruno@clisp.org>
1086
1087         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
1088         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
1089         gl_FUNC_FFLUSH.
1090         (gl_FUNC_FFLUSH): Use it.
1091         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
1092         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
1093         gl_REPLACE_FSEEKO here.
1094
1095 2011-05-05  Bruno Haible  <bruno@clisp.org>
1096
1097         tzset: Relicense under LGPL.
1098         * modules/tzset (License): Change to LGPL.
1099         No agreement needed; it's a no-op.
1100
1101         strtoimax, strtoumax: Relicense under LGPL.
1102         * modules/strtoimax (License): Change to LGPL.
1103         * modules/strtoumax (License): Likewise.
1104         With permission from Jim Meyering, Paul Eggert:
1105         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
1106         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
1107
1108         getgroups: Relicense under LGPL.
1109         * modules/getgroups (License): Change to LGPL.
1110         With permission from Jim Meyering, Paul Eggert, Eric Blake:
1111         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
1112         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
1113         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
1114
1115         nanosleep: Relicense under LGPL.
1116         * modules/nanosleep (License): Change to LGPL.
1117         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
1118         Haible:
1119         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
1120         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
1121         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
1122         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
1123
1124         futimens: Relicense under LGPL.
1125         * modules/futimens (License): Change to LGPL.
1126         With permission from Eric Blake:
1127         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
1128
1129         fflush: Relicense under LGPL.
1130         * modules/fflush (License): Change to LGPL.
1131         With permission from Eric Blake, Bruno Haible, Jim Meyering:
1132         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
1133         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
1134         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
1135
1136         tmpfile: Relicense under LGPL.
1137         * modules/tmpfile (License): Change to LGPL.
1138         With permission from Ben Pfaff:
1139         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
1140
1141         isfinite: Relicense under LGPL.
1142         * modules/isfinite (License): Change to LGPL.
1143         With permission from Ben Pfaff, Bruno Haible:
1144         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
1145         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
1146
1147         acosl..tanl: Relicense under LGPL.
1148         * modules/acosl (License): Change to LGPL.
1149         * modules/asinl (License): Likewise.
1150         * modules/atanl (License): Likewise.
1151         * modules/cosl (License): Likewise.
1152         * modules/expl (License): Likewise.
1153         * modules/logl (License): Likewise.
1154         * modules/sinl (License): Likewise.
1155         * modules/sqrtl (License): Likewise.
1156         * modules/tanl (License): Likewise.
1157         Source code originally from glibc and Paolo Bonzini. Agreements:
1158         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
1159         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
1160
1161 2011-05-05  Bruno Haible  <bruno@clisp.org>
1162
1163         signal: Define sighandler_t.
1164         * lib/signal.in.h (sighandler_t): New type.
1165         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
1166         whether sighandler_t is defined.
1167         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
1168         * modules/signal (Depends-on): Add extensions.
1169         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
1170         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
1171         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
1172
1173 2011-05-05  Eric Blake  <eblake@redhat.com>
1174
1175         maint: remove useless REPLACE_*_H macros
1176         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
1177         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
1178         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
1179         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
1180         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
1181         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
1182         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
1183         * m4/btowc.m4: Update callers.
1184         * m4/dirfd.m4: Likewise.
1185         * m4/duplocale.m4: Likewise.
1186         * m4/fchdir.m4: Likewise.
1187         * m4/fdopendir.m4: Likewise.
1188         * m4/inet_ntop.m4: Likewise.
1189         * m4/inet_pton.m4: Likewise.
1190         * m4/ioctl.m4: Likewise.
1191         * m4/mbrlen.m4: Likewise.
1192         * m4/mbrtowc.m4: Likewise.
1193         * m4/mbsinit.m4: Likewise.
1194         * m4/mbsnrtowcs.m4: Likewise.
1195         * m4/mbsrtowcs.m4: Likewise.
1196         * m4/poll.m4: Likewise.
1197         * m4/setlocale.m4: Likewise.
1198         * m4/wcrtomb.m4: Likewise.
1199         * m4/wcsnrtombs.m4: Likewise.
1200         * m4/wcsrtombs.m4: Likewise.
1201         * m4/wctob.m4: Likewise.
1202         * m4/wcwidth.m4: Likewise.
1203         * modules/posix_spawn: Likewise.
1204         * modules/posix_spawn_file_actions_addclose: Likewise.
1205         * modules/posix_spawn_file_actions_adddup2: Likewise.
1206         * modules/posix_spawn_file_actions_addopen: Likewise.
1207         * modules/posix_spawn_file_actions_destroy: Likewise.
1208         * modules/posix_spawn_file_actions_init: Likewise.
1209         * modules/posix_spawnattr_destroy: Likewise.
1210         * modules/posix_spawnattr_getflags: Likewise.
1211         * modules/posix_spawnattr_getpgroup: Likewise.
1212         * modules/posix_spawnattr_getschedparam: Likewise.
1213         * modules/posix_spawnattr_getschedpolicy: Likewise.
1214         * modules/posix_spawnattr_getsigdefault: Likewise.
1215         * modules/posix_spawnattr_getsigmask: Likewise.
1216         * modules/posix_spawnattr_init: Likewise.
1217         * modules/posix_spawnattr_setflags: Likewise.
1218         * modules/posix_spawnattr_setpgroup: Likewise.
1219         * modules/posix_spawnattr_setschedparam: Likewise.
1220         * modules/posix_spawnattr_setschedpolicy: Likewise.
1221         * modules/posix_spawnattr_setsigdefault: Likewise.
1222         * modules/posix_spawnattr_setsigmask: Likewise.
1223         * modules/posix_spawnp: Likewise.
1224
1225 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
1226
1227         Add option to do-release-commit-and-tag to specify branch.
1228         * build-aux/do-release-commit-and-tag: Add --branch.
1229
1230 2011-05-03  Bruno Haible  <bruno@clisp.org>
1231
1232         Avoid unnecessary compilation units, through conditional dependencies.
1233         * modules/accept (Depends-on): Add conditions to the dependencies.
1234         * modules/acosl (Depends-on): Likewise.
1235         * modules/argz (Depends-on): Likewise.
1236         * modules/asinl (Depends-on): Likewise.
1237         * modules/atanl (Depends-on): Likewise.
1238         * modules/atoll (Depends-on): Likewise.
1239         * modules/bind (Depends-on): Likewise.
1240         * modules/btowc (Depends-on): Likewise.
1241         * modules/canonicalize-lgpl (Depends-on): Likewise.
1242         * modules/ceil (Depends-on): Likewise.
1243         * modules/ceilf (Depends-on): Likewise.
1244         * modules/ceill (Depends-on): Likewise.
1245         * modules/chdir-long (Depends-on): Likewise.
1246         * modules/chown (Depends-on): Likewise.
1247         * modules/close (Depends-on): Likewise.
1248         * modules/connect (Depends-on): Likewise.
1249         * modules/cosl (Depends-on): Likewise.
1250         * modules/dirfd (Depends-on): Likewise.
1251         * modules/dprintf (Depends-on): Likewise.
1252         * modules/dprintf-posix (Depends-on): Likewise.
1253         * modules/error (Depends-on): Likewise.
1254         * modules/euidaccess (Depends-on): Likewise.
1255         * modules/expl (Depends-on): Likewise.
1256         * modules/faccessat (Depends-on): Likewise.
1257         * modules/fchdir (Depends-on): Likewise.
1258         * modules/fclose (Depends-on): Likewise.
1259         * modules/fcntl (Depends-on): Likewise.
1260         * modules/fdopendir (Depends-on): Likewise.
1261         * modules/fflush (Depends-on): Likewise.
1262         * modules/floor (Depends-on): Likewise.
1263         * modules/floorf (Depends-on): Likewise.
1264         * modules/floorl (Depends-on): Likewise.
1265         * modules/fnmatch (Depends-on): Likewise.
1266         * modules/fopen (Depends-on): Likewise.
1267         * modules/fprintf-posix (Depends-on): Likewise.
1268         * modules/frexp (Depends-on): Likewise.
1269         * modules/frexp-nolibm (Depends-on): Likewise.
1270         * modules/frexpl (Depends-on): Likewise.
1271         * modules/frexpl-nolibm (Depends-on): Likewise.
1272         * modules/fseek (Depends-on): Likewise.
1273         * modules/fsusage (Depends-on): Likewise.
1274         * modules/ftell (Depends-on): Likewise.
1275         * modules/ftello (Depends-on): Likewise.
1276         * modules/futimens (Depends-on): Likewise.
1277         * modules/getcwd (Depends-on): Likewise.
1278         * modules/getcwd-lgpl (Depends-on): Likewise.
1279         * modules/getdelim (Depends-on): Likewise.
1280         * modules/getdomainname (Depends-on): Likewise.
1281         * modules/getgroups (Depends-on): Likewise.
1282         * modules/gethostname (Depends-on): Likewise.
1283         * modules/getline (Depends-on): Likewise.
1284         * modules/getlogin_r (Depends-on): Likewise.
1285         * modules/getopt-posix (Depends-on): Likewise.
1286         * modules/getpeername (Depends-on): Likewise.
1287         * modules/getsockname (Depends-on): Likewise.
1288         * modules/getsockopt (Depends-on): Likewise.
1289         * modules/getsubopt (Depends-on): Likewise.
1290         * modules/getusershell (Depends-on): Likewise.
1291         * modules/glob (Depends-on): Likewise.
1292         * modules/grantpt (Depends-on): Likewise.
1293         * modules/iconv_open (Depends-on): Likewise.
1294         * modules/iconv_open-utf (Depends-on): Likewise.
1295         * modules/inet_ntop (Depends-on): Likewise.
1296         * modules/inet_pton (Depends-on): Likewise.
1297         * modules/ioctl (Depends-on): Likewise.
1298         * modules/isapipe (Depends-on): Likewise.
1299         * modules/isfinite (Depends-on): Likewise.
1300         * modules/isinf (Depends-on): Likewise.
1301         * modules/lchown (Depends-on): Likewise.
1302         * modules/ldexpl (Depends-on): Likewise.
1303         * modules/link (Depends-on): Likewise.
1304         * modules/linkat (Depends-on): Likewise.
1305         * modules/listen (Depends-on): Likewise.
1306         * modules/logl (Depends-on): Likewise.
1307         * modules/lstat (Depends-on): Likewise.
1308         * modules/mbrlen (Depends-on): Likewise.
1309         * modules/mbrtowc (Depends-on): Likewise.
1310         * modules/mbsinit (Depends-on): Likewise.
1311         * modules/mbsnrtowcs (Depends-on): Likewise.
1312         * modules/mbsrtowcs (Depends-on): Likewise.
1313         * modules/mbtowc (Depends-on): Likewise.
1314         * modules/memcmp (Depends-on): Likewise.
1315         * modules/mkdir (Depends-on): Likewise.
1316         * modules/mkdtemp (Depends-on): Likewise.
1317         * modules/mkfifo (Depends-on): Likewise.
1318         * modules/mkfifoat (Depends-on): Likewise.
1319         * modules/mknod (Depends-on): Likewise.
1320         * modules/mkostemp (Depends-on): Likewise.
1321         * modules/mkostemps (Depends-on): Likewise.
1322         * modules/mkstemp (Depends-on): Likewise.
1323         * modules/mkstemps (Depends-on): Likewise.
1324         * modules/mktime (Depends-on): Likewise.
1325         * modules/nanosleep (Depends-on): Likewise.
1326         * modules/open (Depends-on): Likewise.
1327         * modules/openat (Depends-on): Likewise.
1328         * modules/perror (Depends-on): Likewise.
1329         * modules/poll (Depends-on): Likewise.
1330         * modules/popen (Depends-on): Likewise.
1331         * modules/posix_spawn (Depends-on): Likewise.
1332         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
1333         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
1334         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
1335         * modules/posix_spawnp (Depends-on): Likewise.
1336         * modules/pread (Depends-on): Likewise.
1337         * modules/printf-posix (Depends-on): Likewise.
1338         * modules/ptsname (Depends-on): Likewise.
1339         * modules/putenv (Depends-on): Likewise.
1340         * modules/pwrite (Depends-on): Likewise.
1341         * modules/readline (Depends-on): Likewise.
1342         * modules/readlink (Depends-on): Likewise.
1343         * modules/readlinkat (Depends-on): Likewise.
1344         * modules/recv (Depends-on): Likewise.
1345         * modules/recvfrom (Depends-on): Likewise.
1346         * modules/regex (Depends-on): Likewise.
1347         * modules/remove (Depends-on): Likewise.
1348         * modules/rename (Depends-on): Likewise.
1349         * modules/renameat (Depends-on): Likewise.
1350         * modules/rmdir (Depends-on): Likewise.
1351         * modules/round (Depends-on): Likewise.
1352         * modules/roundf (Depends-on): Likewise.
1353         * modules/roundl (Depends-on): Likewise.
1354         * modules/rpmatch (Depends-on): Likewise.
1355         * modules/select (Depends-on): Likewise.
1356         * modules/send (Depends-on): Likewise.
1357         * modules/sendto (Depends-on): Likewise.
1358         * modules/setenv (Depends-on): Likewise.
1359         * modules/setlocale (Depends-on): Likewise.
1360         * modules/setsockopt (Depends-on): Likewise.
1361         * modules/shutdown (Depends-on): Likewise.
1362         * modules/sigaction (Depends-on): Likewise.
1363         * modules/signbit (Depends-on): Likewise.
1364         * modules/sigprocmask (Depends-on): Likewise.
1365         * modules/sinl (Depends-on): Likewise.
1366         * modules/sleep (Depends-on): Likewise.
1367         * modules/snprintf (Depends-on): Likewise.
1368         * modules/snprintf-posix (Depends-on): Likewise.
1369         * modules/socket (Depends-on): Likewise.
1370         * modules/sprintf-posix (Depends-on): Likewise.
1371         * modules/sqrtl (Depends-on): Likewise.
1372         * modules/stat (Depends-on): Likewise.
1373         * modules/strchrnul (Depends-on): Likewise.
1374         * modules/strdup-posix (Depends-on): Likewise.
1375         * modules/strerror (Depends-on): Likewise.
1376         * modules/strerror_r-posix (Depends-on): Likewise.
1377         * modules/strndup (Depends-on): Likewise.
1378         * modules/strnlen (Depends-on): Likewise.
1379         * modules/strptime (Depends-on): Likewise.
1380         * modules/strsep (Depends-on): Likewise.
1381         * modules/strsignal (Depends-on): Likewise.
1382         * modules/strstr-simple (Depends-on): Likewise.
1383         * modules/strtod (Depends-on): Likewise.
1384         * modules/strtoimax (Depends-on): Likewise.
1385         * modules/strtok_r (Depends-on): Likewise.
1386         * modules/strtoumax (Depends-on): Likewise.
1387         * modules/symlink (Depends-on): Likewise.
1388         * modules/symlinkat (Depends-on): Likewise.
1389         * modules/tanl (Depends-on): Likewise.
1390         * modules/tcgetsid (Depends-on): Likewise.
1391         * modules/tmpfile (Depends-on): Likewise.
1392         * modules/trunc (Depends-on): Likewise.
1393         * modules/truncf (Depends-on): Likewise.
1394         * modules/truncl (Depends-on): Likewise.
1395         * modules/uname (Depends-on): Likewise.
1396         * modules/unlink (Depends-on): Likewise.
1397         * modules/unlockpt (Depends-on): Likewise.
1398         * modules/unsetenv (Depends-on): Likewise.
1399         * modules/usleep (Depends-on): Likewise.
1400         * modules/utimensat (Depends-on): Likewise.
1401         * modules/vasprintf (Depends-on): Likewise.
1402         * modules/vdprintf (Depends-on): Likewise.
1403         * modules/vdprintf-posix (Depends-on): Likewise.
1404         * modules/vfprintf-posix (Depends-on): Likewise.
1405         * modules/vprintf-posix (Depends-on): Likewise.
1406         * modules/vsnprintf (Depends-on): Likewise.
1407         * modules/vsnprintf-posix (Depends-on): Likewise.
1408         * modules/vsprintf-posix (Depends-on): Likewise.
1409         * modules/wcrtomb (Depends-on): Likewise.
1410         * modules/wcscasecmp (Depends-on): Likewise.
1411         * modules/wcscspn (Depends-on): Likewise.
1412         * modules/wcsdup (Depends-on): Likewise.
1413         * modules/wcsncasecmp (Depends-on): Likewise.
1414         * modules/wcsnrtombs (Depends-on): Likewise.
1415         * modules/wcspbrk (Depends-on): Likewise.
1416         * modules/wcsrtombs (Depends-on): Likewise.
1417         * modules/wcsspn (Depends-on): Likewise.
1418         * modules/wcsstr (Depends-on): Likewise.
1419         * modules/wcstok (Depends-on): Likewise.
1420         * modules/wcswidth (Depends-on): Likewise.
1421         * modules/wctob (Depends-on): Likewise.
1422         * modules/wctomb (Depends-on): Likewise.
1423         * modules/wctype (Depends-on): Likewise.
1424         * modules/wcwidth (Depends-on): Likewise.
1425         * modules/write (Depends-on): Likewise.
1426
1427 2011-05-03  Bruno Haible  <bruno@clisp.org>
1428
1429         Support for conditional dependencies.
1430         * doc/gnulib.texi (Module description): Document the syntax of
1431         conditional dependencies.
1432         * gnulib-tool: New option --conditional-dependencies.
1433         (func_usage): Document it.
1434         (cond_dependencies): New variable.
1435         (func_get_automake_snippet_conditional,
1436         func_get_automake_snippet_unconditional): New functions, extracted from
1437         func_get_automake_snippet.
1438         (func_get_automake_snippet): Use them.
1439         (sed_first_32_chars): New variable.
1440         (func_module_shellfunc_name): New function.
1441         (func_module_shellvar_name): New function.
1442         (func_module_conditional_name): New function.
1443         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
1444         func_cond_module_condition): New functions.
1445         (func_modules_transitive_closure): Add support for conditional
1446         dependencies.
1447         (func_emit_lib_Makefile_am): For a conditional module, enclose the
1448         conditional automake snippet in an automake conditional.
1449         (func_emit_autoconf_snippets): Emit shell functions that contain the
1450         code for conditional modules.
1451         (func_import, func_create_testdir): Update specification.
1452
1453 2011-05-03  Eric Blake  <eblake@redhat.com>
1454
1455         test-getaddrinfo: report error information
1456         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
1457
1458 2011-05-03  Jim Meyering  <meyering@redhat.com>
1459
1460         bootstrap: avoid build failure when $GZIP is set
1461         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
1462         program name.  If defined at all, it is supposed to list gzip options.
1463         Reported by Alan Curry in http://debbugs.gnu.org/8609
1464
1465 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
1466
1467         readme-release: new module with release instructions
1468         * modules/readme-release: New module.
1469         * top/README-release: New file, from coreutils, grep, diffutils.
1470         * MODULES.html.sh (Support for maintaining and releasing): Add it.
1471
1472 2011-05-02  Eric Blake  <eblake@redhat.com>
1473
1474         fflush: also replace fclose when fixing fflush
1475         * modules/fflush (Depends-on): Add fclose.
1476         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
1477         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
1478         memstreams with no backing fd.
1479         * doc/posix-functions/fclose.texi (fclose): Document the use of
1480         fflush module to fix the bug.
1481         * tests/test-fclose.c (main): Relax test when fclose is used in
1482         isolation.
1483
1484         fclose: add some tests
1485         * modules/fclose-tests: New test module.
1486         * tests/test-fclose.c: New file.
1487         * doc/posix-functions/fclose.texi (fclose): Document the bug.
1488
1489         fclose: reduced dependencies
1490         * modules/fclose (Depends-on): Switch from fflush/fseeko to
1491         simpler lseek.
1492         * lib/fclose.c (rpl_fclose): Likewise.
1493         Reported by Simon Josefsson.
1494
1495         exit: drop remaining clients
1496         * modules/argmatch (Depends-on): Replace exit with stdlib.
1497         * modules/copy-file (Depends-on): Likewise.
1498         * modules/execute (Depends-on): Likewise.
1499         * modules/exitfail (Depends-on): Likewise.
1500         * modules/obstack (Depends-on): Likewise.
1501         * modules/pagealign_alloc (Depends-on): Likewise.
1502         * modules/pipe-filter-gi (Depends-on): Likewise.
1503         * modules/pipe-filter-ii (Depends-on): Likewise.
1504         * modules/savewd (Depends-on): Likewise.
1505         * modules/spawn-pipe (Depends-on): Likewise.
1506         * modules/wait-process (Depends-on): Likewise.
1507         * modules/xsetenv (Depends-on): Likewise.
1508         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
1509         * modules/git-merge-changelog (Depends-on): Likewise.
1510         * modules/long-options (Depends-on): Likewise.
1511         * modules/pt_chown (Depends-on): Likewise.
1512         * modules/sysexits (Depends-on): Likewise.
1513
1514         freading: relax license from LGPLv3+ to LGPLv2+
1515         * modules/freading (License): Relax LGPL version.
1516
1517 2011-05-02  Bruno Haible  <bruno@clisp.org>
1518
1519         fchdir: Remove unused dependencies.
1520         * modules/fchdir (Depends-on): Remove include_next.
1521
1522 2011-05-02  Bruno Haible  <bruno@clisp.org>
1523
1524         gnulib-tool: Refactor.
1525         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
1526         from func_emit_autoconf_snippets.
1527         (func_emit_autoconf_snippets): Use it.
1528
1529 2011-05-02  Simon Josefsson  <simon@josefsson.org>
1530
1531         * NEWS: Document removal of 'exit'.
1532         * modules/exit: Remove file.
1533
1534 2011-05-01  Bruno Haible  <bruno@clisp.org>
1535
1536         Update DEPENDENCIES.
1537         * DEPENDENCIES (gettext): Recommend the newest release.
1538         Reported by Simon Josefsson.
1539
1540 2011-05-01  Bruno Haible  <bruno@clisp.org>
1541
1542         gnulib-tool: Reduce code duplication.
1543         * gnulib-tool (func_emit_autoconf_snippets): New function.
1544         (func_import, func_create_testdir): Use it.
1545
1546 2011-04-30  Eric Blake  <eblake@redhat.com>
1547
1548         fclose: don't fail on non-seekable input stream
1549         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
1550         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
1551         since fflush is allowed to fail in that case.
1552
1553 2011-04-30  Bruno Haible  <bruno@clisp.org>
1554
1555         dup3: cleanup
1556         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
1557
1558 2011-04-30  Bruno Haible  <bruno@clisp.org>
1559
1560         netdb: Make it work in C++ mode.
1561         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
1562         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
1563         module.
1564         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
1565         gl_MODULE_INDICATOR_FOR_TESTS.
1566         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
1567         * modules/netdb-c++-tests: New file.
1568         * tests/test-netdb-c++.cc: New file.
1569
1570 2011-04-30  Bruno Haible  <bruno@clisp.org>
1571
1572         New modules 'vfscanf', 'vscanf'.
1573         * modules/vfscanf: New file.
1574         * modules/vscanf: New file.
1575         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
1576         here.
1577         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
1578         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
1579
1580 2011-04-30  Bruno Haible  <bruno@clisp.org>
1581
1582         passfd: Add comments.
1583         * lib/passfd.c: Add comments about platforms.
1584
1585 2011-04-30  Bruno Haible  <bruno@clisp.org>
1586
1587         sys_uio: Make <sys/uio.h> self-contained.
1588         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
1589         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
1590
1591 2011-04-30  Bruno Haible  <bruno@clisp.org>
1592
1593         sys_socket: Ensure 'struct iovec' definition.
1594         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
1595         <sys/socket.h>.
1596         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
1597
1598 2011-04-30  Bruno Haible  <bruno@clisp.org>
1599
1600         sys_uio: Protect definition of 'struct iovec'.
1601         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
1602         it as a C struct.
1603
1604 2011-04-30  Bruno Haible  <bruno@clisp.org>
1605
1606         manywarnings: fix indentation
1607         * m4/manywarnings.m4: Indent by 2 spaces consistently.
1608
1609 2011-04-30  Pádraig Brady <P@draigBrady.com>
1610
1611         manywarnings: add -Wno-missing-field-initializers if needed.
1612         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
1613         option if it's needed to allow initialization with { 0, }
1614
1615 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
1616
1617         announce-gen: cosmetic improvement
1618         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
1619
1620 2011-04-29  Jim Meyering  <meyering@redhat.com>
1621
1622         vc-list-files: indent with spaces, not TABs
1623         * build-aux/vc-list-files: Convert leading TABs to spaces,
1624         to match the style of most other files in gnulib.
1625
1626         announce-gen: indent with spaces, not TABs
1627         * build-aux/announce-gen: Convert all TABs to spaces, to match
1628         the style of most other files in gnulib.
1629
1630 2011-04-29  Eric Blake  <eblake@redhat.com>
1631
1632         quotearg: avoid uninitialized variable use
1633         * lib/quotearg.c (quoting_options_from_style): Initialize
1634         remaining fields, and ensure that custom styles are only used via
1635         quoting_options rather than quoting_style.
1636
1637 2011-04-29  Jim Meyering  <meyering@redhat.com>
1638
1639         maint.mk: remove unused VC-tag variable
1640         * top/maint.mk (VC-tag): Remove unused variable.
1641
1642 2011-04-29  Bruno Haible  <bruno@clisp.org>
1643
1644         netdb: fix gai_strerror replacements
1645         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
1646         * modules/netdb: Substitute it.
1647
1648 2011-04-29  Jim Meyering  <meyering@redhat.com>
1649
1650         test-getcwd.c: avoid new set-but-not-used warning
1651         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
1652         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
1653         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
1654         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
1655
1656         test-hash.c: avoid a new shadowing warning
1657         * tests/test-hash.c (main): Don't shadow "dup".
1658
1659 2011-04-28  Eric Blake  <eblake@redhat.com>
1660
1661         getaddrinfo: fix gai_strerror signature
1662         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
1663         and work around mingw with UNICODE defined.
1664         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
1665         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
1666         * modules/netdb (Makefile.am): Substitute it.
1667         * lib/netdb.in.h (gai_strerror): Declare replacement.
1668         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
1669         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
1670         the fix.
1671
1672         getsockopt: avoid compiler warning
1673         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
1674         Reported by Matthias Bolte.
1675
1676         tests: drop unused link dependency
1677         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
1678         * modules/dirent-safer-tests (Makefile.am): Likewise.
1679         * modules/fdopendir-tests (Makefile.am): Likewise.
1680         * modules/mkfifoat-tests (Makefile.am): Likewise.
1681         * modules/openat-safer-tests (Makefile.am): Likewise.
1682         * modules/openat-tests (Makefile.am): Likewise.
1683         * modules/readlinkat-tests (Makefile.am): Likewise.
1684         * modules/symlinkat-tests (Makefile.am): Likewise.
1685         * modules/linkat-tests (Makefile.am): Likewise.
1686         (Depends-on): Switch to filenamecat-lgpl.
1687         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
1688         LIBINTL.
1689         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
1690         * tests/test-linkat.c (main): Don't require xalloc.
1691
1692         hash, mgetgroups: drop xalloc dependency
1693         * lib/hash.c (includes): Adjust includes.
1694         * lib/mgetgroups.c (includes): Likewise.
1695         (xgetgroups): Move...
1696         * lib/xgetgroups.c: ...to new file.
1697         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
1698         * modules/xgetgroups: New file, split from...
1699         * modules/mgetgroups: ...here.
1700         (Depends-on): Add xalloc-oversized.
1701         * modules/hash (Depends-on): Likewise.
1702         * modules/hash-tests (Depends-on): Drop xalloc.
1703         (test_hash_LDADD): Drop unused library.
1704         * tests/test-hash.c (main): Break xalloc dependency.
1705         (includes): Drop unused include.
1706
1707         xalloc-oversized: new module
1708         * modules/xalloc-oversized: New module.
1709         * modules/xalloc (Depends-on): Add it.
1710         * lib/xalloc.h (xalloc_oversized): Move...
1711         * lib/xalloc-oversized.h: ...into new file.
1712
1713         utimecmp: drop dependency on xmalloc
1714         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
1715         due to memory pressure.
1716         * modules/utimecmp (Depends-on): Drop xalloc.
1717
1718 2011-04-27  Eric Blake  <eblake@redhat.com>
1719
1720         getcwd: fix mingw bugs
1721         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
1722         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
1723         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
1724
1725 2011-04-27  Bruno Haible  <bruno@clisp.org>
1726
1727         mkstemps: Ensure declaration on MacOS X 10.5.
1728         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
1729         * doc/glibc-functions/mkstemps.texi: Document header file problem on
1730         MacOS X.
1731
1732 2011-04-27  Bruno Haible  <bruno@clisp.org>
1733
1734         mkstemp: More documentation.
1735         * doc/posix-functions/mkstemp.texi: Document header file problem on
1736         MacOS X.
1737
1738 2011-04-27  Bruno Haible  <bruno@clisp.org>
1739
1740         mkstemp: Tweak configure message when cross-compiling.
1741         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
1742         result as a guess.
1743
1744 2011-04-27  Bruno Haible  <bruno@clisp.org>
1745
1746         clean-temp: Clarify what it does.
1747         * lib/clean-temp.h: Add more comments.
1748         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
1749         module.
1750         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
1751         * doc/glibc-functions/mkstemps.texi: Likewise.
1752         * doc/glibc-functions/mkostemps.texi: Likewise.
1753
1754 2011-04-27  Eric Blake  <eblake@redhat.com>
1755
1756         fchdir: avoid extra chdir and fix test
1757         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
1758         getcwd-lgpl.
1759         * lib/fchdir.c (get_name): Any absolute name will do; it does not
1760         have to be canonical.
1761         (canonicalize_file_name): Drop unused macro.
1762         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
1763
1764         filenamecat-lgpl: fix licence
1765         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
1766         when it was first created.
1767
1768         linkat, renameat: add missing dependency
1769         * modules/linkat (Depends-on): Require getcwd-lgpl.
1770         * modules/renameat (Depends-on): Likewise.
1771
1772         tests: reduce dependencies
1773         * tests/test-linkat.c (main): Use lighter-weight getcwd.
1774         * tests/test-renameat.c (main): Likewise.
1775         * modules/linkat-tests (Depends-on): Relax dependency.
1776         * modules/renameat-tests (Depends-on): Likewise.
1777         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
1778         dependency explicit.
1779
1780         save-cwd: reduce default dependency
1781         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
1782         * lib/save-cwd.c: Update comments.
1783         * NEWS: Document the semantic change.
1784
1785         getcwd: enhance tests
1786         * tests/test-getcwd-lgpl.c: New file, taken from...
1787         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
1788         repeat long path stress tests from m4 probe.
1789         * modules/getcwd-lgpl-tests: New module.
1790         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
1791         * m4/getcwd-abort-bug.m4: Update comment.
1792         * m4/getcwd-path-max.m4: Likewise.
1793
1794         getcwd-lgpl: new module
1795         * modules/getcwd-lgpl: New module.
1796         * lib/getcwd-lgpl.c: New file.
1797         * doc/posix-functions/getcwd.texi (getcwd): Document it.
1798         * MODULES.html.sh (lacking POSIX:2008): Likewise.
1799         * modules/getcwd (configure.ac): Set C witness.
1800         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
1801
1802         getcwd: tweak comments
1803         * m4/getcwd-abort-bug.m4: Fix comments.
1804         * m4/getcwd-path-max.m4: Likewise.
1805         * m4/getcwd.m4: Likewise.
1806
1807 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
1808         and Eric Blake  <eblake@redhat.com>
1809
1810         mkstemp: replace if system version uses wrong permissions
1811         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
1812         read/write mode bits set in file created by mkstemp.
1813         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
1814
1815 2011-04-27  Eric Blake  <eblake@redhat.com>
1816
1817         passfd: avoid compiler warning
1818         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
1819         Reported by Laine Stump.
1820
1821 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
1822
1823         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
1824         required by the NetBSD (and perhaps other 4.4BSD derived) join.
1825
1826 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
1827         and Eric Blake  <eblake@redhat.com>
1828
1829         mkstemp: mention clean-temp module
1830         * lib/mkstemp.c: Add comment.
1831         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
1832
1833 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
1834
1835         inttypes: also provide default values for 32-bit tests
1836         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
1837         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
1838
1839 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
1840
1841         strtoumax: remove dependency on strtoimax
1842         This is like the strtoull change of yesterday.
1843         * modules/strtoumax (Files): Add lib/strtoimax.c.
1844         (Depends-on): Remove strtoimax and add verify.
1845
1846         inttypes-incomplete: new module
1847         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
1848         all but the PRI* and SCN* parts of gl_INTTYPES_H.
1849         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
1850         of gl_INTTYPES_H.
1851         (gl_INTTYPES_H): Rewrite in terms of these new macros.
1852         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
1853         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
1854         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
1855         * modules/strtoumax, modules/xstrtol (Depends-on):
1856         Depend on inttypes-incomplete, not inttypes.
1857         * modules/inttypes-incomplete: New module, containing the contents
1858         of the old modules/inttypes module, except that the Files: section
1859         omits m4/inttypes-pri.m4, and the configure.ac section invokes
1860         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
1861         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
1862         (Depends-on): Depend only on inttypes-incomplete.
1863         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
1864
1865         inttypes: omit now-redundant strtoimax and strtoumax work
1866         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
1867         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
1868
1869         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
1870         This supports apps that need pointers to strtoimax and strtoumax,
1871         and ports to HP-UX 11.00 64.bit, which has macros that expand to
1872         nonexistent functions.  See
1873         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
1874         et seq.
1875         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
1876         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
1877         a macro.
1878         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
1879
1880 2011-04-25  Simon Josefsson  <simon@josefsson.org>
1881
1882         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
1883
1884 2011-04-25  Bruno Haible  <bruno@clisp.org>
1885
1886         strtol, strtoul: Mark modules as obsolete.
1887         * modules/strtol (Status, Notice): New sections.
1888         * modules/strtoul (Status, Notice): New sections.
1889
1890 2011-04-25  Bruno Haible  <bruno@clisp.org>
1891
1892         strtod: Remove check for strtod, unless supporting old platforms.
1893         * modules/strtod-obsolete: New file.
1894         * m4/strtod-obsolete.m4: New file.
1895         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
1896         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
1897         * modules/strtod (Depends-on): Add strtod-obsolete.
1898         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
1899
1900 2011-04-25  Bruno Haible  <bruno@clisp.org>
1901
1902         strcase: Make module obsolete.
1903         * modules/strcase (Status, Notice): New sections.
1904
1905 2011-04-25  Bruno Haible  <bruno@clisp.org>
1906
1907         dup2: Remove check for dup2, unless supporting old obsolete platforms.
1908         * modules/dup2-obsolete: New file.
1909         * m4/dup2-obsolete.m4: New file.
1910         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
1911         gl_FUNC_DUP2_OBSOLETE is not also defined.
1912         * modules/dup2 (Depends-on): Add dup2-obsolete.
1913         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
1914
1915 2011-04-25  Bruno Haible  <bruno@clisp.org>
1916
1917         strnlen: Avoid memchr related link error on old obsolete platforms.
1918         * modules/memchr-obsolete: New file.
1919         * m4/memchr-obsolete.m4: New file.
1920         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
1921         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
1922         * modules/memchr (Depends-on): Add memchr-obsolete.
1923         * modules/strnlen (Depends-on): Likewise.
1924         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
1925
1926 2011-04-25  Jim Meyering  <meyering@redhat.com>
1927
1928         maint.mk: makefile_at_at_check extend and clean up
1929         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
1930         in addition to */Makefile.am.
1931         Exempt legitimate uses of @VAR@ notation, e.g.,
1932         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
1933         Remove obsolete coreutils-specific comment.
1934         Prompted by discussion here:
1935         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
1936
1937 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
1938
1939         strtoul: remove dependency on strtol
1940         This is so that 'configure' need not check for strtol merely because
1941         the application needs strtoul.
1942         * modules/strtoul (Files): Add lib/strtol.c.
1943         (Depends-on): Remove strtol.
1944
1945         strtoull: remove dependency on strtoul
1946         This is like the strtoll change.
1947         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
1948         (Depends-on): Remove strtoul.
1949
1950         strtoll: remove dependency on strtol
1951         This is so that 'configure' need not check for strtol merely because
1952         the application needs strtoll.
1953         * modules/strtoll (Files): Add lib/strtol.c.
1954         (Depends-on): Remove strtol.
1955
1956 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1957
1958         inttypes: Move some configure check to module 'imaxdiv'.
1959         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
1960         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
1961         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
1962
1963 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1964
1965         inttypes: Move some configure check to module 'imaxabs'.
1966         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
1967         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
1968         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
1969
1970 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1971
1972         inttypes: Remove configure tests that are not needed since 2009-12-31.
1973         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
1974         gl_cv_header_working_inttypes_h.
1975
1976 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
1977
1978         * modules/strnlen (Depends-on): Remove memchr.
1979         The strnlen implementation doesn't need the memchr module's fixes; see
1980         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
1981
1982         strtol: remove dependency on wchar
1983         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
1984         * modules/strtol (Depends-on): Remove wchar.
1985
1986 2011-04-21  Eric Blake  <eblake@redhat.com>
1987
1988         passfd: fix test regression on Linux
1989         * modules/passfd-tests (configure.ac): Correct socketpair check.
1990
1991         passfd: speed up configure and drop unused code
1992         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
1993         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
1994         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
1995         Instead of probing at configure for unix_scm_rights_bsd44_way,
1996         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
1997         check to a struct member probe.
1998         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
1999         (sendfd, recvfd): Update preprocessor checks.
2000         * modules/passfd (Files): Reflect rename, and drop unused file.
2001         (Depends-on): Drop unused dependency.
2002
2003         passfd: allow compilation on mingw
2004         * modules/sys_socket (Depends-on): Add sys_uio.
2005         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
2006         iovec and a minimal struct msghdr.
2007         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
2008         * tests/test-sys_socket.c (main): Enhance test.
2009         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
2010         guaranteed to provide what we need.
2011         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
2012         * modules/passfd-tests (Depends-on): Add sys_wait.
2013         * tests/test-passfd.c (main): Skip test on mingw, for now.
2014         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
2015         partial 'struct msghdr' implementation.
2016
2017         sys_uio: new module
2018         * modules/sys_uio: New module.
2019         * modules/sys_uio-tests: Likewise.
2020         * lib/sys_uio.in.h: New file.
2021         * m4/sys_uio_h.m4: Likewise.
2022         * tests/test-sys_uio.c: Likewise.
2023         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
2024         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
2025
2026 2011-04-20  Jim Meyering  <meyering@redhat.com>
2027
2028         useless-if-before-free: avoid false-positive
2029         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
2030         disjunct so that it too requires a terminating ";".  Without that,
2031         this script would identify as useless one statement from gcc that
2032         was not:
2033           if (aligned_ptr)
2034             free (((void **) aligned_ptr) [-1]);
2035
2036 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
2037
2038         doc: update users.txt.
2039         * users.txt: Add barcode.
2040
2041 2011-04-19  Bruno Haible  <bruno@clisp.org>
2042
2043         ioctl: Remove link dependency on native Windows.
2044         * lib/fd-hook.h: Renamed from lib/close-hook.h.
2045         (gl_close_fn, gl_ioctl_fn): New types.
2046         (struct fd_hook): Renamed from struct close_hook. Change type of
2047         private_close_fn field. Add private_ioctl_fn field.
2048         (close_hook_fn): Add parameter for primary close method.
2049         (execute_close_hooks, execute_all_close_hooks): Likewise.
2050         (ioctl_hook_fn): New type.
2051         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
2052         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
2053         argument.
2054         (unregister_fd_hook): Renamed from unregister_close_hook.
2055         * lib/fd-hook.c: Renamed from lib/close-hook.c.
2056         Don't include <unistd.h>.
2057         (close): Remove undef.
2058         (anchor): Update.
2059         (execute_close_hooks): Add argument for primary close method.
2060         (execute_all_close_hooks): Likewise.
2061         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
2062         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
2063         argument. Allow each argument to be NULL.
2064         (unregister_fd_hook): Renamed from unregister_close_hook.
2065         * lib/close.c (rpl_close): Pass 'close' function pointer to
2066         execute_all_close_hooks.
2067         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
2068         (primary_ioctl): New function.
2069         (ioctl): Don't call ioctlsocket here. Instead, call
2070         execute_all_ioctl_hooks.
2071         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
2072         close method.
2073         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
2074         (fd_sockets_hook): Renamed from close_sockets_hook.
2075         (gl_sockets_startup, gl_sockets_cleanup): Update.
2076         * modules/fd-hook: Renamed from modules/close-hook. Update.
2077         * modules/close (Depends-on): Add fd-hook, remove close-hook.
2078         * modules/sockets (Depends-on): Likewise.
2079         * modules/ioctl (Depends-on): Add fd-hook.
2080         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
2081         GNULIB_SOCKET.
2082
2083 2011-04-19  Bruno Haible  <bruno@clisp.org>
2084
2085         Move the support of O_NONBLOCK in open() to the 'open' module.
2086         * modules/nonblocking (Depends-on): Remove 'open'.
2087         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
2088         gl_cv_have_open_O_NONBLOCK.
2089         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
2090         O_NONBLOCK support.
2091         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
2092
2093 2011-04-17  Bruno Haible  <bruno@clisp.org>
2094
2095         pipe2: Simplify code.
2096         * lib/pipe2.c (pipe2): Reduce code duplication.
2097
2098 2011-04-17  Bruno Haible  <bruno@clisp.org>
2099
2100         nonblocking: Add comment.
2101         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
2102
2103 2011-04-17  Bruno Haible  <bruno@clisp.org>
2104
2105         nonblocking: Add tests for sockets.
2106         * tests/test-nonblocking-socket.sh: New file.
2107         * tests/test-nonblocking-socket-main.c: New file.
2108         * tests/test-nonblocking-socket-child.c: New file.
2109         * tests/test-nonblocking-socket.h: New file.
2110         * tests/socket-server.h: New file.
2111         * tests/socket-client.h: New file.
2112         * modules/nonblocking-socket-tests: New file.
2113         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
2114
2115 2011-04-17  Bruno Haible  <bruno@clisp.org>
2116
2117         nonblocking: Add tests for pipes.
2118         * tests/test-nonblocking-pipe.sh: New file.
2119         * tests/test-nonblocking-pipe-main.c: New file.
2120         * tests/test-nonblocking-pipe-child.c: New file.
2121         * tests/test-nonblocking-pipe.h: New file.
2122         * tests/test-nonblocking-writer.h: New file.
2123         * tests/test-nonblocking-reader.h: New file.
2124         * tests/test-nonblocking-misc.h: New file.
2125         * modules/nonblocking-pipe-tests: New file.
2126         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
2127
2128 2011-04-16  Bruno Haible  <bruno@clisp.org>
2129
2130         gettext: Clarify the needed programmer actions.
2131         * modules/gettext (Notice): New field.
2132         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
2133
2134 2011-04-16  Bruno Haible  <bruno@clisp.org>
2135
2136         strchrnul: Tweak last commit.
2137         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
2138         bug.
2139         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
2140         as in _GL_FUNCDECL_SYS.
2141         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
2142         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
2143
2144 2011-04-15  Eric Blake  <eblake@redhat.com>
2145
2146         strchrnul: work around cygwin bug
2147         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
2148         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
2149         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
2150         * modules/string (Makefile.am): Substitute it.
2151         * lib/string.in.h (strchrnul): Use it.
2152
2153 2011-04-15  Bruno Haible  <bruno@clisp.org>
2154
2155         Don't require lib/stdio-write.c when only module 'stdio' is used.
2156         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
2157         invocation.
2158         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
2159
2160 2011-04-14  Bruno Haible  <bruno@clisp.org>
2161
2162         Support non-blocking pipe I/O in read() on native Windows.
2163         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
2164         (read): New declaration.
2165         * lib/read.c: New file.
2166         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
2167         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
2168         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
2169         vscanf): New declarations.
2170         * lib/stdio-read.c: New file.
2171         * m4/read.m4: New file.
2172         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
2173         REPLACE_READ.
2174         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
2175         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
2176         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
2177         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
2178         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
2179         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
2180         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
2181         * modules/read: New file.
2182         * modules/nonblocking (Files): Add lib/stdio-read.c.
2183         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
2184         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
2185         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
2186         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
2187         * modules/pread (Depends-on): Add read.
2188         * modules/safe-read (Depends-on): Likewise.
2189         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
2190         gets, scanf, vfscanf, vscanf): Verify signatures.
2191         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
2192         problem with non-blocking pipes.
2193         * doc/posix-functions/fgetc.texi: Likewise.
2194         * doc/posix-functions/fgets.texi: Likewise.
2195         * doc/posix-functions/fread.texi: Likewise.
2196         * doc/posix-functions/fscanf.texi: Likewise.
2197         * doc/posix-functions/getc.texi: Likewise.
2198         * doc/posix-functions/getchar.texi: Likewise.
2199         * doc/posix-functions/gets.texi: Likewise.
2200         * doc/posix-functions/scanf.texi: Likewise.
2201         * doc/posix-functions/vfscanf.texi: Likewise.
2202         * doc/posix-functions/vscanf.texi: Likewise.
2203
2204 2011-04-14  Bruno Haible  <bruno@clisp.org>
2205
2206         Support non-blocking pipe I/O in write() on native Windows.
2207         * lib/write.c (rpl_write): Split a write request that failed merely
2208         because the byte count was larger than the pipe buffer's size.
2209         * doc/posix-functions/write.texi: Mention the problem with large byte
2210         counts.
2211
2212 2011-04-14  Bruno Haible  <bruno@clisp.org>
2213
2214         wchar: Ensure that wchar_t gets defined on uClibc.
2215         * lib/wchar.in.h: On uClibc, include <stddef.h>.
2216         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
2217
2218 2011-04-13  Bruno Haible  <bruno@clisp.org>
2219
2220         safe-write, full-read: Avoid unnecessary compilation units.
2221         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
2222         (Depends-on): Remove safe-read. Add ssize_t.
2223         * modules/full-read (Files): Add lib/full-write.c.
2224         (Depends-on): Add full-write.
2225
2226 2011-04-13  Bruno Haible  <bruno@clisp.org>
2227
2228         Support non-blocking pipe I/O and SIGPIPE in pwrite().
2229         * modules/pwrite (Depends-on): Add 'write'.
2230
2231 2011-04-13  Bruno Haible  <bruno@clisp.org>
2232
2233         Support non-blocking pipe I/O in write() on native Windows.
2234         * lib/unistd.in.h (write): Enable replacement also if
2235         GNULIB_UNISTD_H_NONBLOCKING is 1.
2236         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
2237         (rpl_write): When failing to write on a non-blocking pipe, change
2238         errno from ENOSPC to EAGAIN.
2239         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
2240         putchar, puts, vfprintf, vprintf): Enable replacement also if
2241         GNULIB_STDIO_H_NONBLOCKING is 1.
2242         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
2243         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
2244         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
2245         CALL_WITH_SIGPIPE_EMULATION.
2246         (CALL_WITH_SIGPIPE_EMULATION): Use them.
2247         * m4/nonblocking.m4: New file.
2248         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
2249         for non-blocking I/O support.
2250         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
2251         GNULIB_UNISTD_H_NONBLOCKING.
2252         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
2253         required for non-blocking I/O support.
2254         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
2255         * modules/nonblocking (Files): Add m4/nonblocking.m4,
2256         lib/stdio-write.c, m4/asm-underscore.m4.
2257         (Depends-on): Add stdio, unistd.
2258         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
2259         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
2260         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
2261         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
2262         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
2263         problem with non-blocking pipes.
2264         * doc/posix-functions/fputc.texi: Likewise.
2265         * doc/posix-functions/fputs.texi: Likewise.
2266         * doc/posix-functions/fwrite.texi: Likewise.
2267         * doc/posix-functions/printf.texi: Likewise.
2268         * doc/posix-functions/putc.texi: Likewise.
2269         * doc/posix-functions/putchar.texi: Likewise.
2270         * doc/posix-functions/puts.texi: Likewise.
2271         * doc/posix-functions/vfprintf.texi: Likewise.
2272         * doc/posix-functions/vprintf.texi: Likewise.
2273         * doc/posix-functions/write.texi: Likewise.
2274
2275 2011-04-10  Jim Meyering  <meyering@redhat.com>
2276
2277         maint.mk: prohibit doubled words
2278         Detect them also when they're separated by a newline.
2279         There are 3 ways to customize it:
2280           - disable the test on a per file basis, as usual with rules using
2281             $(VC_LIST_EXCEPT)
2282           - replace the default doubled-word-selecting regexp (affects all files)
2283           - ignore a particular file-vs-doubled-word match
2284         I nearly used that last one to ignore the "is is" match in
2285         coreutils' NEWS file, since the text was "ls -is is ..."
2286         To do that, I would have added this line to cfg.mk:
2287           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
2288         but it would have ignored any "is is" match in NEWS.
2289         Low probability, but still...
2290         Instead, I changed the text, slightly:
2291           -  ls -is is now consistent with ls -lis in ignoring values returned
2292           +  "ls -is" is now consistent with ls -lis in ignoring values returned
2293         * top/maint.mk (prohibit_double_word_RE_): Provide default.
2294         (prohibit_doubled_word_): Define.
2295         (sc_prohibit_doubled_word): New rule.
2296         (sc_prohibit_the_the): Remove.  Subsumed by the above.
2297
2298 2011-04-10  Jim Meyering  <meyering@redhat.com>
2299
2300         maint: fix doubled-word typo in comment
2301         * m4/gethostname.m4: s/is is/it is/
2302         * m4/getdomainname.m4: Likewise.
2303
2304 2011-04-10  Jim Meyering  <meyering@redhat.com>
2305
2306         maint: remove doubled word: s/it it/it/
2307         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
2308
2309 2011-04-10  Jim Meyering  <meyering@redhat.com>
2310
2311         maint.mk: remove useless semicolon and backslash
2312         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
2313         semicolon and backslash.
2314
2315 2011-04-10  Bruno Haible  <bruno@clisp.org>
2316
2317         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
2318         * modules/stdint-tests (Depends-on): Add wchar.
2319
2320 2011-04-10  Jim Meyering  <meyering@redhat.com>
2321
2322         maint: remove doubled words in comments, e.g., s/a a/a/
2323         * lib/strptime.c (day_of_the_week): s/the the/the/
2324         * tests/test-chown.h (test_chown): s/a a/a/
2325
2326         test-chown.h: correct a cast
2327         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
2328         when the destination is a stat.st_gid.
2329
2330 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
2331
2332         getaddrinfo: Fix test for sa_len member.
2333         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
2334         include <sys/types.h> before <sys/socket.h>.
2335
2336 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
2337
2338         maint: change "can not" to "cannot"
2339         * doc/posix-functions/iconv.texi (iconv): This one crossed line
2340         boundaries.
2341
2342 2011-04-09  Jim Meyering  <meyering@redhat.com>
2343
2344         maint: change "a a" to "a"
2345         * tests/test-lchown.h (test_lchown): s/a a/a/
2346
2347         maint.mk: prohibit \<the the\>
2348         * top/maint.mk (sc_prohibit_the_the): New rule.
2349
2350         maint: fix "the the" in comment
2351         * lib/count-one-bits.h: s/the the/the/
2352
2353         maint: change "can not" to "cannot"
2354         But do not change the occurrences in maintain.texi or in
2355         build-aux/po/Makefile.in.in, which I presume comes from gettext.
2356         * doc/gnulib-tool.texi: s/can not/cannot/
2357         * doc/posix-functions/accept.texi (accept): Likewise.
2358         * doc/posix-functions/socket.texi (socket): Likewise.
2359         * lib/mbrtowc.c: Likewise.
2360
2361         maint.mk: prohibit use of "can not"
2362         * top/maint.mk (sc_prohibit_can_not): New rule.
2363         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
2364
2365 2011-04-09  Bruno Haible  <bruno@clisp.org>
2366
2367         careadlinkat: Guard against misuse of careadlinkatcwd.
2368         * lib/careadlinkat.c: Include <stdlib.h>.
2369         (careadlinkatcwd): Check that the fd argument is as expected.
2370
2371 2011-04-09  Bruno Haible  <bruno@clisp.org>
2372
2373         careadlinkat: Use common coding style.
2374         * lib/careadlinkat.c: Move gnulib includes after system includes.
2375
2376 2011-04-09  Bruno Haible  <bruno@clisp.org>
2377
2378         careadlinkat: Clarify specification.
2379         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
2380         (careadlinkatcwd): Add comment.
2381         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
2382
2383 2011-04-09  Bruno Haible  <bruno@clisp.org>
2384
2385         areadlinkat: Avoid link error on many platforms.
2386         * modules/areadlinkat (Depends-on): Add areadlink.
2387
2388 2011-04-09  Bruno Haible  <bruno@clisp.org>
2389
2390         allocator, careadlinkat: Fix double-inclusion guard.
2391         * lib/allocator.h: Fix double-inclusion guard.
2392         * lib/careadlinkat.h: Likewise.
2393
2394 2011-04-09  Bruno Haible  <bruno@clisp.org>
2395
2396         relocatable-prog-wrapper: Update after module 'areadlink' changed.
2397         * lib/relocwrapper.c: Update dependencies hierarchy.
2398         * build-aux/install-reloc: Update list of files to be compiled.
2399         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
2400         lib/allocator.[hc].
2401
2402 2011-04-08  Eric Blake  <eblake@redhat.com>
2403
2404         strftime: silence gnulib-tool warning
2405         * modules/strftime-tests (Depends-on): Drop automatic dependency.
2406
2407 2011-04-08  Bruno Haible  <bruno@clisp.org>
2408
2409         verify: Fix syntax error with GCC 4.6 in C++ mode.
2410         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
2411         (HAVE_STATIC_ASSERT): New macro.
2412         (verify_true, verify): Use 'static_assert' if it is supported and
2413         '_Static_assert' is not supported.
2414
2415 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
2416
2417         allocator: New module.
2418         * modules/allocator, lib/allocator.c: New files.
2419         * lib/allocator.h (stdlib_allocator): New decl.
2420         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
2421         Remove.  Do not include <stdlib.h>.
2422         (careadlinkat): Use stdlib_allocator instead of rolling our own.
2423         * modules/careadlinkat (Files): Remove lib/allocator.h.
2424         (Depends-on): Add allocator.
2425
2426         stdlib: let modules use system malloc, realloc
2427         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
2428         if !_GL_USE_STDLIB_ALLOC.
2429         (malloc, realloc): Limit this change to a smaller scope.
2430
2431         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
2432         (malloc, realloc): Don't #undef; no longer needed.
2433         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
2434         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
2435         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
2436         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
2437         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
2438         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
2439         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
2440         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
2441
2442         careadlinkat: rename members to avoid problem
2443         * lib/allocator.h (struct allocator): Rename members from
2444         malloc/realloc to allocate/reallocate, to avoid problems if malloc
2445         and realloc are #define'd.  Reported by Eric Blake in
2446         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
2447         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
2448
2449 2011-04-08  Eric Blake  <eblake@redhat.com>
2450
2451         nonblocking: reduce dependency
2452         * tests/test-nonblocking.c: Only test sockets when in use.
2453         * modules/nonblocking-tests (Depends-on): Drop socket.
2454         (Makefile.am): Link even if sockets are not present.
2455         * modules/pipe2-tests (Makefile.am): Likewise.
2456         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
2457
2458         pipe2: fix O_NONBLOCK support on mingw
2459         * modules/pipe2 (Depends-on): Add nonblocking.
2460         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
2461         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
2462         * tests/test-nonblocking.c (main): Likewise.
2463         * modules/pipe2-tests (Makefile.am): Avoid link failure.
2464
2465         fcntl-h: fix O_ACCMODE on cygwin
2466         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
2467         * lib/fcntl.in.h (O_ACCMODE): Fix it.
2468
2469         pipe-filter: drop O_NONBLOCK workarounds
2470         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
2471         * modules/pipe-filter-ii (Depends-on): Likewise.
2472         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
2473
2474         nonblocking: provide O_NONBLOCK for mingw
2475         * modules/nonblocking (Depends-on): Add open.
2476         (configure.ac): Set new witness macro.
2477         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
2478         * modules/fcntl-h (Makefile.am): Substitute it.
2479         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
2480         nonblocking module is in use.
2481         * lib/nonblocking.c: Adjust portability test.
2482         * lib/open.c (open): Don't let native open see gnulib flag.
2483         * tests/test-fcntl-h.c (main): Enhance test.
2484         * tests/test-open.h (test_open): Likewise.
2485         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
2486
2487         careadlinkat: fix compilation error on mingw
2488         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
2489         within struct allocator.
2490
2491 2011-04-06  Eric Blake  <eblake@redhat.com>
2492
2493         binary-io: relicense under LGPLv2+
2494         * modules/binary-io (License): Relax to LGPLv2+.
2495         Requested for libvirt, and required by pipe2.
2496
2497 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
2498
2499         verify: use _Static_assert if available
2500         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
2501         (verify_true, verify): Use it if available.  This generates better
2502         diagnostics with GCC 4.6.0 and later.
2503
2504 2011-04-05  Bruno Haible  <bruno@clisp.org>
2505
2506         Remove leftover generated .h files after config.status changed.
2507
2508         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
2509         GL_GENERATE_ALLOCA_H.
2510         * modules/alloca-opt (Makefile.am): Remove alloca.h if
2511         GL_GENERATE_ALLOCA_H evaluates to false.
2512
2513         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
2514         GL_GENERATE_ARGZ_H.
2515         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
2516         evaluates to false.
2517
2518         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
2519         GL_GENERATE_BYTESWAP_H.
2520         * modules/byteswap (Makefile.am): Remove byteswap.h if
2521         GL_GENERATE_BYTESWAP_H evaluates to false.
2522
2523         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
2524         GL_GENERATE_ERRNO_H.
2525         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
2526         evaluates to false.
2527
2528         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
2529         GL_GENERATE_FLOAT_H.
2530         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
2531         evaluates to false.
2532
2533         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
2534         GL_GENERATE_FNMATCH_H.
2535         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
2536         GL_GENERATE_FNMATCH_H evaluates to false.
2537
2538         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
2539         GL_GENERATE_GLOB_H.
2540         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
2541         evaluates to false.
2542
2543         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
2544         automake conditional GL_GENERATE_ICONV_H.
2545         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
2546         evaluates to false.
2547
2548         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
2549         GL_GENERATE_NETINET_IN_H.
2550         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
2551         GL_GENERATE_NETINET_IN_H evaluates to false.
2552
2553         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
2554         conditional GL_GENERATE_PTHREAD_H.
2555         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
2556         * modules/pthread (Makefile.am): Remove pthread.h if
2557         GL_GENERATE_PTHREAD_H evaluates to false.
2558
2559         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
2560         GL_GENERATE_SCHED_H.
2561         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
2562         evaluates to false.
2563
2564         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
2565         conditional GL_GENERATE_SELINUX_CONTEXT_H.
2566         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
2567         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
2568
2569         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
2570         GL_GENERATE_STDARG_H.
2571         * modules/stdarg (Makefile.am): Remove stdarg.h if
2572         GL_GENERATE_STDARG_H evaluates to false.
2573
2574         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
2575         GL_GENERATE_STDBOOL_H.
2576         * modules/stdbool (Makefile.am): Remove stdbool.h if
2577         GL_GENERATE_STDBOOL_H evaluates to false.
2578
2579         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
2580         conditional GL_GENERATE_STDDEF_H.
2581         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
2582         * modules/stddef (Makefile.am): Remove stddef.h if
2583         GL_GENERATE_STDDEF_H evaluates to false.
2584
2585         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
2586         GL_GENERATE_STDINT_H.
2587         * modules/stdint (Makefile.am): Remove stdint.h if
2588         GL_GENERATE_STDINT_H evaluates to false.
2589
2590         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
2591         GL_GENERATE_SYSEXITS_H.
2592         * modules/sysexits (Makefile.am): Remove sysexits.h if
2593         GL_GENERATE_SYSEXITS_H evaluates to false.
2594
2595         Reported by Karl Berry and Ralf Wildenhues.
2596
2597 2011-04-05  Bruno Haible  <bruno@clisp.org>
2598
2599         Ensure to rebuild generated .h files when config.status has changed.
2600         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
2601         config.status.
2602         * modules/ctype (Makefile.am): Likewise.
2603         * modules/dirent (Makefile.am): Likewise.
2604         * modules/errno (Makefile.am): Likewise.
2605         * modules/fcntl-h (Makefile.am): Likewise.
2606         * modules/float (Makefile.am): Likewise.
2607         * modules/getopt-posix (Makefile.am): Likewise.
2608         * modules/glob (Makefile.am): Likewise.
2609         * modules/iconv-h (Makefile.am): Likewise.
2610         * modules/inttypes (Makefile.am): Likewise.
2611         * modules/langinfo (Makefile.am): Likewise.
2612         * modules/locale (Makefile.am): Likewise.
2613         * modules/math (Makefile.am): Likewise.
2614         * modules/netdb (Makefile.am): Likewise.
2615         * modules/netinet_in (Makefile.am): Likewise.
2616         * modules/poll-h (Makefile.am): Likewise.
2617         * modules/pthread (Makefile.am): Likewise.
2618         * modules/pty (Makefile.am): Likewise.
2619         * modules/sched (Makefile.am): Likewise.
2620         * modules/search (Makefile.am): Likewise.
2621         * modules/selinux-h (Makefile.am): Likewise.
2622         * modules/signal (Makefile.am): Likewise.
2623         * modules/spawn (Makefile.am): Likewise.
2624         * modules/stdarg (Makefile.am): Likewise.
2625         * modules/stdbool (Makefile.am): Likewise.
2626         * modules/stddef (Makefile.am): Likewise.
2627         * modules/stdint (Makefile.am): Likewise.
2628         * modules/stdio (Makefile.am): Likewise.
2629         * modules/stdlib (Makefile.am): Likewise.
2630         * modules/string (Makefile.am): Likewise.
2631         * modules/strings (Makefile.am): Likewise.
2632         * modules/sys_file (Makefile.am): Likewise.
2633         * modules/sys_ioctl (Makefile.am): Likewise.
2634         * modules/sys_select (Makefile.am): Likewise.
2635         * modules/sys_socket (Makefile.am): Likewise.
2636         * modules/sys_stat (Makefile.am): Likewise.
2637         * modules/sys_time (Makefile.am): Likewise.
2638         * modules/sys_times (Makefile.am): Likewise.
2639         * modules/sys_utsname (Makefile.am): Likewise.
2640         * modules/sys_wait (Makefile.am): Likewise.
2641         * modules/sysexits (Makefile.am): Likewise.
2642         * modules/termios (Makefile.am): Likewise.
2643         * modules/time (Makefile.am): Likewise.
2644         * modules/unistd (Makefile.am): Likewise.
2645         * modules/wchar (Makefile.am): Likewise.
2646         * modules/wctype-h (Makefile.am): Likewise.
2647         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
2648
2649 2011-04-05  Bruno Haible  <bruno@clisp.org>
2650
2651         pipe2: Relicense under LGPLv2+.
2652         * modules/pipe2 (License): Change to LGPLv2+.
2653         Requested by Eric Blake, for libvirt.
2654
2655 2011-04-05  Bruce Korb  <bkorb@gnu.org>
2656
2657         bootstrap: compute gnulib_extra_files after updating build_aux
2658         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
2659         change build_aux or also supply gnulib_extra_files.  Handle correctly.
2660
2661 2011-04-05  Eric Blake  <eblake@redhat.com>
2662
2663         bootstrap: preserve git whitelist item sorting
2664         * build-aux/bootstrap (sort_patterns): New function.
2665         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
2666
2667 2011-04-05  Simon Josefsson  <simon@josefsson.org>
2668
2669         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
2670         sc_space_tab check.
2671
2672 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
2673
2674         areadlink, areadlinkat: rewrite in terms of careadlinkat
2675         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
2676         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
2677         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
2678         (malloc, realloc): Remove #undefs.
2679         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
2680         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
2681         readlink, ssize_t, stdint, unistd.
2682         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
2683         areadlink, stdint.
2684
2685         careadlinkat: new module
2686         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
2687         * modules/careadlinkat: New files, written by me with
2688         a review and feedback from Ben Pfaff in
2689         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
2690
2691 2011-04-01  Bruno Haible  <bruno@clisp.org>
2692
2693         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
2694         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
2695         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
2696         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
2697         Reported by Bruce Korb <bruce.korb@gmail.com>.
2698
2699 2011-04-01  Bruno Haible  <bruno@clisp.org>
2700
2701         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
2702         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
2703         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
2704         * modules/wcpcpy (Depends-on): Add extensions.
2705         * modules/wcpncpy (Depends-on): Likewise.
2706         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
2707         systems.
2708         * doc/posix-functions/wcpncpy.texi: Likewise.
2709         * doc/posix-functions/wcwidth.texi: Likewise.
2710
2711 2011-03-31  Eric Blake  <eblake@redhat.com>
2712
2713         nonblocking: fix mingw test failures
2714         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
2715         non-blocking flag on regular file.
2716         (get_nonblocking_flag): Set errno on invalid fd.
2717         * tests/test-nonblocking.c (main): Avoid test failure on
2718         directories if fchdir is not active.
2719         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
2720
2721 2011-03-31  Bruno Haible  <bruno@clisp.org>
2722
2723         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
2724         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
2725         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
2726         Reported by Simon Josefsson <simon@josefsson.org>.
2727
2728 2011-03-31  Bruno Haible  <bruno@clisp.org>
2729         and Eric Blake  <eblake@redhat.com>
2730
2731         nonblocking: new module
2732         * modules/nonblocking: New module.
2733         * modules/nonblocking-tests: Likewise.
2734         * lib/nonblocking.h: New file.
2735         * lib/nonblocking.c: Likewise.
2736         * tests/test-nonblocking.c: New test.
2737         * lib/ioctl.c (ioctl) [mingw]: Update comment.
2738
2739 2011-03-30  Bruno Haible  <bruno@clisp.org>
2740
2741         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
2742         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
2743         instead of 'printf' format for GCC >= 4.4.
2744         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
2745         (fprintf, printf, vfprintf, vprintf): Declare with
2746         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
2747         the system's vfprintf() function.
2748         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
2749
2750 2011-03-30  Eric Blake  <eblake@redhat.com>
2751
2752         passfd: fix scoping bug
2753         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
2754         before sendmsg/recvmsg.
2755
2756         passfd: standardize coding conventions
2757         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
2758         can be learned at compile time.
2759         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
2760         ifdefs.
2761         (sendfd, recvfd): Follow gnulib code conventions.
2762
2763         passfd: fix incorrect sendmsg arguments
2764         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
2765         incorrect msg_controllen value.
2766         * modules/passfd-tests (Depends-on): Check for alarm.
2767         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
2768         Reported by Bastien ROUCARIES.
2769
2770 2011-03-30  Bruno Haible  <bruno@clisp.org>
2771
2772         c-strcasestr: Relicense under LGPLv2+.
2773         * modules/c-strcasestr (License): Change to LGPLv2+.
2774         Requested by Eric Blake, for libvirt.
2775
2776 2011-03-30  Simon Josefsson  <simon@josefsson.org>
2777
2778         * users.txt: Add libidn2.  Fix libtasn1 link.
2779
2780 2011-03-30  Jim Meyering  <meyering@redhat.com>
2781
2782         tests: readlink* ("",... fails with EINVAL on newer kernels
2783         readlink and readlinkat have typically failed with ENOENT for
2784         the invalid, empty file name,  "".  However, with the advent
2785         of linux-2.6.39, they fail with EINVAL.
2786         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
2787         when operating on the empty file name.
2788         * tests/test-readlink.h (test_readlink): Likewise.
2789
2790 2011-03-29  Bruno Haible  <bruno@clisp.org>
2791
2792         Relicense some modules under LGPLv2+, for libidn2.
2793         * modules/array-mergesort (License): Change to LGPLv2+.
2794         * modules/c-strcaseeq (License): Likewise.
2795         * modules/striconveh (License): Likewise.
2796         * modules/striconveha (License): Likewise.
2797         * modules/uniconv/base (License): Likewise.
2798         * modules/uniconv/u8-conv-from-enc (License): Likewise.
2799         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
2800         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
2801         * modules/unictype/base (License): Likewise.
2802         * modules/unictype/bidiclass-of (License): Likewise.
2803         * modules/unictype/category-M (License): Likewise.
2804         * modules/unictype/category-none (License): Likewise.
2805         * modules/unictype/category-of (License): Likewise.
2806         * modules/unictype/category-test (License): Likewise.
2807         * modules/unictype/category-test-withtable (License): Likewise.
2808         * modules/unictype/combining-class (License): Likewise.
2809         * modules/unictype/joiningtype-of (License): Likewise.
2810         * modules/unictype/scripts (License): Likewise.
2811         * modules/uninorm/base (License): Likewise.
2812         * modules/uninorm/canonical-decomposition (License): Likewise.
2813         * modules/uninorm/composition (License): Likewise.
2814         * modules/uninorm/decompose-internal (License): Likewise.
2815         * modules/uninorm/decomposition-table (License): Likewise.
2816         * modules/uninorm/nfc (License): Likewise.
2817         * modules/uninorm/nfd (License): Likewise.
2818         * modules/uninorm/u32-normalize (License): Likewise.
2819         * modules/unistr/base (License): Likewise.
2820         * modules/unistr/u32-cpy (License): Likewise.
2821         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
2822         * modules/unistr/u32-to-u8 (License): Likewise.
2823         * modules/unistr/u32-uctomb (License): Likewise.
2824         * modules/unistr/u8-check (License): Likewise.
2825         * modules/unistr/u8-mblen (License): Likewise.
2826         * modules/unistr/u8-mbtouc (License): Likewise.
2827         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
2828         * modules/unistr/u8-mbtoucr (License): Likewise.
2829         * modules/unistr/u8-prev (License): Likewise.
2830         * modules/unistr/u8-strlen (License): Likewise.
2831         * modules/unistr/u8-to-u32 (License): Likewise.
2832         * modules/unistr/u8-uctomb (License): Likewise.
2833         * modules/unitypes (License): Likewise.
2834         Requested by Simon Josefsson.
2835
2836 2011-03-29  Simon Josefsson  <simon@josefsson.org>
2837
2838         lib-symbol-visibility: Add a notice.
2839         * modules/lib-symbol-visibility (Notice): New field.
2840
2841 2011-03-29  Bruno Haible  <bruno@clisp.org>
2842
2843         getaddrinfo: Doc fix.
2844         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
2845         section "fixed in Gnulib".
2846
2847 2011-03-28  Simon Josefsson  <simon@josefsson.org>
2848
2849         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
2850         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
2851
2852 2011-03-26  Bruno Haible  <bruno@clisp.org>
2853
2854         unictype/property-byname: Reduce the number of load-time relocations.
2855         * lib/unictype/pr_byname.c: Include <stdlib.h>.
2856         (UC_PROPERTY_INDEX_*): New enumeration values.
2857         (uc_property_byname): Convert an index from the lookup table to an
2858         uc_property_t.
2859         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
2860         values.
2861
2862 2011-03-26  Bruno Haible  <bruno@clisp.org>
2863
2864         unictype/property-byname: Allow omitted word separators and aliases.
2865         * lib/unictype/pr_byname.gperf: Add property names without word
2866         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
2867         for 'space'.
2868
2869 2011-03-26  Bruno Haible  <bruno@clisp.org>
2870
2871         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
2872         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
2873         also hyphens to space.
2874         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
2875         without spaces.
2876         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
2877
2878 2011-03-26  Bruno Haible  <bruno@clisp.org>
2879
2880         unictype/joiningtype-byname: Recognize long names as well.
2881         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
2882         a long name.
2883         * lib/unictype/joiningtype_byname.c: Include <string.h>,
2884         unictype/joiningtype_byname.h.
2885         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
2886         * lib/unictype/joiningtype_byname.gperf: New file.
2887         * modules/unictype/joiningtype-byname (Files): Add
2888         lib/unictype/joiningtype_byname.gperf.
2889         (Depends-on): Add gperf.
2890         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
2891         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
2892         long names.
2893
2894         Tests for module 'unictype/joiningtype-longname'.
2895         * modules/unictype/joiningtype-longname-tests: New file.
2896         * tests/unictype/test-joiningtype_longname.c: New file.
2897
2898         New module 'unictype/joiningtype-longname'.
2899         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
2900         * lib/unictype/joiningtype_longname.c: New file.
2901         * modules/unictype/joiningtype-longname: New file.
2902         * modules/unictype/joiningtype-all (Depends-on): Add
2903         unictype/joiningtype-longname.
2904
2905 2011-03-26  Bruno Haible  <bruno@clisp.org>
2906
2907         unictype/bidiclass-byname: Recognize long names as well.
2908         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
2909         name.
2910         * lib/unictype/bidi_byname.c: Include <string.h>,
2911         unictype/bidi_byname.h.
2912         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
2913         * lib/unictype/bidi_byname.gperf: New file.
2914         * modules/unictype/bidiclass-byname (Files): Add
2915         lib/unictype/bidi_byname.gperf.
2916         (Depends-on): Add gperf.
2917         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
2918         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
2919         long names.
2920
2921         Tests for module 'unictype/bidiclass-longname'.
2922         * modules/unictype/bidiclass-longname-tests: New file.
2923         * tests/unictype/test-bidi_longname.c: New file.
2924
2925         New module 'unictype/bidiclass-longname'.
2926         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
2927         * lib/unictype/bidi_longname.c: New file.
2928         * modules/unictype/bidiclass-longname: New file.
2929         * modules/unictype/bidiclass-all (Depends-on): Add
2930         unictype/bidiclass-longname.
2931
2932 2011-03-26  Bruno Haible  <bruno@clisp.org>
2933
2934         unictype/bidi*: Rename modules.
2935         * modules/unictype/bidiclass-all: Renamed from
2936         modules/unictype/bidicategory-all.
2937         * modules/unictype/bidiclass-name: Renamed from
2938         modules/unictype/bidiclass-name.
2939         (Description): Update.
2940         * modules/unictype/bidiclass-name-tests: Renamed from
2941         modules/unictype/bidicategory-name-tests.
2942         * modules/unictype/bidiclass-byname: Renamed from
2943         modules/unictype/bidicategory-byname.
2944         (Description): Update.
2945         * modules/unictype/bidiclass-byname-tests: Renamed from
2946         modules/unictype/bidicategory-byname-tests.
2947         * modules/unictype/bidiclass-of: Renamed from
2948         modules/unictype/bidicategory-of.
2949         (Description): Update.
2950         * modules/unictype/bidiclass-of-tests: Renamed from
2951         modules/unictype/bidicategory-of-tests.
2952         * modules/unictype/bidiclass-test: Renamed from
2953         modules/unictype/bidicategory-test.
2954         (Description): Update.
2955         * modules/unictype/bidiclass-test-tests: Renamed from
2956         modules/unictype/bidicategory-test-tests.
2957         * modules/unictype/bidicategory-all: New file, a simple redirection.
2958         * modules/unictype/bidicategory-name: Likewise.
2959         * modules/unictype/bidicategory-byname: Likewise.
2960         * modules/unictype/bidicategory-of: Likewise.
2961         * modules/unictype/bidicategory-test: Likewise.
2962         * modules/unictype/property-bidi-* (Dependencies): Update.
2963         * lib/unictype/bidi_*.c: Update comment.
2964
2965 2011-03-26  Bruno Haible  <bruno@clisp.org>
2966
2967         unictype/bidi*: Rename functions, part 2.
2968         * modules/unictype/bidicategory-name (configure.ac): Update required
2969         libunistring version.
2970         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
2971
2972 2011-03-25  Bruno Haible  <bruno@clisp.org>
2973
2974         New module 'unictype/combining-class-all'.
2975         * modules/unictype/combining-class-all: New file.
2976
2977         Tests for module 'unictype/combining-class-byname'.
2978         * modules/unictype/combining-class-byname-tests: New file.
2979         * tests/unictype/test-combiningclass_byname.c: New file.
2980
2981         New module 'unictype/combining-class-byname'.
2982         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
2983         * lib/unictype/combiningclass_byname.c: New file.
2984         * lib/unictype/combiningclass_byname.gperf: New file.
2985         * modules/unictype/combining-class-byname: New file.
2986
2987         Tests for module 'unictype/combining-class-longname'.
2988         * modules/unictype/combining-class-longname-tests: New file.
2989         * tests/unictype/test-combiningclass_longname.c: New file.
2990
2991         New module 'unictype/combining-class-longname'.
2992         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
2993         * lib/unictype/combiningclass_longname.c: New file.
2994         * modules/unictype/combining-class-longname: New file.
2995
2996         Tests for module 'unictype/combining-class-name'.
2997         * modules/unictype/combining-class-name-tests: New file.
2998         * tests/unictype/test-combiningclass_name.c: New file.
2999
3000         New module 'unictype/combining-class-name'.
3001         * lib/unictype.in.h (uc_combining_class_name): New declaration.
3002         * lib/unictype/combiningclass_name.c: New file.
3003         * modules/unictype/combining-class-name: New file.
3004
3005 2011-03-25  Bruno Haible  <bruno@clisp.org>
3006
3007         unictype/combining-class: Rename source files.
3008         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
3009         of unictype/combining.h.
3010         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
3011         Update.
3012         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
3013         * modules/unictype/combining-class (Description): Fix.
3014         (Files, Makefile.am): Update.
3015         * tests/unictype/test-combiningclass.c: Renamed from
3016         tests/unictype/test-combining.c.
3017         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
3018
3019 2011-03-25  Bruno Haible  <bruno@clisp.org>
3020
3021         unictype: Update list of canonical combining classes.
3022         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
3023
3024 2011-03-25  Bruno Haible  <bruno@clisp.org>
3025
3026         unictype/category-byname: Recognize long names as well.
3027         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
3028         a long name.
3029         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
3030         unictype/categ_byname.h.
3031         (UC_CATEGORY_INDEX_*): New enumeration values.
3032         (uc_general_category_byname): Use uc_general_category_lookup and
3033         convert from index to value.
3034         * lib/unictype/categ_byname.gperf: New file.
3035         * modules/unictype/category-byname (Files): Add
3036         lib/unictype/categ_byname.gperf.
3037         (Depends-on): Add gperf.
3038         (Makefile.am): Add rule for generating unictype/categ_byname.h.
3039         * tests/unictype/test-categ_byname.c (main): Test the recognition of
3040         long names.
3041
3042         Tests for module 'unictype/category-longname'.
3043         * modules/unictype/category-longname-tests: New file.
3044         * tests/unictype/test-categ_longname.c: New file.
3045
3046         New module 'unictype/category-longname'.
3047         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
3048         * lib/unictype/categ_longname.c: New file.
3049         * modules/unictype/category-longname: New file.
3050         * modules/unictype/category-all (Depends-on): Add it.
3051
3052 2011-03-25  Bruno Haible  <bruno@clisp.org>
3053
3054         Tests for module 'unictype/category-LC'.
3055         * modules/unictype/category-LC-tests: New file.
3056         * tests/unictype/test-categ_LC.c: New file, automatically generated.
3057
3058         New module 'unictype/category-LC'.
3059         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
3060         (UC_CATEGORY_LC): New declaration.
3061         (UC_CASED_LETTER): New macro.
3062         * lib/gen-uni-tables.c (is_category_LC): New function.
3063         (output_categories): Also handle category LC.
3064         (UC_CATEGORY_MASK_LC): New enumeration value.
3065         (general_category_byname): Also handle category LC.
3066         * lib/unictype/categ_LC.c: New file.
3067         * lib/unictype/categ_LC.h: New file, automatically generated.
3068         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
3069         category LC.
3070         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
3071         * modules/unictype/category-LC: New file.
3072         * modules/unictype/category-byname (Depends-on): Add
3073         unictype/category-LC.
3074         * modules/unictype/category-all (Depends-on): Likewise.
3075
3076 2011-03-25  Eric Blake  <eblake@redhat.com>
3077
3078         xmalloc: revert yesterday's regression
3079         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
3080         realloc's underlying behavior (allowing allocation of zero-size
3081         objects, especially if malloc-gnu is also in use).
3082
3083 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
3084
3085         maint.mk: add missing version to VC-tag
3086         * top/maint.mk: git tag was missing actual tag name; add it.
3087
3088         valgrind: do leak checking, and exit with code 1 on error (not 0)
3089         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
3090         to VALGRIND.
3091
3092 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
3093
3094         posix-modules: say what it does.
3095         * posix-modules: Add a line to the --help output saying what it does.
3096
3097 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
3098
3099         xmalloc: Do not leak if underlying realloc is C99 compatible.
3100         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
3101         This avoids a leak on C99-based systems.  See
3102         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
3103
3104 2011-03-24  Eric Blake  <eblake@redhat.com>
3105
3106         realloc: document portability problem
3107         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
3108         passing 0 size to realloc.
3109
3110 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
3111
3112         doc: update users.txt
3113         * users.txt: Add cvsps, tmpwatch
3114
3115 2011-03-23  Matt Rice  <ratmice@gmail.com>
3116
3117         doc: update users.txt
3118         * users.txt: Add gdb.
3119
3120 2011-03-23  Jim Meyering  <meyering@redhat.com>
3121
3122         doc: update users.txt
3123         Looking through matches up to the following URL (there are still
3124         several more pages), I found several projects that use gnulib:
3125         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
3126         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
3127         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
3128
3129 2011-03-22  Bruno Haible  <bruno@clisp.org>
3130
3131         unictype/bidi*: Rename functions.
3132         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
3133         uc_bidi_class, uc_is_bidi_class): New declarations.
3134         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
3135         uc_bidi_category_byname.
3136         (uc_bidi_category_byname): New function.
3137         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
3138         u_bidi_category_name.
3139         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
3140         (uc_bidi_category_name): New function.
3141         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
3142         uc_bidi_category.
3143         (uc_bidi_category): New function.
3144         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
3145         uc_is_bidi_category. Invoke uc_bidi_class.
3146         (uc_is_bidi_category): New function.
3147         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
3148         instead of uc_bidi_category_byname.
3149         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
3150         instead of uc_bidi_category_name.
3151         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
3152         uc_bidi_category.
3153         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
3154         instead of uc_is_bidi_category.
3155
3156 2011-03-21  Bruno Haible  <bruno@clisp.org>
3157
3158         New module 'unictype/joininggroup-all'.
3159         * modules/unictype/joininggroup-all: New file.
3160
3161         Tests for module 'unictype/joininggroup-of'.
3162         * modules/unictype/joininggroup-of-tests: New file.
3163         * tests/unictype/test-joininggroup_of.c: New file.
3164         * tests/unictype/test-joininggroup_of.h: New file, automatically
3165         generated by gen-uni-tables.
3166
3167         New module 'unictype/joininggroup-of'.
3168         * modules/unictype/joininggroup-of: New file.
3169         * lib/unictype/joininggroup_of.c: New file.
3170         * lib/unictype/joininggroup_of.h: New file, automatically generated by
3171         gen-uni-tables.
3172
3173         Tests for module 'unictype/joininggroup-byname'.
3174         * modules/unictype/joininggroup-byname-tests: New file.
3175         * tests/unictype/test-joininggroup_byname.c: New file.
3176
3177         New module 'unictype/joininggroup-byname'.
3178         * modules/unictype/joininggroup-byname: New file.
3179         * lib/unictype/joininggroup_byname.c: New file.
3180         * lib/unictype/joininggroup_byname.gperf: New file.
3181
3182         Tests for module 'unictype/joininggroup-name'.
3183         * modules/unictype/joininggroup-name-tests: New file.
3184         * tests/unictype/test-joininggroup_name.c: New file.
3185
3186         New module 'unictype/joininggroup-name'.
3187         * modules/unictype/joininggroup-name: New file.
3188         * lib/unictype/joininggroup_name.c: New file.
3189         * lib/unictype/joininggroup_name.h: New file.
3190
3191         New module 'unictype/joiningtype-all'.
3192         * modules/unictype/joiningtype-all: New file.
3193
3194         Tests for module 'unictype/joiningtype-of'.
3195         * modules/unictype/joiningtype-of-tests: New file.
3196         * tests/unictype/test-joiningtype_of.c: New file.
3197         * tests/unictype/test-joiningtype_of.h: New file, automatically
3198         generated by gen-uni-tables.
3199
3200         New module 'unictype/joiningtype-of'.
3201         * modules/unictype/joiningtype-of: New file.
3202         * lib/unictype/joiningtype_of.c: New file.
3203         * lib/unictype/joiningtype_of.h: New file, automatically generated by
3204         gen-uni-tables.
3205
3206         Tests for module 'unictype/joiningtype-byname'.
3207         * modules/unictype/joiningtype-byname-tests: New file.
3208         * tests/unictype/test-joiningtype_byname.c: New file.
3209
3210         New module 'unictype/joiningtype-byname'.
3211         * modules/unictype/joiningtype-byname: New file.
3212         * lib/unictype/joiningtype_byname.c: New file.
3213
3214         Tests for module 'unictype/joiningtype-name'.
3215         * modules/unictype/joiningtype-name-tests: New file.
3216         * tests/unictype/test-joiningtype_name.c: New file.
3217
3218         New module 'unictype/joiningtype-name'.
3219         * modules/unictype/joiningtype-name: New file.
3220         * lib/unictype/joiningtype_name.c: New file.
3221
3222         unictype: Add support for Arabic shaping properties.
3223         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
3224         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
3225         declarations.
3226         (UC_JOINING_GROUP_*): New enumeration values.
3227         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
3228         declarations.
3229         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
3230         (unicode_joining_type): New variable.
3231         (UC_JOINING_GROUP_*): New enumeration values.
3232         (unicode_joining_group): New variable.
3233         (fill_arabicshaping, joining_type_as_c_identifier,
3234         output_joining_type_test, output_joining_type,
3235         joining_group_as_c_identifier, output_joining_group_test,
3236         output_joining_group): New functions.
3237         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
3238         fill_arabicshaping and output_joining_type_test, output_joining_type,
3239         output_joining_group_test, output_joining_group.
3240         Reported by Simon Josefsson.
3241
3242 2011-03-21  Jim Meyering  <meyering@redhat.com>
3243
3244         strftime: fix a bug in yesterday's change
3245         * lib/strftime.c (add): Accommodate width's initial value of -1.
3246         Otherwise, nstrftime would copy uninitialized data into
3247         the result buffer.
3248
3249 2011-03-21  Jim Meyering  <meyering@redhat.com>
3250
3251         tests: add strftime-tests module
3252         * tests/test-strftime.c: New file.
3253         * modules/strftime-tests: New module.
3254
3255 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
3256
3257         strftime: don't assume a byte count fits in 'int'
3258         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
3259         found this problem by static analysis, using gcc -Wstrict-overflow
3260         (GCC 4.5.2, x86-64).  This reported an optimization that depended
3261         on an integer overflow having undefined behavior, but it turns out
3262         that the argument is a size, which might not fit in 'int' anyway,
3263
3264 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
3265
3266         stdio: don't require ignore_value around fwrite
3267
3268         This patch works around libc bug 11959
3269         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
3270         Without this patch, applications must often write
3271         ignore_value (fwrite (...)) even though the ignore_value is
3272         not helpful here.  It's common to write many objects, using
3273         fwrite/printf/etc., and then use ferror to detect output error.
3274
3275         I considered making this patch optional, but decided against it,
3276         because libc is obviously being inconsistent here: there is no
3277         reason libc should insist that user code must inspect fwrite
3278         return's value without also insisting that it inspect printf's,
3279         putchar's, etc.  If user code wants to have a strict style where
3280         all these functions' values are checked (so that ferror need not
3281         be checked), we could add support for that style in a new gnulib
3282         module, but in the meantime it's better to be consistent and to
3283         support common usage.
3284
3285         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
3286         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
3287         that we are compiling in checking mode, and if not C++, and
3288         if not already wrapping fwrite for some other reason.
3289         (fwrite): #define to rpl_fwrite if the latter is defined.
3290
3291 2011-03-20  Bruno Haible  <bruno@clisp.org>
3292
3293         verror: Fix compilation error introduced on 2011-02-13.
3294         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
3295         instead of __attribute__.
3296         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3297
3298 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
3299             Bruno Haible  <bruno@clisp.org>
3300
3301         socklen: do not depend on sys_socket
3302         While trying to modify Emacs to use gnulib's socklen module,
3303         I discovered a circular dependency: socklen depends on sys_socket
3304         and vice versa.  Emacs can use socklen, but it does not need
3305         sys_socket because it has its own substitute for sys/socket.h.
3306         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
3307         gl_TYPE_SOCKLEN_T.
3308         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
3309         gl_PREREQ_SYS_H_SOCKET.
3310         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
3311         gl_PREREQ_SYS_H_SOCKET.
3312         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
3313         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
3314         * modules/socklen (Depends-on): Do not depend on sys_socket.
3315         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
3316
3317 2011-03-20  Jim Meyering  <meyering@redhat.com>
3318
3319         maint.mk: sort file names *after* new transformation
3320         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
3321         prefix would have led to an unwarranted failure in GNU parted.
3322         Sort after that transformation.
3323
3324 2011-03-19  Jim Meyering  <meyering@redhat.com>
3325
3326         maint.mk: fix po-file syntax-check rule
3327         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
3328         Patch by Bruno Haible.
3329
3330 2011-03-19  Bruno Haible  <bruno@clisp.org>
3331
3332         socklen: Update comment.
3333         * m4/socklen.m4: Update comment about platforms.
3334
3335 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
3336             Bruno Haible  <bruno@clisp.org>
3337
3338         inet_ntop, inet_pton: Simplify.
3339         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
3340         documented to provide socklen_t and we already depend on sys_socket.
3341         * modules/inet_pton (Depends-on): Likewise.
3342         * lib/arpa_inet.in.h: Adjust comment.
3343
3344 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
3345             Bruno Haible  <bruno@clisp.org>
3346
3347         netdb: Simplify.
3348         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
3349         documented to provide socklen_t and we already depend on sys_socket.
3350         * lib/netdb.in.h: Adjust comment.
3351
3352 2011-03-19  Bruno Haible  <bruno@clisp.org>
3353
3354         sys_socket, netdb: Document problem with socklen_t.
3355         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
3356         platforms.
3357         * doc/posix-headers/netdb.texi: Likewise.
3358
3359 2011-03-18  Eric Blake  <eblake@redhat.com>
3360
3361         maint.mk: let po check work in VPATH build
3362         * top/maint.mk (po_file): Allow cfg.mk override.
3363         (sc_po_check): Allow VPATH use.
3364         Reported by Jiri Denemark.
3365
3366 2011-03-16  Jim Meyering  <meyering@redhat.com>
3367
3368         maint.mk: allow fine-grained syntax-check exclusion via Make variables
3369         Before, you would have had to create one .x-sc_ file per rule in order
3370         to exempt offending files.  Now, you may instead use a Make variable --
3371         usually defined in cfg.mk -- whose name identifies the affected rule.
3372         * top/maint.mk (_sc_excl): Define.
3373         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
3374         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
3375
3376 2011-03-13  Bruno Haible  <bruno@clisp.org>
3377
3378         ignore-value tests: Avoid warnings.
3379         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
3380         empty for gcc < 3.4.
3381
3382 2011-03-13  Bruno Haible  <bruno@clisp.org>
3383
3384         passfd: Fix link error on Solaris.
3385         * modules/passfd (Description): Correct.
3386         (Depends-on): Add socketlib.
3387         (Link): New section.
3388         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
3389
3390 2011-03-13  Bruno Haible  <bruno@clisp.org>
3391
3392         passfd: Fix link error on AIX 5.2.
3393         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
3394
3395 2011-03-13  Bruno Haible  <bruno@clisp.org>
3396
3397         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
3398         * lib/sys_socket.in.h: Include <stddef.h>.
3399         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
3400         CMSG_FIRSTHDR. Remove unused variable.
3401
3402 2011-03-13  Bruno Haible  <bruno@clisp.org>
3403
3404         passfd: Fix compilation error on OpenBSD.
3405         * lib/passfd.c: Include <sys/uio.h>.
3406
3407 2011-03-13  Bruno Haible  <bruno@clisp.org>
3408
3409         passfd test: Fix warnings.
3410         * tests/test-passfd.c: Include <sys/wait.h>.
3411         (main): Fix typo.
3412
3413 2011-03-13  Bruno Haible  <bruno@clisp.org>
3414
3415         passfd module, part 4, tweaks.
3416         * tests/test-passfd.c: Reorder includes.
3417         (main): Fix perror and printf calls.
3418
3419 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
3420
3421         passfd module, part 4.
3422         * modules/passfd-tests: New file.
3423         * tests/test-passfd.c: New file.
3424
3425 2011-03-13  Jim Meyering  <meyering@redhat.com>
3426
3427         Makefile: rely on GNU make; derive syntax-check rule names
3428         Rather than requiring that each sc_ rule be listed as a dependent
3429         of "check", use features of GNU make to derive the list.
3430         * Makefile (syntax-check-rules): Define.
3431         (check): Depend on the new variable, not the hard-coded list.
3432
3433 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
3434             Bruno Haible  <bruno@clisp.org>
3435
3436         passfd module, part 3.
3437         * lib/passfd.h (recvfd): Add a flags argument.
3438         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
3439         (recvfd): Add a flags argument.
3440         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
3441         exists.
3442         * modules/passfd (Depends-on): Add cloexec.
3443         Suggested by Eric Blake.
3444
3445 2011-03-13  Bruno Haible  <bruno@clisp.org>
3446
3447         passfd module, part 2, tweaks.
3448         * modules/passfd (Files): Reorder.
3449         (Depends-on): Remove errno.
3450         (Include): Remove <sys/socket.h>, <sys/un.h>.
3451         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
3452         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
3453         specification header. Include <sys/socket.h> always. Don't include
3454         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
3455         (sendfd): Clarify that it sets errno when it fails.
3456         (recvfd): Fix specification.
3457
3458 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
3459
3460         passfd module, part 2.
3461         * modules/passfd: New file.
3462         * lib/passfd.h: New file.
3463         * lib/passfd.c: New file.
3464
3465 2011-03-12  Bruno Haible  <bruno@clisp.org>
3466
3467         wcswidth, mbswidth: Avoid integer overflow.
3468         * lib/wcswidth.c: Include <limits.h>.
3469         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
3470         * lib/mbswidth.c: Include <limits.h>.
3471         (mbsnwidth): Avoid 'int' overflow.
3472         Reported by Jim Meyering.
3473
3474 2011-03-12  Bruno Haible  <bruno@clisp.org>
3475
3476         futimens, utimensat: Avoid endless recursion on Solaris 10.
3477         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
3478         Solaris.
3479         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
3480         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
3481
3482 2011-03-11  Jim Meyering  <meyering@redhat.com>
3483
3484         maint.mk: relax a regexp to accommodate other formatting styles
3485         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
3486         between "ngettext" and the following "(".
3487
3488 2011-03-11  Pádraig Brady <P@draigBrady.com>
3489
3490         maint.mk: suppress a false positive warning
3491         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
3492         diagnostics are marked with ngettext.
3493
3494 2011-03-10  Eric Blake  <eblake@redhat.com>
3495
3496         wchar: add explicit dependencies, for Tru64
3497         * modules/mbmemcasecoll (Depends-on): Add wchar.
3498         * modules/mbtowc (Depends-on): Likewise.
3499         * modules/vasnprintf (Depends-on): Likewise.
3500         * modules/unistdio/u-printf-args (Depends-on): Likewise.
3501         * modules/wctomb (Depends-on): Likewise.
3502         Reported by Peter O'Gorman.
3503
3504 2011-03-08  Bruno Haible  <bruno@clisp.org>
3505
3506         passfd module, part 1, tweaks.
3507         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
3508         Improve indentation. Improve AC_MSG_CHECKING messages.
3509         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
3510         gl_SOCKET_FAMILIES.
3511
3512 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
3513
3514         passfd module, part 1.
3515         * m4/afunix.m4: New file.
3516         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
3517         sockets.
3518
3519 2011-03-08  Bruno Haible  <bruno@clisp.org>
3520
3521         regex-quote: New API.
3522         * lib/regex-quote.h: Include <stdbool.h>.
3523         (struct regex_quote_spec): New type.
3524         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
3525         New declarations.
3526         (regex_quote_length, regex_quote_copy, regex_quote): Take a
3527         'const struct regex_quote_spec *' argument.
3528         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
3529         (pcre_special): New constant.
3530         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
3531         New functions.
3532         (regex_quote_length, regex_quote_copy, regex_quote): Take a
3533         'const struct regex_quote_spec *' argument.
3534         * modules/regex-quote (Depends-on): Add stdbool.
3535         * tests/test-regex-quote.c (check): Update for new API. Add test for
3536         anchored results.
3537         * NEWS: Mention the API change.
3538         Reported by Reuben Thomas and Eric Blake.
3539
3540 2011-03-06  Bruno Haible  <bruno@clisp.org>
3541
3542         regex-quote: Fix creation of POSIX extended regular expressions.
3543         * lib/regex-quote.c (ere_special): Add grouping and alternation
3544         operators.
3545
3546 2011-03-05  Bruno Haible  <bruno@clisp.org>
3547
3548         doc: Improve doc regarding autopoint vs. gnulib.
3549         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
3550         disable autopoint while running autoreconf.
3551         Suggested by Ralf Wildenhues.
3552
3553 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3554
3555         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
3556         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
3557
3558 2011-03-03  Bruce Korb  <bkorb@gnu.org>
3559
3560         parse-duration: remove xalloc.h dependency
3561         * lib/parse-duration.c (parse_period): handle NULL return from
3562         strdup instead of calling xstrdup().
3563         * modules/parse-duration: remove "xalloc" dependency
3564
3565 2011-03-03  Matthew Booth  <mbooth@redhat.com>
3566
3567         bootstrap: honor m4_base when running aclocal
3568         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
3569
3570 2011-03-02  Jim Meyering  <meyering@redhat.com>
3571
3572         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
3573         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
3574         on request from Matt Booth.
3575
3576 2011-03-01  Eric Blake  <eblake@redhat.com>
3577
3578         test-link: work on Hurd
3579         * tests/test-link.h (test_link): Hurd rejects linking directories
3580         with EISDIR instead of the POSIX-mandated EPERM.
3581
3582 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
3583
3584         stdio: simplify by moving files to printf-posix, sigpipe
3585         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
3586         since this symbol is needed only if printf is replaced.
3587         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
3588         Require gl_ASM_SYMBOL_PREFIX.
3589         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
3590         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
3591         (Depends-on): Add 'raise'.
3592         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
3593         * modules/stdio (Files): Remove lib/stdio-write.c,
3594         m4/asm-underscore.m4.
3595         (Depends-on): Remove 'raise'.
3596
3597         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
3598         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
3599         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
3600         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
3601
3602 2011-02-28  Bruno Haible  <bruno@clisp.org>
3603
3604         localcharset: Assume ANSI C behaviour of free().
3605         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
3606         calling free().
3607         Suggested by Simon Josefsson <simon@josefsson.org>.
3608
3609 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
3610             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
3611             Bruno Haible  <bruno@clisp.org>  (tiny change)
3612
3613         On Cygwin, use /proc file system instead of win32 API.
3614         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
3615         Win32 file names.
3616         (DllMain): Simplify by removing Cygwin specific code.
3617         (find_shared_library_fullname): Use Linux specific implementation also
3618         for Cygwin.
3619         (get_shared_library_fullname): Update accordingly.
3620         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
3621         Win32 file names.
3622         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
3623         Cygwin specific code.
3624
3625 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
3626             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
3627
3628         Fix OpenMP flag detection for various Fortran compilers.
3629         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
3630         OpenMP-conditional compilation construct, to force compile
3631         failure with missing OpenMP flag.
3632         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
3633
3634 2011-02-25  Eric Blake  <eblake@redhat.com>
3635
3636         strstr: expand test coverage
3637         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
3638         compilation.
3639         * tests/test-memmem.c (main): Duplicate tests.
3640         * tests/test-strcasestr.c (main): Likewise.
3641         * tests/test-c-strcasestr.c (main): Likewise.
3642
3643 2011-02-25  Jim Meyering  <meyering@redhat.com>
3644
3645         maint.mk: detect missing-NL-at-EOF, too
3646         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
3647         it also detects when a file lacks a newline at EOF.
3648         (require_exactly_one_NL_at_EOF_): Renamed from
3649         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
3650         since people may well have .x-sc_... file names tied to the
3651         existing name.  Suggested by Eric Blake.
3652
3653 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
3654
3655         dirname: move m4/dos.m4 functionality into lib/dosname.h
3656
3657         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
3658         extracts symbols from it, puts them into config.h; but it's much
3659         easier to use the symbols directly.  filename.h already does this,
3660         but it disagrees with dos.m4 in some respects.  This patch
3661         introduces a different include file dosname.h that packages up
3662         dos.m4, and then later we can work on merging filename.h and
3663         dosname.h.  Applications that need only the easy-to-configure
3664         symbols should consider including dosname.h rather than dirname.h.
3665         * NEWS: Mention incompatible changes.
3666         * m4/dos.m4: Remove.
3667         * lib/dosname.h, modules/dosname: New files.
3668         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
3669         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
3670         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
3671         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
3672         Include dosname.h, not dirname.h.
3673         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
3674         Include dosname.h, for definitions of symbols like ISSLASH
3675         that used to be in config.h.
3676         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
3677         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
3678         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
3679         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
3680         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
3681         * modules/rmdir (Files): Likewise.
3682         * modules/stat (Files): Likewise.
3683         * modules/unlink (Files): Likewise.
3684         * modules/dirname-lgpl (Depends-on): Add dosname.
3685         * modules/lstat (Depends-on): Likewise.
3686         * modules/openat (Depends-on): Likewise.
3687         * modules/rmdir (Depends-on): Likewise.
3688         * modules/savewd (Depends-on): Likewise.
3689         * modules/stat (Depends-on): Likewise.
3690         * modules/unlink (Depends-on): Likewise.
3691         * modules/openat (Depends-on): Remove dirname-lgpl.
3692         * modules/savewd (Depends-on): Likewise.
3693         * tests/test-dirname.c: Do not use removed symbols like
3694         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
3695         the remaining symbols, e.g., ISSLASH ('\\').
3696
3697 2011-02-25  Eric Blake  <eblake@redhat.com>
3698
3699         strstr: revert patches that introduced bug and pessimization
3700         * lib/str-two-way.h: Add another reference.
3701         (two_way_short_needle, two_way_long_needle): Revert changes from
3702         2011-02-24; they pessimize search speed.
3703         (critical_factorization): Partially revert changes from
3704         2010-06-22; they violate the requirement that the left half of the
3705         needle be smaller than the period of the needle.
3706
3707 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
3708
3709         filenamecat: remove unnecessary dependency on dirname-lgpl
3710         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
3711         is no direct dependency, just an indirect one via filenamecat-lgpl.
3712
3713         remove: remove unnecessary use of m4/dos.m4
3714         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
3715         * modules/remove (FILES): Remove m4/dos.m4.
3716
3717         * lib/openat-proc.c: Don't include dirname.h; not needed.
3718
3719         backupfile: remove unnecessary use of m4/dos.m4
3720         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
3721         of its symbols are used by the backupfile code.  backupfile.c does
3722         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
3723         for the rare case of programs that want all their backup file
3724         names to live within 8+3 limits, and dos.m4 doesn't address that.
3725         * modules/backupfile (Files): Remove m4/dos.m4.
3726
3727 2011-02-24  Jim Meyering  <meyering@redhat.com>
3728
3729         strstr: fix a bug whereby strstr would mistakenly return NULL
3730         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
3731         in period calculation.
3732         (two_way_long_needle): Likewise.
3733         The original problem was reported by Mike Stump in
3734         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
3735         Ralf Wildenhues provided the short needle and haystack.
3736         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
3737         Add a more involved test to trigger the bug in two_way_long_needle.
3738
3739 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
3740
3741         gnulib-tool: remove use of bold display in help screen
3742         * gnulib-tool (func_usage): Do not use bold display anymore in the
3743         help screen.  That was just meant to be a temporary emphasis for a
3744         backward-incompatible change.
3745
3746 2011-02-23  Bruno Haible  <bruno@clisp.org>
3747
3748         Fix misindentation of preprocessor directives.
3749         * lib/argp-namefrob.h: Reindent preprocessor directives.
3750         * lib/getopt_int.h (struct _getopt_data): Likewise.
3751         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
3752         * lib/vasnprintf.c (decode_long_double): Likewise.
3753         * tests/test-argmatch.c: Insert blank lines, for clarity.
3754         * tests/test-exclude.c: Likewise.
3755
3756 2011-02-22  Bruno Haible  <bruno@clisp.org>
3757
3758         ioctl: Fix for MacOS X in 64-bit mode.
3759         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
3760         value.
3761         Suggested by Eric Blake.
3762         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
3763
3764 2011-02-22  Jim Meyering  <meyering@redhat.com>
3765
3766         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
3767         * Makefile (sc_cpp_indent_check): Don't limit the check to files
3768         in lib/.
3769
3770 2011-02-22  Eric Blake  <eblake@redhat.com>
3771
3772         maint: avoid any CDPATH issue
3773         * Makefile (sc_cpp_indent_check): Anchor cd argument.
3774
3775         maint: adjust cpp indentation for my modules, as well
3776         * Makefile (sc_cpp_indent_check): Add my name.
3777         * lib/fbufmode.c: Filter through cppi.
3778         * lib/fpurge.c: Likewise.
3779         * lib/freadable.c: Likewise.
3780         * lib/freading.c: Likewise.
3781         * lib/fwritable.c: Likewise.
3782         * lib/fwriting.c: Likewise.
3783         * lib/sigaction.c: Likewise.
3784
3785 2011-02-22  Jim Meyering  <meyering@redhat.com>
3786
3787         maint: adjust cpp indentation to reflect nesting depth
3788         I.e., in a block of code that begins with an unnested "#if",
3789         put one space between the "#" in column 1 and following token.
3790         For example,
3791         -#include <sys/vfs.h>
3792         +# include <sys/vfs.h>
3793         Do this only in .c files that are part of a module I maintain.
3794         * lib/linkat.c: Filter through cppi.
3795         * lib/nanosleep.c: Likewise.
3796         * lib/openat.c: Likewise.
3797         * lib/openat-die.c: Likewise.
3798         * lib/dup3.c: Likewise.
3799         * lib/fchownat.c: Likewise.
3800         * lib/flock.c: Likewise.
3801         * lib/fsync.c: Likewise.
3802         * lib/fts.c: Likewise.
3803         * lib/getpass.c: Likewise.
3804         * lib/gettimeofday.c: Likewise.
3805         * lib/userspec.c: Likewise.
3806         * Makefile (sc_cpp_indent_check): New rule, to check this.
3807
3808 2011-02-22  Bruno Haible  <bruno@clisp.org>
3809
3810         New module 'wctomb'.
3811         * lib/stdlib.in.h (wctomb): New declaration.
3812         * lib/wctomb.c: New file.
3813         * lib/wctomb-impl.h: New file.
3814         * m4/wctomb.m4: New file.
3815         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
3816         REPLACE_WCTOMB.
3817         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
3818         REPLACE_WCTOMB.
3819         * modules/wctomb: New file.
3820         * tests/test-stdlib-c++.cc: Test signature of wctomb.
3821         * doc/posix-functions/wctomb.texi: Mention the new module.
3822         * modules/wctob (Depends-on): Add wctomb.
3823
3824 2011-02-22  Bruno Haible  <bruno@clisp.org>
3825
3826         New module 'mbtowc'.
3827         * lib/stdlib.in.h (mbtowc): New declaration.
3828         * lib/mbtowc.c: New file.
3829         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
3830         * m4/mbtowc.m4: New file.
3831         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
3832         REPLACE_MBTOWC.
3833         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
3834         REPLACE_MBTOWC.
3835         * modules/mbtowc: New file.
3836         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
3837         * doc/posix-functions/mbtowc.texi: Mention the new module.
3838         * modules/btowc (Depends-on): Add mbtowc.
3839
3840 2011-02-22  Bruno Haible  <bruno@clisp.org>
3841
3842         wcrtomb: Add more tests for native Windows platforms.
3843         * tests/test-wcrtomb-w32-1.sh: New file.
3844         * tests/test-wcrtomb-w32-2.sh: New file.
3845         * tests/test-wcrtomb-w32-3.sh: New file.
3846         * tests/test-wcrtomb-w32-4.sh: New file.
3847         * tests/test-wcrtomb-w32-5.sh: New file.
3848         * tests/test-wcrtomb-w32.c: New file.
3849         * modules/wcrtomb-tests (Files): Add them.
3850         (Makefile.am): Arrange to run these tests.
3851         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
3852         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
3853
3854 2011-02-20  Bruno Haible  <bruno@clisp.org>
3855
3856         wcrtomb: Enhance test.
3857         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
3858
3859 2011-02-20  Bruno Haible  <bruno@clisp.org>
3860
3861         mbrtowc: Tiny optimization.
3862         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
3863
3864 2011-02-20  Jim Meyering  <meyering@redhat.com>
3865
3866         test-exclude.c: remove unmatched #endif
3867         * tests/test-exclude.c: Remove stray #endif, left over from
3868         the change of a week ago.
3869
3870 2011-02-19  Jim Meyering  <meyering@redhat.com>
3871
3872         git-version-gen: skip "-dirty" check when appropriate
3873         * build-aux/git-version-gen: Don't run any git commands when the
3874         version string comes from .tarball-version.  Prior to this, we
3875         would run git update-index --refresh even from a just-unpacked
3876         tarball directory, and that could affect a .git/ directory in a
3877         parent of the build directory.  Reported by Mike Frysinger.
3878
3879 2011-02-19  Bruno Haible  <bruno@clisp.org>
3880
3881         unictype/property-byname: Reduce the size of the 'data' segment.
3882         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
3883
3884 2011-02-19  Bruno Haible  <bruno@clisp.org>
3885
3886         unictype/scripts: Reduce the size of the 'data' segment.
3887         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
3888         '%pic'.
3889         * lib/unictype/scripts_byname.gperf: Regenerated.
3890
3891 2011-02-19  Bruno Haible  <bruno@clisp.org>
3892
3893         stdint: Update documentation.
3894         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
3895
3896 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
3897
3898         stdint: omit redundant check for wchar.h
3899         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
3900         always tests whether wchar.h exists, so remove the now-redundant test.
3901
3902 2011-02-18  Bruno Haible  <bruno@clisp.org>
3903
3904         stdint: Cut dependency to module 'wchar'.
3905         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
3906         include the necessary prerequisites.
3907         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
3908         * modules/stdint (Depends-on): Remove wchar.
3909         (Makefile.am): Substitute HAVE_WCHAR_H.
3910         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
3911
3912 2011-02-18  Eric Blake  <eblake@redhat.com>
3913
3914         longlong: skip, rather than fail, on cross-compilation
3915         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
3916         when cross-compiling; regression from 2011-02-16.
3917
3918 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
3919
3920         * NEWS: Mention 2011-02-08 change to stdlib.
3921
3922 2011-02-17  Bruno Haible  <bruno@clisp.org>
3923
3924         getloadavg: Add comments about platforms.
3925         * m4/getloadavg.m4: Add comment.
3926         * lib/getloadavg.c: Likewise.
3927
3928 2011-02-17  Bruno Haible  <bruno@clisp.org>
3929
3930         getloadavg: Fix link error on Solaris 2.6.
3931         * modules/getloadavg (Link): New section.
3932         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
3933         linking test-getloadavg.
3934         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
3935         getloadavg.
3936
3937 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
3938
3939         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
3940         It was 'int', but this doesn't match the IRIX 6.5 manual.
3941         Suggested by Bruno Haible in
3942         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
3943
3944 2011-02-17  Bruno Haible  <bruno@clisp.org>
3945
3946         havelib: Fix comments.
3947         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
3948         change.
3949
3950 2011-02-17  Bruno Haible  <bruno@clisp.org>
3951
3952         havelib: Update config.rpath.
3953         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
3954
3955 2011-02-17  Bruno Haible  <bruno@clisp.org>
3956
3957         getloadavg test: Add some plausibility checks.
3958         * tests/test-getloadavg.c (check_avg): Print a warning when the value
3959         is improbable.
3960
3961 2011-02-16  Eric Blake  <eblake@redhat.com>
3962
3963         maintainer-makefile: make syntax-check a no-op from tarballs
3964         * top/maint.mk (no-vc-detected): New rule.
3965         (local-checks-available): Use it to avoid hanging if someone tries
3966         'make syntax-check' from a tarball.  Also append to any non-syntax
3967         checks already defined in cfg.mk.
3968
3969 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
3970
3971         longlong: tune, particularly for common case of c99
3972
3973         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
3974         or running anything if c99, or if unsigned long long int does not
3975         work.  In either case, we know the answer without further tests.
3976         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
3977         it at most once, and use its results for both long long int and
3978         unsigned long long int.  This is more likely to be efficient in
3979         the common case where the program wants to check for both long
3980         long int and unsigned long long int.
3981         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
3982         since the answer is already known.
3983
3984 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
3985
3986         getloadavg: set errno
3987         * lib/getloadavg.c: Set errno when returning -1.  If no other
3988         error number looks appropriate, set it to ENOSYS if the getloadavg
3989         looks like it can't possibly ever work, ENOTSUP otherwise.
3990         Suggested by Bruno Haible in
3991         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
3992
3993         getloadavg: trim unused parts and speed up 'configure'
3994         * NEWS: Document this.
3995         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
3996         always compiled if getloadavg is absent.
3997         Move test code to ...
3998         * tests/test-getloadavg.c: New file, containing previous
3999         contents of test from lib/getloadavg.c.  It also contains
4000         suggestions by Bruno Haible in
4001         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
4002         * modules/getloadavg-tests: New file.
4003         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
4004         Do tests in the same order as they're needed for getloadavg.c.
4005         Omit setgid-related tests that generate symbols KMEM_GROUP,
4006         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
4007         Do only the tests that are needed to see whether the system has
4008         getloadavg, moving the other tests into ...
4009         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
4010         NLIST_NAME_UNION; nobody should be using it.  Do not define
4011         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
4012         relevant, as the user of this module shouldn't care how getloadavg
4013         is implemented.
4014
4015         getloadavg: omit unused var
4016         * lib/getloadavg.c (getloadavg): Omit unused local variable.
4017
4018 2011-02-15  Jim Meyering  <meyering@redhat.com>
4019
4020         doc: update users.txt
4021         * users.txt: Update iwhd's URL.
4022
4023 2011-02-13  Bruno Haible  <bruno@clisp.org>
4024
4025         Consistent macro naming for macros that use GCC __attribute__.
4026         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
4027         _ATTRIBUTE_NONNULL_.
4028         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
4029         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
4030         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
4031         ATTRIBUTE_DEPRECATED.
4032         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
4033         ATTRIBUTE_NORETURN.
4034         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
4035         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
4036         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
4037         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
4038         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
4039         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
4040         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
4041         ATTRIBUTE_SENTINEL.
4042         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
4043         ATTRIBUTE_RETURN_CHECK.
4044         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
4045         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
4046         ATTRIBUTE_NORETURN.
4047         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
4048         Reported by Paul Eggert.
4049
4050 2011-02-13  Bruno Haible  <bruno@clisp.org>
4051
4052         Don't interfere with a program's definition of __attribute__.
4053         * lib/argp.h (__attribute__): Remove definition.
4054         (_GL_ATTRIBUTE_FORMAT): New macro.
4055         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
4056         * lib/argp-fmtstream.h (__attribute__): Remove definition.
4057         (_GL_ATTRIBUTE_FORMAT): New macro.
4058         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
4059         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
4060         GCC 3 or newer.
4061         * lib/error.h (__attribute__): Remove definition.
4062         (_GL_ATTRIBUTE_FORMAT): New macro.
4063         (error, error_at_line): Use it.
4064         * lib/hash.h (__attribute__): Remove definition.
4065         (ATTRIBUTE_WUR): Update definition. Define always.
4066         * lib/openat.h (__attribute__): Remove definition.
4067         (ATTRIBUTE_NORETURN): Update definition. Define always.
4068         * lib/sigpipe-die.h (__attribute__): Remove definition.
4069         (ATTRIBUTE_NORETURN): Update definition. Define always.
4070         * lib/vasnprintf.h (__attribute__): Remove definition.
4071         (_GL_ATTRIBUTE_FORMAT): New macro.
4072         (asnprintf, vasnprintf): Use it.
4073         * lib/xalloc.h (__attribute__): Remove definition.
4074         (ATTRIBUTE_NORETURN): Update definition. Define always.
4075         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
4076         * lib/xmemdup0.h (__attribute__): Remove definition.
4077         (ATTRIBUTE_NORETURN): Update definition. Define always.
4078         * lib/xprintf.h (__attribute__): Remove definition.
4079         (_GL_ATTRIBUTE_FORMAT): New macro.
4080         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
4081         * lib/xstrtol.h (__attribute__): Remove definition.
4082         (ATTRIBUTE_NORETURN): Update definition. Define always.
4083         * lib/xvasprintf.h (__attribute__): Remove definition.
4084         (_GL_ATTRIBUTE_FORMAT): New macro.
4085         (xasprintf, xvasprintf): Use it.
4086         * tests/test-argmatch.c (__attribute__): Remove definition.
4087         (ATTRIBUTE_NORETURN): Update definition. Define always.
4088         * tests/test-exclude.c (__attribute__): Remove definition.
4089         (ATTRIBUTE_NORETURN): Update definition. Define always.
4090         Reported by Paul Eggert.
4091
4092 2011-02-13  Bruno Haible  <bruno@clisp.org>
4093
4094         mbrtowc: Add more tests for native Windows platforms.
4095         * tests/test-mbrtowc-w32-1.sh: New file.
4096         * tests/test-mbrtowc-w32-2.sh: New file.
4097         * tests/test-mbrtowc-w32-3.sh: New file.
4098         * tests/test-mbrtowc-w32-4.sh: New file.
4099         * tests/test-mbrtowc-w32-5.sh: New file.
4100         * tests/test-mbrtowc-w32.c: New file.
4101         * modules/mbrtowc-tests (Files): Add them.
4102         (Makefile.am): Arrange to run these tests.
4103         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
4104         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
4105
4106 2011-02-13  Bruno Haible  <bruno@clisp.org>
4107
4108         mbrtowc: Work around native Windows bug.
4109         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
4110         guess when no suitable locale for testing was found.
4111         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
4112
4113 2011-02-13  Bruno Haible  <bruno@clisp.org>
4114
4115         mbsinit: Work around mingw bug.
4116         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
4117         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
4118         Windows.
4119         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
4120
4121 2011-02-13  Bruno Haible  <bruno@clisp.org>
4122
4123         mbsinit: Don't crash for a NULL argument.
4124         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
4125         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
4126
4127 2011-02-13  Bruno Haible  <bruno@clisp.org>
4128
4129         Don't interfere with a program's definition of __attribute__.
4130         * lib/stdio.in.h (__attribute__): Remove definition.
4131         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
4132         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
4133         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
4134         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
4135         * lib/string.in.h (__attribute__): Remove definition.
4136         Reported by Paul Eggert.
4137
4138 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
4139
4140         stdlib: don't get in the way of non-GCC __attribute__
4141         See thread starting at
4142         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
4143         Revert previous stdlib change, installing the following instead:
4144         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
4145         to get in the way of a non-GCC compiler that supports __attribute__.
4146         (_GL_ATTRIBUTE_RETURN): New macro.
4147         (_Exit): Use it instead of __attribute__.
4148
4149 2011-02-12  Bruno Haible  <bruno@clisp.org>
4150
4151         quotearg test: Avoid test failure on mingw.
4152         * tests/test-quotearg.sh: Convert the locale identifier from native
4153         Windows syntax to Unix syntax.
4154
4155 2011-02-12  Bruno Haible  <bruno@clisp.org>
4156
4157         setlocale: Prefer gnulib's override over libintl's override.
4158         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
4159         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
4160         GNULIB_defined_setlocale is set.
4161
4162 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
4163
4164         stdlib: support non-GCC __attribute__
4165
4166         Fix a serious and tricky problem encountered when attempting to
4167         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
4168         5.5, but it crashed due to memory corruption on Solaris 10 with
4169         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
4170         bits that are otherwise zero.  This tagging is optional inside
4171         Emacs but is preferred and is used when __attribute__ ((__aligned
4172         (8))) works, as it does with both recent-enough GCC and with Sun C
4173         5.11.  However, Sun C 5.11 is not GCC and does not #define
4174         __GNUC__ and __GNUC_MINOR__.
4175
4176         When I added the getloadavg module to Emacs, it brought in
4177         stdlib.in.h, which contained this fragment:
4178
4179            #ifndef __attribute__
4180            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
4181            #  define __attribute__(Spec)   /* empty */
4182            # endif
4183            #endif
4184
4185         When files that include <stdlib.h> were compiled with Sun C 5.11,
4186         the above code disabled __attribute__ ((__aligned (8))), which
4187         caused variables to not be properly aligned, which eventually led
4188         to the pointer corruption mentioned above.  (This was a bit hard
4189         to diagnose, unfortunately.)
4190
4191         Several "#define __attribute__(X) /* empty */" code snippets need
4192         to be eradicated from Gnulib to work with non-GCC compilers that
4193         support __attribute__.  The Autoconf way to do this is to test for
4194         each kind of attribute that we want support for, and selectively
4195         enable that in source code.
4196
4197         Fix this problem just for stdlib.h, by adding a test for the
4198         __noreturn__ attribute, and change stdlib.in.h to use that test
4199         when needed.  This technique can be easily generalized to the
4200         other *.in.h files and attributes, and a similar technique can be
4201         used for *.h and *.c files.  This patch is enough to solve the
4202         problem for Emacs + getloadavg, and I thought I'd publish it for
4203         feedback before undertaking further, similar fixes in other
4204         modules.
4205
4206         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
4207         because it's not needed for stdlib.h.  It merely substitutes the
4208         value directly into stdlib.h.  We may well need to #define it, or
4209         similar symbols, for other modules, but it's nice to also have an
4210         option to not #define it for applications like Emacs that do not
4211         need it.
4212
4213         * lib/stdlib.in.h (__attribute__): Do not #define.
4214         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
4215         be defined only if the _Exit module is also used.
4216         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
4217         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
4218         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
4219         platforms.
4220         * modules/_Exit (Files): Add m4/attribute.m4.
4221         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
4222         * m4/attribute.m4: New file.
4223
4224 2011-02-12  Bruno Haible  <bruno@clisp.org>
4225
4226         wcsrtombs: Work around bug on native Windows.
4227         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
4228         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
4229         instead of len.
4230         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
4231
4232 2011-02-12  Bruno Haible  <bruno@clisp.org>
4233
4234         mbsrtowcs: Work around bug on native Windows.
4235         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
4236         against mingw bug.
4237         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
4238
4239 2011-02-12  Bruno Haible  <bruno@clisp.org>
4240
4241         Avoid setlocale bugs in tests.
4242         * modules/btowc (Dependencies): Add setlocale.
4243         * modules/c-strcase (Dependencies): Likewise.
4244         * modules/mbmemcasecmp (Dependencies): Likewise.
4245         * modules/mbmemcasecoll (Dependencies): Likewise.
4246         * modules/mbrtowc (Dependencies): Likewise.
4247         * modules/mbscasecmp (Dependencies): Likewise.
4248         * modules/mbscasestr (Dependencies): Likewise.
4249         * modules/mbschr (Dependencies): Likewise.
4250         * modules/mbscspn (Dependencies): Likewise.
4251         * modules/mbsinit (Dependencies): Likewise.
4252         * modules/mbsncasecmp (Dependencies): Likewise.
4253         * modules/mbsnrtowcs (Dependencies): Likewise.
4254         * modules/mbspbrk (Dependencies): Likewise.
4255         * modules/mbspcasecmp (Dependencies): Likewise.
4256         * modules/mbsrchr (Dependencies): Likewise.
4257         * modules/mbsrtowcs (Dependencies): Likewise.
4258         * modules/mbsspn (Dependencies): Likewise.
4259         * modules/mbsstr (Dependencies): Likewise.
4260         * modules/nl_langinfo (Dependencies): Likewise.
4261         * modules/quotearg (Dependencies): Likewise.
4262         * modules/unicase/locale-language (Dependencies): Likewise.
4263         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
4264         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
4265         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
4266         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
4267         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
4268         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
4269         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
4270         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
4271         * modules/vasnprintf-posix (Dependencies): Likewise.
4272         * modules/wcrtomb (Dependencies): Likewise.
4273         * modules/wcsnrtombs (Dependencies): Likewise.
4274         * modules/wcsrtombs (Dependencies): Likewise.
4275
4276 2011-02-12  Bruno Haible  <bruno@clisp.org>
4277
4278         setlocale: Workaround native Windows bug.
4279         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
4280         succeeds but sets LC_CTYPE to "C", report a failure.
4281         * tests/test-setlocale2.sh: New file.
4282         * tests/test-setlocale2.c: New file.
4283         * modules/setlocale-tests (Files): Add the new files.
4284         (Makefile.am): Enable test-setlocale2.sh test.
4285         * doc/posix-functions/setlocale.texi: Mention workaround.
4286
4287 2011-02-11  Bruno Haible  <bruno@clisp.org>
4288
4289         Tests for module 'setlocale'.
4290         * modules/setlocale-tests: New file.
4291         * tests/test-setlocale1.sh: New file.
4292         * tests/test-setlocale1.c: New file.
4293
4294         New module 'setlocale'.
4295         * lib/locale.in.h (setlocale): New declaration.
4296         * lib/setlocale.c: New file, based on
4297         gettext/gettext-runtime/intl/setlocale.c.
4298         * m4/setlocale.m4: New file.
4299         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
4300         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
4301         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
4302         REPLACE_SETLOCALE.
4303         * modules/setlocale: New file.
4304         * tests/test-locale-c++.cc: Test the declaration of setlocale.
4305         * doc/posix-functions/setlocale.texi: Mention the new module.
4306
4307 2011-02-11  Bruno Haible  <bruno@clisp.org>
4308
4309         Prepare for locale dependent tests on mingw.
4310         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
4311         because it has the wrong locale encoding.
4312         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
4313         French_France.1252 instead of "fr".
4314         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
4315         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
4316         because it has the wrong locale encoding.
4317         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
4318         native Windows, try Turkish_Turkey.65001.
4319         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
4320         Chinese_China.54936.
4321
4322         Prepare for locale dependent tests on mingw.
4323         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
4324         differently.
4325         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
4326         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
4327         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
4328         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
4329
4330 2011-02-11  Eric Blake  <eblake@redhat.com>
4331
4332         strptime: avoid compiler warnings
4333         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
4334         compiler warnings about dead code.
4335         Reported by Daniel P. Berrange.
4336
4337 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
4338
4339         doc: update users.txt
4340         * users.txt: Add rcs.
4341
4342 2011-02-10  John W. Eaton  <jwe@gnu.org>
4343
4344         doc: update users.txt
4345         * users.txt: Add octave.
4346
4347 2011-02-10  Jim Meyering  <meyering@redhat.com>
4348
4349         doc: update users.txt
4350         * users.txt: Add iwhd.
4351
4352 2011-02-09  Bruno Haible  <bruno@clisp.org>
4353
4354         gnulib-tool: Make copyright notice adjustment more robust.
4355         * gnulib-tool (func_import): In sed_transform_main_lib_file,
4356         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
4357         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
4358         License".
4359         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
4360
4361 2011-02-06  Bruno Haible  <bruno@clisp.org>
4362
4363         New module 'towctrans'.
4364         * modules/towctrans: New file.
4365         * lib/wctype.in.h (towctrans): New declaration.
4366         * lib/towctrans.c: New file.
4367         * lib/towctrans-impl.h: New file.
4368         * m4/towctrans.m4: New file.
4369         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
4370         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
4371         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
4372         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
4373         * doc/posix-functions/towctrans.texi: Mention the new module.
4374
4375 2011-02-06  Bruno Haible  <bruno@clisp.org>
4376
4377         New module 'wctrans'.
4378         * modules/wctrans: New file.
4379         * lib/wctype.in.h (wctrans): New declaration.
4380         * lib/wctrans.c: New file.
4381         * lib/wctrans-impl.h: New file.
4382         * m4/wctrans.m4: New file.
4383         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
4384         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
4385         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
4386         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
4387         * doc/posix-functions/wctrans.texi: Mention the new module.
4388
4389 2011-02-06  Bruno Haible  <bruno@clisp.org>
4390
4391         New module 'iswctype'.
4392         * modules/iswctype: New file.
4393         * lib/wctype.in.h (iswctype): New declaration.
4394         * lib/iswctype.c: New file.
4395         * lib/iswctype-impl.h: New file.
4396         * m4/iswctype.m4: New file.
4397         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
4398         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
4399         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
4400         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
4401         * doc/posix-functions/iswctype.texi: Mention the new module and the
4402         HP-UX 11.00 problem.
4403
4404 2011-02-06  Bruno Haible  <bruno@clisp.org>
4405
4406         New module 'wctype'.
4407         * modules/wctype: Change to represent the wctype() substitute.
4408         * lib/wctype.in.h (wctype): New declaration.
4409         * lib/wctype.c: New file.
4410         * lib/wctype-impl.h: New file.
4411         * m4/wctype.m4: New file.
4412         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
4413         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
4414         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
4415         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
4416         * doc/posix-functions/wctype.texi: Mention the new module and the
4417         HP-UX 11.00 problem.
4418
4419 2011-02-06  Bruno Haible  <bruno@clisp.org>
4420
4421         wctype-h: Ensure wctype_t and wctrans_t are defined.
4422         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
4423         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
4424         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
4425         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
4426         HAVE_WCTRANS_T.
4427         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
4428
4429 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
4430
4431         flock: fix license typo
4432
4433         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
4434         omitted.
4435
4436 2011-02-08  Bruno Haible  <bruno@clisp.org>
4437
4438         Split large sed scripts, for HP-UX sed.
4439         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
4440         to avoid HP-UX limit of 99 commands, in the near future.
4441         * modules/stdlib (Makefile.am): Likewise.
4442         * modules/unistd (Makefile.am): Likewise.
4443         * modules/wchar (Makefile.am): Likewise.
4444         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
4445         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
4446         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
4447
4448 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
4449             Bruno Haible  <bruno@clisp.org>
4450
4451         stdlib: improve random_r modularization
4452         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
4453         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
4454         you also need the random_r module to get this material right.
4455         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
4456         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
4457         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
4458
4459 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
4460
4461         stdlib: don't depend on stdint
4462         * lib/stdlib.in.h: Don't include <stdint.h> merely because
4463         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
4464         be independent of whether stdint.h is needed.
4465         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
4466         here, instead of ...
4467         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
4468         struct random_data should be using the random_r module, not just
4469         the stdlib module (which wouldn't make sense: what package needs
4470         just struct random_data without also needing random_r?).
4471         * modules/stdlib (Depends-on): Remove stdint.
4472
4473         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
4474         See the thread rooted at
4475         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
4476         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
4477         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
4478         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
4479         __VMS)); previously it was always included (via fcntl--.h).
4480         (getloadavg): Do not use c_strtod.  Instead, approximate it by
4481         hand; this is good enough for load averages.  Also, do not use
4482         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
4483         flags directly if available and don't bother otherwise.  (Packages
4484         that need the extra reliability should use the modules that define
4485         these flags on older platforms that lack them.)
4486         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
4487         fcntl-safer.
4488
4489 2011-02-08  Jim Meyering  <meyering@redhat.com>
4490
4491         di-set.h, ino-map.h: add multiple-inclusion guard
4492         Technically, the guard is required only for ino-map.h, due to its
4493         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
4494         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
4495         * lib/ino-map.h: Likewise.
4496
4497 2011-02-06  Bruno Haible  <bruno@clisp.org>
4498
4499         iswblank: Ensure declaration on glibc systems.
4500         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
4501         * modules/iswblank (Dependencies): Add 'extensions'.
4502         * doc/posix-functions/iswblank.texi: Document the glibc problem.
4503
4504 2011-02-06  Bruno Haible  <bruno@clisp.org>
4505
4506         New module 'iswblank'.
4507         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
4508         * modules/iswblank: New file.
4509         * modules/wctype-h (Files): Remove lib/iswblank.c.
4510         (Makefile.am): Substitute GNULIB_ISWBLANK.
4511         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
4512         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
4513         (gl_WCTYPE_H_DEFAULTS): New macro.
4514         (gl_WCTYPE_H): Require it. Remove iswblank related code.
4515         * modules/iswblank-tests: New file.
4516         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
4517         * tests/test-wctype-h.c (main): Remove iswblank tests.
4518         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
4519         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
4520         of 'wctype-h'.
4521         * NEWS: Mention the change.
4522         * modules/mbchar (Depends-on): Add iswblank.
4523
4524 2011-02-08  Bruno Haible  <bruno@clisp.org>
4525
4526         di-set tests: Refactor.
4527         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
4528         unnecessary includes.
4529         (ASSERT): Remove macro.
4530         (main): Make C90 compliant by avoiding variable declaration after
4531         statement.
4532         * modules/di-set-tests (Files): Add tests/macros.h.
4533
4534 2011-02-08  Bruno Haible  <bruno@clisp.org>
4535
4536         ino-map tests: Refactor.
4537         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
4538         unnecessary includes.
4539         (ASSERT): Remove macro.
4540         (main): Make C90 compliant by avoiding variable declaration after
4541         statement.
4542         * modules/ino-map-tests (Files): Add tests/macros.h.
4543
4544 2011-02-08  Jim Meyering  <meyering@redhat.com>
4545
4546         di-set: add "const" to a cast
4547         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
4548         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
4549
4550 2011-02-06  Bruno Haible  <bruno@clisp.org>
4551
4552         Rename module 'wctype' to 'wctype-h'.
4553         * modules/wctype-h: Renamed from modules/wctype.
4554         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
4555         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
4556         (Files, Depends-on, Makefile.am): Update.
4557         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
4558         (Files, Makefile.am): Update.
4559         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
4560         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
4561         * doc/posix-headers/wctype.texi: Update.
4562         * doc/posix-functions/iswalnum.texi: Update.
4563         * doc/posix-functions/iswalpha.texi: Update.
4564         * doc/posix-functions/iswblank.texi: Update.
4565         * doc/posix-functions/iswcntrl.texi: Update.
4566         * doc/posix-functions/iswdigit.texi: Update.
4567         * doc/posix-functions/iswgraph.texi: Update.
4568         * doc/posix-functions/iswlower.texi: Update.
4569         * doc/posix-functions/iswprint.texi: Update.
4570         * doc/posix-functions/iswpunct.texi: Update.
4571         * doc/posix-functions/iswspace.texi: Update.
4572         * doc/posix-functions/iswupper.texi: Update.
4573         * doc/posix-functions/iswxdigit.texi: Update.
4574         * doc/posix-functions/towlower.texi: Update.
4575         * doc/posix-functions/towupper.texi: Update.
4576         * NEWS: Mention the change.
4577         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
4578         * modules/mbchar (Dependencies): Likewise.
4579         * modules/mbswidth (Dependencies): Likewise.
4580         * modules/quotearg (Dependencies): Likewise.
4581         * modules/regex (Dependencies): Likewise.
4582         * modules/wcscasecmp (Dependencies): Likewise.
4583         * modules/wcsncasecmp (Dependencies): Likewise.
4584         * modules/wcwidth (Dependencies): Likewise.
4585
4586 2011-02-06  Bruno Haible  <bruno@clisp.org>
4587
4588         New module 'wcswidth'.
4589         * modules/wcswidth: New file.
4590         * lib/wchar.in.h (wcswidth): New declaration.
4591         * lib/wcswidth.c: New file.
4592         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
4593         * m4/wcswidth.m4: New file.
4594         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
4595         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
4596         REPLACE_WCSWIDTH.
4597         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
4598         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
4599         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
4600         * doc/posix-functions/wcswidth.texi: Mention the new module.
4601
4602 2011-02-06  Bruno Haible  <bruno@clisp.org>
4603
4604         New module 'wcstok'.
4605         * modules/wcstok: New file.
4606         * lib/wchar.in.h (wcstok): New declaration.
4607         * lib/wcstok.c: New file.
4608         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
4609         * m4/wcstok.m4: New file.
4610         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
4611         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
4612         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
4613         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
4614         * doc/posix-functions/wcstok.texi: Mention the new module.
4615
4616 2011-02-06  Bruno Haible  <bruno@clisp.org>
4617
4618         New module 'wcsstr'.
4619         * modules/wcsstr: New file.
4620         * lib/wchar.in.h (wcsstr): New declaration.
4621         * lib/wcsstr.c: New file.
4622         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
4623         * m4/wcsstr.m4: New file.
4624         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
4625         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
4626         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
4627         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
4628         * doc/posix-functions/wcsstr.texi: Mention the new module.
4629
4630 2011-02-06  Bruno Haible  <bruno@clisp.org>
4631
4632         New module 'wcspbrk'.
4633         * modules/wcspbrk: New file.
4634         * lib/wchar.in.h (wcspbrk): New declaration.
4635         * lib/wcspbrk.c: New file.
4636         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
4637         * m4/wcspbrk.m4: New file.
4638         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
4639         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
4640         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
4641         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
4642         * doc/posix-functions/wcspbrk.texi: Mention the new module.
4643
4644 2011-02-06  Bruno Haible  <bruno@clisp.org>
4645
4646         New module 'wcsspn'.
4647         * modules/wcsspn: New file.
4648         * lib/wchar.in.h (wcsspn): New declaration.
4649         * lib/wcsspn.c: New file.
4650         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
4651         * m4/wcsspn.m4: New file.
4652         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
4653         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
4654         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
4655         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
4656         * doc/posix-functions/wcsspn.texi: Mention the new module.
4657
4658 2011-02-06  Bruno Haible  <bruno@clisp.org>
4659
4660         New module 'wcscspn'.
4661         * modules/wcscspn: New file.
4662         * lib/wchar.in.h (wcscspn): New declaration.
4663         * lib/wcscspn.c: New file.
4664         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
4665         * m4/wcscspn.m4: New file.
4666         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
4667         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
4668         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
4669         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
4670         * doc/posix-functions/wcscspn.texi: Mention the new module.
4671
4672 2011-02-06  Bruno Haible  <bruno@clisp.org>
4673
4674         New module 'wcsrchr'.
4675         * modules/wcsrchr: New file.
4676         * lib/wchar.in.h (wcsrchr): New declaration.
4677         * lib/wcsrchr.c: New file.
4678         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
4679         * m4/wcsrchr.m4: New file.
4680         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
4681         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
4682         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
4683         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
4684         * doc/posix-functions/wcsrchr.texi: Mention the new module.
4685
4686 2011-02-06  Bruno Haible  <bruno@clisp.org>
4687
4688         New module 'wcschr'.
4689         * modules/wcschr: New file.
4690         * lib/wchar.in.h (wcschr): New declaration.
4691         * lib/wcschr.c: New file.
4692         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
4693         * m4/wcschr.m4: New file.
4694         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
4695         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
4696         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
4697         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
4698         * doc/posix-functions/wcschr.texi: Mention the new module.
4699
4700 2011-02-06  Bruno Haible  <bruno@clisp.org>
4701
4702         New module 'wcsdup'.
4703         * modules/wcsdup: New file.
4704         * lib/wchar.in.h (wcsdup): New declaration.
4705         * lib/wcsdup.c: New file.
4706         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
4707         * m4/wcsdup.m4: New file.
4708         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
4709         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
4710         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
4711         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
4712         * doc/posix-functions/wcsdup.texi: Mention the new module.
4713
4714 2011-02-06  Bruno Haible  <bruno@clisp.org>
4715
4716         New module 'wcsxfrm'.
4717         * modules/wcsxfrm: New file.
4718         * lib/wchar.in.h (wcsxfrm): New declaration.
4719         * lib/wcsxfrm.c: New file.
4720         * lib/wcsxfrm-impl.h: New file.
4721         * m4/wcsxfrm.m4: New file.
4722         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
4723         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
4724         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
4725         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
4726         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
4727
4728 2011-02-06  Bruno Haible  <bruno@clisp.org>
4729
4730         New module 'wcscoll'.
4731         * modules/wcscoll: New file.
4732         * lib/wchar.in.h (wcscoll): New declaration.
4733         * lib/wcscoll.c: New file.
4734         * lib/wcscoll-impl.h: New file.
4735         * m4/wcscoll.m4: New file.
4736         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
4737         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
4738         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
4739         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
4740         * doc/posix-functions/wcscoll.texi: Mention the new module.
4741
4742 2011-02-06  Bruno Haible  <bruno@clisp.org>
4743
4744         New module 'wcsncasecmp'.
4745         * modules/wcsncasecmp: New file.
4746         * lib/wchar.in.h (wcsncasecmp): New declaration.
4747         * lib/wcsncasecmp.c: New file.
4748         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
4749         * m4/wcsncasecmp.m4: New file.
4750         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
4751         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
4752         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
4753         HAVE_WCSNCASECMP.
4754         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
4755         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
4756
4757 2011-02-06  Bruno Haible  <bruno@clisp.org>
4758
4759         New module 'wcscasecmp'.
4760         * modules/wcscasecmp: New file.
4761         * lib/wchar.in.h (wcscasecmp): New declaration.
4762         * lib/wcscasecmp.c: New file.
4763         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
4764         * m4/wcscasecmp.m4: New file.
4765         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
4766         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
4767         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
4768         HAVE_WCSCASECMP.
4769         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
4770         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
4771
4772 2011-02-05  Bruno Haible  <bruno@clisp.org>
4773
4774         New module 'wcsncmp'.
4775         * modules/wcsncmp: New file.
4776         * lib/wchar.in.h (wcsncmp): New declaration.
4777         * lib/wcsncmp.c: New file.
4778         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
4779         * m4/wcsncmp.m4: New file.
4780         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
4781         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
4782         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
4783         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
4784         * doc/posix-functions/wcsncmp.texi: Mention the new module.
4785
4786 2011-02-05  Bruno Haible  <bruno@clisp.org>
4787
4788         New module 'wcscmp'.
4789         * modules/wcscmp: New file.
4790         * lib/wchar.in.h (wcscmp): New declaration.
4791         * lib/wcscmp.c: New file.
4792         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
4793         * m4/wcscmp.m4: New file.
4794         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
4795         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
4796         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
4797         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
4798         * doc/posix-functions/wcscmp.texi: Mention the new module.
4799
4800 2011-02-05  Bruno Haible  <bruno@clisp.org>
4801
4802         New module 'wcsncat'.
4803         * modules/wcsncat: New file.
4804         * lib/wchar.in.h (wcsncat): New declaration.
4805         * lib/wcsncat.c: New file.
4806         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
4807         * m4/wcsncat.m4: New file.
4808         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
4809         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
4810         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
4811         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
4812         * doc/posix-functions/wcsncat.texi: Mention the new module.
4813
4814 2011-02-05  Bruno Haible  <bruno@clisp.org>
4815
4816         New module 'wcscat'.
4817         * modules/wcscat: New file.
4818         * lib/wchar.in.h (wcscat): New declaration.
4819         * lib/wcscat.c: New file.
4820         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
4821         * m4/wcscat.m4: New file.
4822         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
4823         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
4824         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
4825         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
4826         * doc/posix-functions/wcscat.texi: Mention the new module.
4827
4828 2011-02-05  Bruno Haible  <bruno@clisp.org>
4829
4830         New module 'wcpncpy'.
4831         * modules/wcpncpy: New file.
4832         * lib/wchar.in.h (wcpncpy): New declaration.
4833         * lib/wcpncpy.c: New file.
4834         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
4835         * m4/wcpncpy.m4: New file.
4836         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
4837         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
4838         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
4839         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
4840         * doc/posix-functions/wcpncpy.texi: Mention the new module.
4841
4842 2011-02-05  Bruno Haible  <bruno@clisp.org>
4843
4844         New module 'wcsncpy'.
4845         * modules/wcsncpy: New file.
4846         * lib/wchar.in.h (wcsncpy): New declaration.
4847         * lib/wcsncpy.c: New file.
4848         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
4849         * m4/wcsncpy.m4: New file.
4850         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
4851         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
4852         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
4853         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
4854         * doc/posix-functions/wcsncpy.texi: Mention the new module.
4855
4856 2011-02-05  Bruno Haible  <bruno@clisp.org>
4857
4858         New module 'wcpcpy'.
4859         * modules/wcpcpy: New file.
4860         * lib/wchar.in.h (wcpcpy): New declaration.
4861         * lib/wcpcpy.c: New file.
4862         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
4863         * m4/wcpcpy.m4: New file.
4864         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
4865         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
4866         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
4867         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
4868         * doc/posix-functions/wcpcpy.texi: Mention the new module.
4869
4870 2011-02-05  Bruno Haible  <bruno@clisp.org>
4871
4872         New module 'wcscpy'.
4873         * modules/wcscpy: New file.
4874         * lib/wchar.in.h (wcscpy): New declaration.
4875         * lib/wcscpy.c: New file.
4876         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
4877         * m4/wcscpy.m4: New file.
4878         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
4879         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
4880         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
4881         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
4882         * doc/posix-functions/wcscpy.texi: Mention the new module.
4883
4884 2011-02-05  Bruno Haible  <bruno@clisp.org>
4885
4886         New module 'wcsnlen'.
4887         * modules/wcsnlen: New file.
4888         * lib/wchar.in.h (wcsnlen): New declaration.
4889         * lib/wcsnlen.c: New file.
4890         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
4891         * m4/wcsnlen.m4: New file.
4892         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
4893         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
4894         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
4895         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
4896         * doc/posix-functions/wcsnlen.texi: Mention the new module.
4897
4898 2011-02-05  Bruno Haible  <bruno@clisp.org>
4899
4900         New module 'wcslen'.
4901         * modules/wcslen: New file.
4902         * lib/wchar.in.h (wcslen): New declaration.
4903         * lib/wcslen.c: New file.
4904         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
4905         * m4/wcslen.m4: New file.
4906         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
4907         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
4908         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
4909         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
4910         * doc/posix-functions/wcslen.texi: Mention the new module.
4911
4912 2011-02-05  Bruno Haible  <bruno@clisp.org>
4913
4914         New module 'wmemset'.
4915         * modules/wmemset: New file.
4916         * lib/wchar.in.h (wmemset): New declaration.
4917         * lib/wmemset.c: New file.
4918         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
4919         * m4/wmemset.m4: New file.
4920         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
4921         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
4922         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
4923         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
4924         * doc/posix-functions/wmemset.texi: Mention the new module.
4925
4926 2011-02-05  Bruno Haible  <bruno@clisp.org>
4927
4928         New module 'wmemmove'.
4929         * modules/wmemmove: New file.
4930         * lib/wchar.in.h (wmemmove): New declaration.
4931         * lib/wmemmove.c: New file.
4932         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
4933         * m4/wmemmove.m4: New file.
4934         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
4935         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
4936         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
4937         HAVE_WMEMMOVE.
4938         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
4939         * doc/posix-functions/wmemmove.texi: Mention the new module.
4940
4941 2011-02-05  Bruno Haible  <bruno@clisp.org>
4942
4943         New module 'wmemcpy'.
4944         * modules/wmemcpy: New file.
4945         * lib/wchar.in.h (wmemcpy): New declaration.
4946         * lib/wmemcpy.c: New file.
4947         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
4948         * m4/wmemcpy.m4: New file.
4949         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
4950         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
4951         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
4952         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
4953         * doc/posix-functions/wmemcpy.texi: Mention the new module.
4954
4955 2011-02-05  Bruno Haible  <bruno@clisp.org>
4956
4957         New module 'wmemcmp'.
4958         * modules/wmemcmp: New file.
4959         * lib/wchar.in.h (wmemcmp): New declaration.
4960         * lib/wmemcmp.c: New file.
4961         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
4962         * m4/wmemcmp.m4: New file.
4963         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
4964         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
4965         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
4966         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
4967         * doc/posix-functions/wmemcmp.texi: Mention the new module.
4968
4969 2011-02-07  Jim Meyering  <meyering@redhat.com>
4970
4971         di-set, ino-map: new modules, from coreutils
4972         * lib/di-set.c: New file.
4973         * lib/di-set.h: Likewise.
4974         * lib/ino-map.c: Likewise.
4975         * lib/ino-map.h: Likewise.
4976         * modules/di-set: Likewise.
4977         * modules/di-set-tests: Likewise.
4978         * modules/ino-map: Likewise.
4979         * modules/ino-map-tests: Likewise.
4980         * tests/test-di-set.c: Likewise.
4981         * tests/test-ino-map.c: Likewise.
4982
4983 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
4984
4985         getloadavg: merge minor changes from Emacs
4986
4987         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
4988         (getloadavg): Use memset, not bzero.
4989
4990         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
4991         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
4992         clash (bug#86).
4993
4994 2010-11-14  Bruno Haible  <bruno@clisp.org>
4995
4996         Allow multiple gnulib generated replacements to coexist.
4997         * lib/getopt.in.h (struct option): Avoid identical redefinition.
4998         * lib/inttypes.in.h (imaxdiv_t): Likewise.
4999         * lib/langinfo.in.h (nl_item): Likewise.
5000         * lib/math.in.h (_NaN, NAN): Likewise.
5001         * lib/netdb.in.h (struct addrinfo): Likewise.
5002         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
5003         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
5004         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
5005         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
5006         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
5007         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
5008         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
5009         pthread_mutexattr_init, pthread_mutexattr_settype,
5010         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
5011         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
5012         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
5013         pthread_spin_trylock, pthread_spin_unlock): Likewise.
5014         * lib/sched.in.h (struct sched_param): Likewise.
5015         * lib/se-selinux.in.h (security_class_t, security_context_t,
5016         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
5017         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
5018         lsetfilecon, fsetfilecon, security_check_context,
5019         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
5020         Likewise.
5021         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
5022         Likewise.
5023         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
5024         _gl_function_taking_int_returning_void_t, union sigval,
5025         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
5026         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
5027         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
5028         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
5029         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
5030         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
5031         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
5032         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
5033         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
5034         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
5035         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
5036         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
5037         socklen_t, rpl_fd_isset): Likewise.
5038         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
5039         * lib/sys_time.in.h (struct timeval): Likewise.
5040         * lib/sys_times.in.h (struct tms): Likewise.
5041         * lib/sys_utsname.in.h (struct utsname):
5042         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
5043         * lib/unistd.in.h (getpagesize): Likewise.
5044         * lib/wchar.in.h (mbstate_t): Likewise.
5045         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
5046         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
5047         towlower, towupper): Likewise.
5048         Reported by Sam Steingold <sds@gnu.org>.
5049
5050 2011-02-05  Eric Blake  <eblake@redhat.com>
5051
5052         unsetenv: work around Haiku issues
5053         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
5054         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
5055
5056 2010-12-30  Bruce Korb  <bkorb@gnu.org>
5057
5058         libposix: avoid calling error() within libposix
5059         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
5060         is defined.
5061
5062 2011-02-05  Eric Blake  <eblake@redhat.com>
5063
5064         strerror_r-posix: port to cygwin
5065         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
5066         implementation.
5067         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
5068         * tests/test-strerror_r.c (main): Fix test.
5069         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
5070         issue.
5071
5072 2011-02-05  Bruno Haible  <bruno@clisp.org>
5073
5074         New module 'wmemchr'.
5075         * modules/wmemchr: New file.
5076         * lib/wchar.in.h (wmemchr): New declaration.
5077         * lib/wmemchr.c: New file.
5078         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
5079         * m4/wmemchr.m4: New file.
5080         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
5081         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
5082         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
5083         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
5084         * doc/posix-functions/wmemchr.texi: Mention the new module.
5085
5086 2011-02-04  Eric Blake  <eblake@redhat.com>
5087
5088         fdopendir: detect FreeBSD bug
5089         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
5090         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
5091
5092 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
5093
5094         stdbool: do not define HAVE_STDBOOL_H
5095         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
5096         AC_HEADER_STDBOOL.  All uses changed.  Do not define
5097         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
5098         imported from the latest Autoconf git.  It was motivated by Emacs,
5099         which uses gnulib but does not need HAVE_STDBOOL_H.
5100
5101 2011-02-04  Bruno Haible  <bruno@clisp.org>
5102
5103         wcsnrtombs: Prepare for new module wwcsnrtombs.
5104         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
5105         * lib/wcsnrtombs.c: Include it.
5106         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
5107
5108         wcsrtombs: Prepare for new module wwcsrtombs.
5109         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
5110         * lib/wcsrtombs.c: Include it.
5111         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
5112
5113         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
5114         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
5115         * lib/mbsnrtowcs.c: Include it.
5116         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
5117
5118         mbsrtowcs: Prepare for new module mbsrtowwcs.
5119         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
5120         * lib/mbsrtowcs.c: Include it.
5121         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
5122
5123 2011-02-04  Bruno Haible  <bruno@clisp.org>
5124
5125         vasnprintf: Reduce use of malloc for small format strings.
5126         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
5127         (arguments): Add room for the first 7 arguments.
5128         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
5129         (char_directives, u8_directives, u16_directives, u32_directives): Add
5130         room for the first 7 directives.
5131         * lib/printf-parse.c: Include <string.h>.
5132         (PRINTF_PARSE): Change memory handling code so that it uses the first
5133         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
5134         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
5135         Reported by Pádraig Brady <P@draigbrady.com>.
5136
5137 2011-01-31  Eric Blake  <eblake@redhat.com>
5138
5139         dup2: work around Haiku bug
5140         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
5141         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
5142         * doc/posix-functions/dup2.texi (dup2): Document the bug.
5143         * tests/test-dup2.c (main): Enhance test.
5144
5145 2011-01-31  Simon Josefsson  <simon@josefsson.org>
5146
5147         doc: off_t is not available in eglibc 2.11.2 stdio.h.
5148         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
5149         declared by eglibc 2.11.2.
5150         * lib/stdio.in.h: Likewise.
5151
5152 2011-01-31  Eric Blake  <eblake@redhat.com>
5153
5154         ignore-value: add missing test dependency
5155         * tests/test-ignore-value.c: Revert previous change; stdio.h
5156         provides off_t.
5157         * modules/ignore-value-tests (Depends-on): Add missing dependency.
5158
5159 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
5160
5161         mktime: clarify long_int width checking
5162         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
5163         the top level, to make it clearer that the assumption about
5164         long_int width is being checked.  See
5165         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
5166
5167 2011-01-30  Simon Josefsson  <simon@josefsson.org>
5168
5169         ignore-value: Fix self-test.
5170         * tests/test-ignore-value.c: Include sys/types.h for off_t.
5171
5172 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
5173
5174         TYPE_MAXIMUM: avoid theoretically undefined behavior
5175         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
5176         negative number, which the C Standard says has undefined behavior.
5177         In practice this is not a problem, but might as well do it by the book.
5178         Reported by Rich Felker and Eric Blake; see
5179         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
5180         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
5181         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
5182         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
5183         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
5184         * m4/stdint.m4 (gl_STDINT_H): Likewise.
5185         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
5186
5187         mktime: #undef mktime before #defining it
5188         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
5189
5190         mktime: systematically normalize tm_isdst comparisons
5191         * lib/mktime.c (isdst_differ): New function.
5192         (__mktime_internal): Use it systematically for all isdst comparisons.
5193         This completes the fix for libc BZ #6723, and removes the need for
5194         normalizing tm_isdst.  See
5195         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
5196         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
5197
5198         mktime: fix some integer overflow issues and sidestep the rest
5199
5200         This was prompted by a bug report by Benjamin Lindner for MinGW
5201         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
5202         His bug is due to signed integer overflow (0 - INT_MIN), and I
5203         I scanned through mktime.c looking for other integer overflow
5204         problems, fixing all the bugs I found.
5205
5206         Although the C Standard says the resulting code is still not safe
5207         in the presence of integer overflow, in practice it should be good
5208         enough for all real-world two's-complement implementations, except
5209         for debugging environments that deliberately trap on integer
5210         overflow (e.g., gcc -ftrapv).
5211
5212         * lib/mktime.c (WRAPV): New macro.
5213         (SHR): Also check that long_int and time_t shift right in the
5214         usual way, before using the fast-but-unportable method.
5215         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
5216         used.  The code already assumed two's complement, so there's
5217         no need to test for alternatives.  All uses removed.
5218         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
5219         the C standard.  Problem reported by Rich Felker in
5220         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
5221         (twos_complement_arithmetic): Also check long_int and time_t.
5222         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
5223         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
5224         (__mktime_internal): Avoid integer overflow with unary subtraction
5225         in two instances where -1 - X is an adequate replacement for -X,
5226         since the calculations are approximate.
5227
5228 2011-01-29  Eric Blake  <eblake@redhat.com>
5229
5230         mktime: avoid infinite loop
5231         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
5232         type; behavior is still undefined but portable to all known targets.
5233         Reported by Rich Felker.
5234
5235 2011-01-29  Simon Josefsson  <simon@josefsson.org>
5236
5237         rename, unlink, same-inode: Relicense.
5238         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
5239         * modules/unlink (License): Likewise.
5240         * modules/same-inode (License): Likewise.
5241
5242 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
5243
5244         mktime: avoid problems on NetBSD 5 / i386
5245         * lib/mktime.c (long_int): New type.  This works around a problem
5246         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
5247         but time_t is 64 bits, and where I expect the existing code is
5248         wrong in some cases.
5249         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
5250         (ydhms_diff): Bring back the compile-time check for wide-enough
5251         year and yday.
5252
5253         mktime: fix misspelling in comment
5254         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
5255         This merges all recent glibc changes of importance.
5256
5257 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5258
5259         move-if-change: cope with concurrent mv of identical file.
5260         * build-aux/move-if-change (CMPPROG): Accept environment
5261         variable as an override for `cmp'.
5262         (usage): Document CMPPROG.
5263         Adjust comparison to drop stdout.  Cope with failure of mv if
5264         the target file exists and is identical to the source, for
5265         parallel builds.
5266         Report from H.J. Lu against binutils in PR binutils/12283.
5267
5268 2011-01-28  Bruce Korb  <bkorb@gnu.org>
5269
5270         * users.txt: Mention sharutils.
5271
5272 2011-01-28  Simon Josefsson  <simon@josefsson.org>
5273
5274         * users.txt: Mention OATH Toolkit.
5275
5276 2011-01-27  Bruno Haible  <bruno@clisp.org>
5277
5278         Prepare for supporting FreeBSD 10.
5279         * build-aux/config.libpath: Remove handling of freebsd1*.
5280
5281 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
5282
5283         Prepare for supporting FreeBSD 10.
5284         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
5285         match FreeBSD 10.0.
5286
5287 2011-01-27  Bruno Haible  <bruno@clisp.org>
5288
5289         vma-iter, get-rusage-as: Add OpenBSD support.
5290         * modules/vma-iter (configure.ac): Test for mquery.
5291         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
5292         * lib/vma-iter.c: Include <sys/mman.h>.
5293         (vma_iterate): Add an implementation based on mquery().
5294         * lib/resource-ext.h (get_rusage_as): Update comments.
5295         * lib/get-rusage-as.c: Likewise.
5296         * lib/get-rusage-data.c: Likewise.
5297
5298 2011-01-26  Karl Berry  <karl@gnu.org>
5299
5300         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
5301         variables to make it easier to override the makeinfo program used.
5302
5303 2011-01-26  Eric Blake  <eblake@redhat.com>
5304
5305         fcntl: work around Haiku F_DUPFD bugs
5306         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
5307         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
5308         cloexec bit on duplication.
5309         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
5310
5311 2011-01-26  Bruno Haible  <bruno@clisp.org>
5312
5313         Enable memory leak tests on AIX.
5314         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
5315         * tests/test-fprintf-posix3.c (main): Likewise.
5316
5317 2011-01-26  Bruno Haible  <bruno@clisp.org>
5318
5319         Tests for module 'get-rusage-data'.
5320         * modules/get-rusage-data-tests: New file.
5321         * tests/test-get-rusage-data.c: New file.
5322
5323         New module 'get-rusage-data'.
5324         * lib/resource-ext.h (get_rusage_data): New declaration.
5325         * lib/get-rusage-data.c: New file.
5326         * modules/get-rusage-data: New file.
5327
5328 2011-01-25  Bruno Haible  <bruno@clisp.org>
5329
5330         get-rusage-as: Allow for easier testing.
5331         * lib/resource-ext.h (get_rusage_as): Add comment.
5332         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
5333         (main): New function for interactive testing.
5334
5335 2011-01-25  Bruno Haible  <bruno@clisp.org>
5336
5337         vma-iter: Treat Haiku like BeOS.
5338         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
5339         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
5340
5341 2011-01-25  Eric Blake  <eblake@redhat.com>
5342
5343         c-stack: fix regression on cygwin when libsigsegv is present
5344         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
5345
5346 2011-01-24  Bruno Haible  <bruno@clisp.org>
5347
5348         vma-iter: Avoid empty intervals.
5349         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
5350         on an empty interval.
5351
5352 2011-01-24  Jim Meyering  <meyering@redhat.com>
5353
5354         u64: remove unnecessary #include
5355         * lib/u64.h: Don't include <stddef.h>.  It was not used.
5356
5357 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
5358
5359         Allow the user to avoid the HAVE_RAW_DECL_* macros.
5360         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
5361
5362 2011-01-23  Bruno Haible  <bruno@clisp.org>
5363
5364         New module 'vma-iter'.
5365         * lib/vma-iter.h: New file.
5366         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
5367         * modules/vma-iter: New file.
5368         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
5369         for get_rusage_as_via_iterator.
5370         (vma_iterate_callback): New function.
5371         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
5372         * modules/get-rusage-as (Depends-on): Add vma-iter.
5373
5374 2011-01-23  Bruno Haible  <bruno@clisp.org>
5375
5376         uninorm: Tweak includes.
5377         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
5378         Reported by Jim Meyering.
5379
5380 2011-01-23  Bruno Haible  <bruno@clisp.org>
5381
5382         get-rusage-as: Improve on NetBSD.
5383         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
5384         /proc, like on FreeBSD.
5385
5386 2011-01-23  Jim Meyering  <meyering@redhat.com>
5387
5388         xreadlink.h: remove unnecessary #include
5389         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
5390
5391         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
5392         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
5393
5394 2011-01-23  Bruno Haible  <bruno@clisp.org>
5395
5396         get-rusage-as: Fix bug.
5397         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
5398         original limit when aborting the first loop.
5399
5400 2011-01-23  Bruno Haible  <bruno@clisp.org>
5401
5402         wctype: Ensure valid C syntax.
5403         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
5404         unconditionally, instead of gl_NEXT_HEADERS conditionally.
5405
5406 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
5407
5408         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
5409         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
5410         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
5411         as they are needed only for configure's test case.
5412         This removes two unnecessary symbols from config.h.
5413
5414         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
5415         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
5416         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
5417         AC_CHECK_HEADERS_ONCE on a header that we also invoke
5418         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
5419         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
5420         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
5421         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
5422         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
5423         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
5424         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
5425         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
5426         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
5427         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
5428         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
5429         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
5430         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
5431         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
5432
5433 2011-01-21  Eric Blake  <eblake@redhat.com>
5434
5435         maintainer-makefile: work with older git for submodule check
5436         * top/maint.mk (public-submodule-commit): Rewrite to avoid
5437         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
5438         Reported by Matthias Bolte.
5439
5440         bootstrap: minor portability fixes
5441         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
5442         (usage): Omit leading capital and trailing . on help phrases, per
5443         GNU Coding Standards.
5444         (check_versions, top level): Prefix messages with script name.
5445
5446 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
5447
5448         bootstrap: support --no-git option
5449         * build-aux/bootstrap: Add --no-git option, to be used when
5450         --gnulib-srcdir points to the exact desired checkout.
5451
5452 2011-01-21  Eric Blake  <eblake@redhat.com>
5453
5454         strerror_r-posix: work with glibc 2.13
5455         * lib/strerror_r.c (strerror_r): Fix return type.
5456
5457 2011-01-21  Pádraig Brady  <P@draigBrady.com>
5458             Bruno Haible  <bruno@clisp.org>
5459
5460         uN_strstr: New unit tests.
5461         * modules/unistr/u8-strstr-tests: New file.
5462         * modules/unistr/u16-strstr-tests: New file.
5463         * modules/unistr/u32-strstr-tests: New file.
5464         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
5465         * tests/unistr/test-u8-strstr.c: New file.
5466         * tests/unistr/test-u16-strstr.c: New file.
5467         * tests/unistr/test-u32-strstr.c: New file.
5468
5469 2011-01-21  Pádraig Brady  <P@draigBrady.com>
5470             Bruno Haible  <bruno@clisp.org>
5471
5472         Make uN_strstr functions O(n) worst-case.
5473         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
5474         16-bit and 32-bit unit cases, use the unibyte algorithm from
5475         lib/mbsstr.c.
5476         * lib/unistr/u8-strstr.c: Include <string.h>.
5477         (UNIT_IS_UINT8_T): New macro.
5478         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
5479         (U_STRLEN, U_STRNLEN): New macros.
5480         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
5481         (U_STRLEN, U_STRNLEN): New macros.
5482         * modules/unistr/u8-strstr (Depends-on): Add strstr.
5483         (configure.ac): Update required libunistring version.
5484         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
5485         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
5486         malloca.
5487         (configure.ac): Update required libunistring version.
5488         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
5489         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
5490         malloca.
5491         (configure.ac): Update required libunistring version.
5492
5493 2011-01-21  Pádraig Brady  <P@draigBrady.com>
5494             Bruno Haible  <bruno@clisp.org>
5495
5496         Prepare for faster uN_strstr functions.
5497         * lib/str-kmp.h: Support definable UNITs.
5498         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
5499         needle_len argument.
5500         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
5501         * lib/mbscasestr.c (mbscasestr): Likewise.
5502
5503 2011-01-21  Pádraig Brady <P@draigBrady.com>
5504
5505         malloca-tests: make faster by unsetting MALLOC_PERTURB_
5506         * tests/test-malloca.c (main): Unset the environment variable
5507         to greatly speed up the test.
5508         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
5509         * modules/malloca-tests: Depend on unsetenv.
5510
5511 2011-01-21  Pádraig Brady <P@draigBrady.com>
5512
5513         ignore-value: remove stdint dependency
5514         * lib/ignore-value.h: Remove <stdint.h>
5515         * modules/ignore-value: Remove stdint dependency.
5516
5517 2011-01-21  Jim Meyering  <meyering@redhat.com>
5518
5519         maint.mk: adjust variable name to be consistent with other gl_ vars
5520         * top/maint.mk (gl_public_submodule_commit): Rename the variable
5521         to be lower case.
5522
5523 2011-01-20  Jim Meyering  <meyering@redhat.com>
5524
5525         maint.mk: make "check" depend on public-submodule-commit by default
5526         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
5527
5528 2011-01-20  Bruno Haible  <bruno@clisp.org>
5529
5530         mbfile, mbiter: Complete change from 2008-12-21.
5531         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
5532         * m4/mbiter.m4 (gl_MBITER): Likewise.
5533
5534 2011-01-20  Jim Meyering  <meyering@redhat.com>
5535
5536         init.sh: insert space between each function name and "()"
5537         * tests/init.sh: Make it a little easier to see that a function's
5538         name is "warn_", and not "warn" when looking at the first part of
5539         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
5540
5541 2011-01-20  Jim Meyering  <meyering@redhat.com>
5542
5543         mountlist: clean up code formatting
5544         * lib/mountlist.c (read_file_system_list): Split a long line,
5545         correct bracing style, use NULL in place of "(struct statfs *)0",
5546         don't parenthesize return value, add spaces around "=" and after
5547         ";-in-for-stmt".
5548
5549 2011-01-14  Markus Duft <mduft@gentoo.org>
5550
5551         mountlist: add support for Interix
5552         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
5553         Apply statvfs to all entries of /dev/fs.
5554         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
5555         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
5556
5557 2011-01-20  Jim Meyering  <meyering@redhat.com>
5558
5559         maint.mk: improve the public-submodule-commit rule
5560         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
5561         to suppress printing of its commands... unless V=1.
5562         Add git submodule's --quiet option to suppress printing of e.g.,
5563         "Entering gnulib" output.
5564         "cd" into $(srcdir) before running git submodule.
5565
5566 2011-01-20  Bruno Haible  <bruno@clisp.org>
5567
5568         include_next: Fix bug introduced on 2011-01-18.
5569         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
5570         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
5571         ac_cv_header_... variable if the second argument is not 'check'.
5572         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
5573         gl_NEXT_HEADERS_INTERNAL.
5574
5575 2011-01-20  Bruno Haible  <bruno@clisp.org>
5576
5577         Allow the user to avoid the GNULIB_TEST_* macros.
5578         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
5579         Suggested by Paul Eggert.
5580
5581 2011-01-14  Jim Meyering  <meyering@redhat.com>
5582
5583         bootstrap: avoid failure when there is no .gitmodules file
5584         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
5585         has been assigned to, even when its value is the empty string.
5586         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
5587         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
5588         Reported by John W. Eaton <jwe@gnu.org>.
5589
5590 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
5591
5592         assume <ctype.h>, ..., <time.h> exist
5593         For years gnulib has been assuming the existence of the headers
5594         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
5595         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
5596         them, since they don't appear to be needed.
5597         * README (Portability guidelines): Document this.
5598         * lib/flock.c: Assume <fcntl.h> exists.
5599         * lib/regex_internal.h: Assume <locale.h> exists.
5600         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
5601         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
5602         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
5603         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
5604         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
5605         * m4/regex.m4 (gl_REGEX): Likewise.
5606         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
5607         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
5608         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
5609         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
5610         * tests/test-argp.c: Likewise.
5611         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
5612
5613         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
5614         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
5615         AA_APPLE_UNIVERSAL_BUILD.  See
5616         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
5617         * NEWS: Document this.
5618
5619 2011-01-19  Eric Blake  <eblake@redhat.com>
5620
5621         c-stack: assume stack overflow if SA_SIGINFO unsupported
5622         * lib/c-stack.c (SIGACTION_WORKS): Rename...
5623         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
5624         sigaction will work.
5625         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
5626         behavior match Linux.
5627         * tests/test-c-stack.c (main): Prefer NULL for pointers.
5628
5629         stdbool-tests: accomodate Haiku
5630         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
5631
5632         binary-io: fix O_TEXT on Haiku
5633         * modules/binary-io (Depends-on): Add fcntl-h.
5634         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
5635         than blindly undefining O_TEXT.
5636         Reported by Scott McCreary.
5637
5638 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
5639
5640         include_next: do not check for standard headers like stddef.h
5641
5642         I found this problem when modifying Emacs to use gnulib.
5643         I noticed that it added HAVE_STDDEF_H to config.h, even though
5644         gnulib always assumes <stddef.h> exists as per README and this
5645         symbol is unnecessary.
5646         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
5647         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
5648         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
5649         faster for headers like stddef.h that are known to exist.
5650         (gl_CHECK_NEXT_HEADERS): Use it.
5651         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
5652         rather than gl_CHECK_NEXT_HEADERS.
5653         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
5654         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
5655
5656 2011-01-18  Eric Blake  <eblake@redhat.com>
5657
5658         ansi-c++-opt: skip C++ dependency style if C++ is unused
5659         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
5660         tests when we know C++ compilation is not desired.
5661         Reported by Scott McCreary.
5662
5663 2011-01-18  Bruno Haible  <bruno@clisp.org>
5664
5665         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
5666         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
5667         (main): Perform test also when getrlimit and setrlimit don't exist or
5668         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
5669         limiting the address space size using setrlimit, compare the address
5670         space size before and after the the test.
5671         * tests/test-dprintf-posix2.c: Likewise.
5672         * tests/test-fprintf-posix3.sh: Update skip messages.
5673         * tests/test-dprintf-posix2.sh: Likewise.
5674         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
5675         * modules/dprintf-posix-tests (Depends-on): Likewise.
5676         Reported by Bruce Korb <bkorb@gnu.org> and
5677         Gary V. Vaughan <gary@gnu.org>.
5678
5679 2011-01-18  Bruno Haible  <bruno@clisp.org>
5680
5681         get-rusage-as: Improvement for Cygwin.
5682         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
5683         areas that are merely reserved.
5684
5685 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
5686
5687         strftime: remove dependencies on multibyte modules
5688
5689         strftime depended on mbrlen, mbsinit, and wchar, but these modules
5690         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
5691         only if __osf__ is defined, and I suspect OSF doesn't need these
5692         other modules.  If my guess is wrong, we'll need to come up with a
5693         variant of strftime that doesn't need the multibyte modules.
5694
5695         I discovered this problem when attempting modify Emacs to use the
5696         strftime module.  With the previous gnulib, this caused Emacs to
5697         need 31 new files, ranging from lib/config.charset to
5698         m4/wint_t.m4.  This was overkill and I expect would be offputting
5699         to the Emacs maintainers.  After this change, only 6 new files are
5700         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
5701         stdbool.m4, and tm_gmtoff.m4.
5702
5703         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
5704         Suggested by Bruno Haible in
5705         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
5706         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
5707         and do not check for wchar.h.
5708         * modules/strftime (Files): Remove m4/mbstate_t.m4.
5709         (Depends-on): Remove mbrlen, mbsinit, wchar.
5710
5711 2011-01-18  Bruno Haible  <bruno@clisp.org>
5712
5713         Tests for module 'get-rusage-as'.
5714         * modules/get-rusage-as-tests: New file.
5715         * tests/test-get-rusage-as.c: New file.
5716
5717         New module 'get-rusage-as'.
5718         * modules/get-rusage-as: New file.
5719         * lib/resource-ext.h: New file.
5720         * lib/get-rusage-as.c: New file.
5721
5722 2011-01-17  Eric Blake  <eblake@redhat.com>
5723
5724         sigaction: relax license from LGPLv3+ to LGPLv2+
5725         * modules/sigaction (License): Relax to LGPLv2+.
5726
5727 2011-01-14  Bruno Haible  <bruno@clisp.org>
5728
5729         filemode: Make function declarations usable in C++ mode.
5730         * lib/filemode.h: Enclose function declarations in extern "C" block.
5731         Reported by John W. Eaton <jwe@gnu.org>.
5732
5733 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
5734
5735         save-cwd: no longer include "xgetcwd.h"
5736         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
5737         This avoids a compilation failure in projects that use save-cwd
5738         without also using the xgetcwd module.
5739
5740 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
5741
5742         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
5743         This is so that a program like Emacs, which needs only dtoastr,
5744         does not have to bother with distributing and compiling ftoastr
5745         and ldtoastr.
5746         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
5747         * modules/dtoastr, modules/ldtoastr: New files.
5748         * modules/ftoastr: Now works just for 'float'.
5749         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
5750         (Makefile.am): Remove ftoastr.h (not needed and no effect),
5751         dtoastr.c, ldtoastr.c.
5752
5753 2011-01-11  Jim Meyering  <meyering@redhat.com>
5754
5755         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
5756         There is no need to work around the lack of the fchdir function,
5757         since gnulib can now provide a replacement when required.
5758         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
5759         * modules/save-cwd (Depends-on): Add fchdir.
5760
5761 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
5762
5763         openat, save-cwd: avoid xmalloc
5764
5765         This removes a direct (but undocumented) dependency of openat on
5766         xalloc, along with an indirect dependency via save-cwd.  It also
5767         removes a dependency of save-cwd on xgetcwd, and thereby
5768         indirectly on xalloc.  This change causes the openat substitute
5769         to fall back on save_cwd when memory is tight, and for save_cwd to
5770         fail instead of dying when memory is tight, but that's good enough.
5771         Problem and initial idea for fix reported by Bastien Roucaries in
5772         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
5773
5774         * lib/openat-proc.c: Include stdlib.h (for malloc), not
5775         xalloc.h (for xmalloc).
5776         (openat_proc_name): Use malloc, not xmalloc.
5777         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
5778         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
5779
5780         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
5781         This avoids heap allocation for file names whose lengths are in
5782         the range 512..1023, with the upper bound increasing to at most
5783         4031 depending on the platform's PATH_MAX.  (We do not want
5784         pathmax.h here as it might supply a non-constant PATH_MAX.)
5785         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
5786         Perhaps they should be moved to malloca.h?
5787         (OPENAT_BUFFER_SIZE): Use them.
5788
5789 2011-01-10  Bruno Haible  <bruno@clisp.org>
5790
5791         doc: Update users.txt.
5792         * users.txt: Add recutils.
5793
5794 2011-01-09  Karl Berry  <karl@gnu.org>
5795
5796         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
5797
5798         * doc/configmake.texi: New file.
5799         * doc/gnulib.texi: Include it.
5800         * modules/configmake: Move documentation from here.
5801
5802 2011-01-09  Bruno Haible  <bruno@clisp.org>
5803
5804         Update to Unicode 6.0.0.
5805         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
5806         (get_lbp): Update for Unicode 6.0.0.
5807         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
5808         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
5809         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
5810         U+11001, U+11038..U+11046. Remove U+06DE.
5811         (uc_width): Fix bounds of planes.
5812         * tests/uniwidth/test-uc_width2.sh: Same updates as in
5813         lib/uniwidth/width.c.
5814         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
5815         trailing whitespace removed.
5816         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
5817         without comments, but with the original copyright notice.
5818         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
5819         * lib/unicase/ignorable.h: Likewise.
5820         * lib/unicase/tocasefold.h: Likewise.
5821         * lib/unicase/tolower.h: Likewise.
5822         * lib/unicase/totitle.h: Likewise.
5823         * lib/unicase/toupper.h: Likewise.
5824         * lib/unictype/bidi_of.h: Likewise.
5825         * lib/unictype/blocks.h: Likewise.
5826         * lib/unictype/categ_C.h: Likewise.
5827         * lib/unictype/categ_Cn.h: Likewise.
5828         * lib/unictype/categ_L.h: Likewise.
5829         * lib/unictype/categ_Ll.h: Likewise.
5830         * lib/unictype/categ_Lm.h: Likewise.
5831         * lib/unictype/categ_Lo.h: Likewise.
5832         * lib/unictype/categ_Lu.h: Likewise.
5833         * lib/unictype/categ_M.h: Likewise.
5834         * lib/unictype/categ_Mc.h: Likewise.
5835         * lib/unictype/categ_Me.h: Likewise.
5836         * lib/unictype/categ_Mn.h: Likewise.
5837         * lib/unictype/categ_N.h: Likewise.
5838         * lib/unictype/categ_Nd.h: Likewise.
5839         * lib/unictype/categ_No.h: Likewise.
5840         * lib/unictype/categ_P.h: Likewise.
5841         * lib/unictype/categ_Po.h: Likewise.
5842         * lib/unictype/categ_S.h: Likewise.
5843         * lib/unictype/categ_Sc.h: Likewise.
5844         * lib/unictype/categ_Sk.h: Likewise.
5845         * lib/unictype/categ_Sm.h: Likewise.
5846         * lib/unictype/categ_So.h: Likewise.
5847         * lib/unictype/categ_of.h: Likewise.
5848         * lib/unictype/combining.h: Likewise.
5849         * lib/unictype/ctype_alnum.h: Likewise.
5850         * lib/unictype/ctype_alpha.h: Likewise.
5851         * lib/unictype/ctype_graph.h: Likewise.
5852         * lib/unictype/ctype_lower.h: Likewise.
5853         * lib/unictype/ctype_print.h: Likewise.
5854         * lib/unictype/ctype_punct.h: Likewise.
5855         * lib/unictype/ctype_upper.h: Likewise.
5856         * lib/unictype/decdigit.h: Likewise.
5857         * lib/unictype/digit.h: Likewise.
5858         * lib/unictype/numeric.h: Likewise.
5859         * lib/unictype/pr_alphabetic.h: Likewise.
5860         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
5861         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
5862         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
5863         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
5864         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
5865         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
5866         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
5867         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
5868         * lib/unictype/pr_case_ignorable.h: Likewise.
5869         * lib/unictype/pr_cased.h: Likewise.
5870         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
5871         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
5872         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
5873         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
5874         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
5875         * lib/unictype/pr_combining.h: Likewise.
5876         * lib/unictype/pr_composite.h: Likewise.
5877         * lib/unictype/pr_currency_symbol.h: Likewise.
5878         * lib/unictype/pr_decimal_digit.h: Likewise.
5879         * lib/unictype/pr_deprecated.h: Likewise.
5880         * lib/unictype/pr_format_control.h: Likewise.
5881         * lib/unictype/pr_grapheme_base.h: Likewise.
5882         * lib/unictype/pr_grapheme_extend.h: Likewise.
5883         * lib/unictype/pr_grapheme_link.h: Likewise.
5884         * lib/unictype/pr_id_continue.h: Likewise.
5885         * lib/unictype/pr_id_start.h: Likewise.
5886         * lib/unictype/pr_ideographic.h: Likewise.
5887         * lib/unictype/pr_lowercase.h: Likewise.
5888         * lib/unictype/pr_math.h: Likewise.
5889         * lib/unictype/pr_numeric.h: Likewise.
5890         * lib/unictype/pr_other_alphabetic.h: Likewise.
5891         * lib/unictype/pr_other_id_continue.h: Likewise.
5892         * lib/unictype/pr_other_math.h: Likewise.
5893         * lib/unictype/pr_punctuation.h: Likewise.
5894         * lib/unictype/pr_sentence_terminal.h: Likewise.
5895         * lib/unictype/pr_terminal_punctuation.h: Likewise.
5896         * lib/unictype/pr_unassigned_code_value.h: Likewise.
5897         * lib/unictype/pr_unified_ideograph.h: Likewise.
5898         * lib/unictype/pr_uppercase.h: Likewise.
5899         * lib/unictype/pr_xid_continue.h: Likewise.
5900         * lib/unictype/pr_xid_start.h: Likewise.
5901         * lib/unictype/scripts.h: Likewise.
5902         * lib/unictype/scripts_byname.gperf: Likewise.
5903         * lib/unictype/sy_java_ident.h: Likewise.
5904         * lib/unigbrk/gbrkprop.h: Likewise.
5905         * lib/unilbrk/lbrkprop1.h: Likewise.
5906         * lib/unilbrk/lbrkprop2.h: Likewise.
5907         * lib/uninorm/decomposition-table2.h: Likewise.
5908         * lib/uniwbrk/wbrkprop.h: Likewise.
5909         * tests/unicase/test-cased.c: Likewise.
5910         * tests/unicase/test-ignorable.c: Likewise.
5911         * tests/unicase/test-uc_tolower.c: Likewise.
5912         * tests/unicase/test-uc_totitle.c: Likewise.
5913         * tests/unicase/test-uc_toupper.c: Likewise.
5914         * tests/unictype/test-categ_C.c: Likewise.
5915         * tests/unictype/test-categ_Cn.c: Likewise.
5916         * tests/unictype/test-categ_L.c: Likewise.
5917         * tests/unictype/test-categ_Ll.c: Likewise.
5918         * tests/unictype/test-categ_Lm.c: Likewise.
5919         * tests/unictype/test-categ_Lo.c: Likewise.
5920         * tests/unictype/test-categ_Lu.c: Likewise.
5921         * tests/unictype/test-categ_M.c: Likewise.
5922         * tests/unictype/test-categ_Mc.c: Likewise.
5923         * tests/unictype/test-categ_Me.c: Likewise.
5924         * tests/unictype/test-categ_Mn.c: Likewise.
5925         * tests/unictype/test-categ_N.c: Likewise.
5926         * tests/unictype/test-categ_Nd.c: Likewise.
5927         * tests/unictype/test-categ_No.c: Likewise.
5928         * tests/unictype/test-categ_P.c: Likewise.
5929         * tests/unictype/test-categ_Po.c: Likewise.
5930         * tests/unictype/test-categ_S.c: Likewise.
5931         * tests/unictype/test-categ_Sc.c: Likewise.
5932         * tests/unictype/test-categ_Sk.c: Likewise.
5933         * tests/unictype/test-categ_Sm.c: Likewise.
5934         * tests/unictype/test-categ_So.c: Likewise.
5935         * tests/unictype/test-ctype_alnum.c: Likewise.
5936         * tests/unictype/test-ctype_alpha.c: Likewise.
5937         * tests/unictype/test-ctype_graph.c: Likewise.
5938         * tests/unictype/test-ctype_lower.c: Likewise.
5939         * tests/unictype/test-ctype_print.c: Likewise.
5940         * tests/unictype/test-ctype_punct.c: Likewise.
5941         * tests/unictype/test-ctype_upper.c: Likewise.
5942         * tests/unictype/test-decdigit.h: Likewise.
5943         * tests/unictype/test-digit.h: Likewise.
5944         * tests/unictype/test-numeric.h: Likewise.
5945         * tests/unictype/test-pr_alphabetic.c: Likewise.
5946         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
5947         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
5948         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
5949         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
5950         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
5951         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
5952         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
5953         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
5954         * tests/unictype/test-pr_case_ignorable.c: Likewise.
5955         * tests/unictype/test-pr_cased.c: Likewise.
5956         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
5957         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
5958         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
5959         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
5960         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
5961         * tests/unictype/test-pr_combining.c: Likewise.
5962         * tests/unictype/test-pr_composite.c: Likewise.
5963         * tests/unictype/test-pr_currency_symbol.c: Likewise.
5964         * tests/unictype/test-pr_decimal_digit.c: Likewise.
5965         * tests/unictype/test-pr_deprecated.c: Likewise.
5966         * tests/unictype/test-pr_format_control.c: Likewise.
5967         * tests/unictype/test-pr_grapheme_base.c: Likewise.
5968         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
5969         * tests/unictype/test-pr_grapheme_link.c: Likewise.
5970         * tests/unictype/test-pr_id_continue.c: Likewise.
5971         * tests/unictype/test-pr_id_start.c: Likewise.
5972         * tests/unictype/test-pr_ideographic.c: Likewise.
5973         * tests/unictype/test-pr_lowercase.c: Likewise.
5974         * tests/unictype/test-pr_math.c: Likewise.
5975         * tests/unictype/test-pr_numeric.c: Likewise.
5976         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
5977         * tests/unictype/test-pr_other_id_continue.c: Likewise.
5978         * tests/unictype/test-pr_other_math.c: Likewise.
5979         * tests/unictype/test-pr_punctuation.c: Likewise.
5980         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
5981         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
5982         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
5983         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
5984         * tests/unictype/test-pr_uppercase.c: Likewise.
5985         * tests/unictype/test-pr_xid_continue.c: Likewise.
5986         * tests/unictype/test-pr_xid_start.c: Likewise.
5987         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
5988         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
5989         changes.
5990         * lib/unictype/categ_Cc.h: Likewise.
5991         * lib/unictype/categ_Cf.h: Likewise.
5992         * lib/unictype/categ_Co.h: Likewise.
5993         * lib/unictype/categ_Cs.h: Likewise.
5994         * lib/unictype/categ_Lt.h: Likewise.
5995         * lib/unictype/categ_Nl.h: Likewise.
5996         * lib/unictype/categ_Pc.h: Likewise.
5997         * lib/unictype/categ_Pd.h: Likewise.
5998         * lib/unictype/categ_Pe.h: Likewise.
5999         * lib/unictype/categ_Pf.h: Likewise.
6000         * lib/unictype/categ_Pi.h: Likewise.
6001         * lib/unictype/categ_Ps.h: Likewise.
6002         * lib/unictype/categ_Z.h: Likewise.
6003         * lib/unictype/categ_Zl.h: Likewise.
6004         * lib/unictype/categ_Zp.h: Likewise.
6005         * lib/unictype/categ_Zs.h: Likewise.
6006         * lib/unictype/ctype_blank.h: Likewise.
6007         * lib/unictype/ctype_cntrl.h: Likewise.
6008         * lib/unictype/ctype_digit.h: Likewise.
6009         * lib/unictype/ctype_space.h: Likewise.
6010         * lib/unictype/ctype_xdigit.h: Likewise.
6011         * lib/unictype/mirror.h: Likewise.
6012         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
6013         * lib/unictype/pr_bidi_block_separator.h: Likewise.
6014         * lib/unictype/pr_bidi_common_separator.h: Likewise.
6015         * lib/unictype/pr_bidi_control.h: Likewise.
6016         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
6017         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
6018         * lib/unictype/pr_bidi_european_digit.h: Likewise.
6019         * lib/unictype/pr_bidi_pdf.h: Likewise.
6020         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
6021         * lib/unictype/pr_bidi_whitespace.h: Likewise.
6022         * lib/unictype/pr_dash.h: Likewise.
6023         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
6024         * lib/unictype/pr_diacritic.h: Likewise.
6025         * lib/unictype/pr_extender.h: Likewise.
6026         * lib/unictype/pr_hex_digit.h: Likewise.
6027         * lib/unictype/pr_hyphen.h: Likewise.
6028         * lib/unictype/pr_ids_binary_operator.h: Likewise.
6029         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
6030         * lib/unictype/pr_ignorable_control.h: Likewise.
6031         * lib/unictype/pr_iso_control.h: Likewise.
6032         * lib/unictype/pr_join_control.h: Likewise.
6033         * lib/unictype/pr_left_of_pair.h: Likewise.
6034         * lib/unictype/pr_line_separator.h: Likewise.
6035         * lib/unictype/pr_logical_order_exception.h: Likewise.
6036         * lib/unictype/pr_non_break.h: Likewise.
6037         * lib/unictype/pr_not_a_character.h: Likewise.
6038         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
6039         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
6040         * lib/unictype/pr_other_id_start.h: Likewise.
6041         * lib/unictype/pr_other_lowercase.h: Likewise.
6042         * lib/unictype/pr_other_uppercase.h: Likewise.
6043         * lib/unictype/pr_paired_punctuation.h: Likewise.
6044         * lib/unictype/pr_paragraph_separator.h: Likewise.
6045         * lib/unictype/pr_pattern_syntax.h: Likewise.
6046         * lib/unictype/pr_pattern_white_space.h: Likewise.
6047         * lib/unictype/pr_private_use.h: Likewise.
6048         * lib/unictype/pr_quotation_mark.h: Likewise.
6049         * lib/unictype/pr_radical.h: Likewise.
6050         * lib/unictype/pr_soft_dotted.h: Likewise.
6051         * lib/unictype/pr_space.h: Likewise.
6052         * lib/unictype/pr_titlecase.h: Likewise.
6053         * lib/unictype/pr_variation_selector.h: Likewise.
6054         * lib/unictype/pr_white_space.h: Likewise.
6055         * lib/unictype/pr_zero_width.h: Likewise.
6056         * lib/unictype/sy_c_ident.h: Likewise.
6057         * lib/unictype/sy_c_whitespace.h: Likewise.
6058         * lib/unictype/sy_java_whitespace.h: Likewise.
6059         * lib/uninorm/composition-table.gperf: Likewise.
6060         * lib/uninorm/decomposition-table1.h: Likewise.
6061         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
6062         LB8.
6063         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
6064         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
6065         * modules/unictype/*: Bump version number of expected libunistring
6066         version.
6067
6068 2011-01-09  Bruno Haible  <bruno@clisp.org>
6069
6070         Update to Unicode 5.2.0.
6071         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
6072         trailing whitespace removed.
6073
6074 2011-01-09  Bruno Haible  <bruno@clisp.org>
6075
6076         New Unicode character properties, from Unicode 5.2.0.
6077         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
6078         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
6079         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
6080         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
6081         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
6082         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
6083         uc_is_property_cased, uc_is_property_case_ignorable,
6084         uc_is_property_changes_when_lowercased,
6085         uc_is_property_changes_when_uppercased,
6086         uc_is_property_changes_when_titlecased,
6087         uc_is_property_changes_when_casefolded,
6088         uc_is_property_changes_when_casemapped): New declarations.
6089         * lib/unictype/pr_byname.gperf: Add the new properties.
6090         * modules/unictype/property-byname (Depends-on): Depend on the new
6091         properties modules.
6092         * modules/unictype/property-all (Depends-on): Likewise.
6093         * MODULES.html.sh (Unicode string functions): Add
6094         unictype/property-case-ignorable, unictype/property-cased,
6095         unictype/property-changes-when-casefolded,
6096         unictype/property-changes-when-casemapped,
6097         unictype/property-changes-when-lowercased,
6098         unictype/property-changes-when-titlecased,
6099         unictype/property-changes-when-uppercased.
6100
6101         New module 'unictype/property-changes-when-casemapped'.
6102         * modules/unictype/property-changes-when-casemapped: New file.
6103         * lib/unictype/pr_changes_when_casemapped.c: New file.
6104         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
6105         generated by gen-uni-tables.
6106         * modules/unictype/property-changes-when-casemapped-tests: New file.
6107         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
6108         automatically generated by gen-uni-tables.
6109
6110         New module 'unictype/property-changes-when-casefolded'.
6111         * modules/unictype/property-changes-when-casefolded: New file.
6112         * lib/unictype/pr_changes_when_casefolded.c: New file.
6113         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
6114         generated by gen-uni-tables.
6115         * modules/unictype/property-changes-when-casefolded-tests: New file.
6116         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
6117         automatically generated by gen-uni-tables.
6118
6119         New module 'unictype/property-changes-when-titlecased'.
6120         * modules/unictype/property-changes-when-titlecased: New file.
6121         * lib/unictype/pr_changes_when_titlecased.c: New file.
6122         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
6123         generated by gen-uni-tables.
6124         * modules/unictype/property-changes-when-titlecased-tests: New file.
6125         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
6126         automatically generated by gen-uni-tables.
6127
6128         New module 'unictype/property-changes-when-uppercased'.
6129         * modules/unictype/property-changes-when-uppercased: New file.
6130         * lib/unictype/pr_changes_when_uppercased.c: New file.
6131         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
6132         generated by gen-uni-tables.
6133         * modules/unictype/property-changes-when-uppercased-tests: New file.
6134         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
6135         automatically generated by gen-uni-tables.
6136
6137         New module 'unictype/property-changes-when-lowercased'.
6138         * modules/unictype/property-changes-when-lowercased: New file.
6139         * lib/unictype/pr_changes_when_lowercased.c: New file.
6140         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
6141         generated by gen-uni-tables.
6142         * modules/unictype/property-changes-when-lowercased-tests: New file.
6143         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
6144         automatically generated by gen-uni-tables.
6145
6146         New module 'unictype/property-case-ignorable'.
6147         * modules/unictype/property-case-ignorable: New file.
6148         * lib/unictype/pr_case_ignorable.c: New file.
6149         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
6150         by gen-uni-tables.
6151         * modules/unictype/property-case-ignorable-tests: New file.
6152         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
6153         generated by gen-uni-tables.
6154
6155         New module 'unictype/property-cased'.
6156         * modules/unictype/property-cased: New file.
6157         * lib/unictype/pr_cased.c: New file.
6158         * lib/unictype/pr_cased.h: New file, automatically generated by
6159         gen-uni-tables.
6160         * modules/unictype/property-cased-tests: New file.
6161         * tests/unictype/test-pr_cased.c: New file, automatically generated by
6162         gen-uni-tables.
6163
6164 2011-01-09  Bruno Haible  <bruno@clisp.org>
6165
6166         Update to Unicode 5.2.0.
6167         * lib/gen-uni-tables.c (output_predicate, output_category,
6168         output_combclass, output_bidi_category, output_decimal_digit_test,
6169         output_decimal_digit, output_digit_test, output_digit,
6170         output_numeric_test, output_numeric, output_mirror, output_scripts,
6171         output_scripts_byname, output_blocks, output_ident_category): Fix
6172         comment header.
6173         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
6174         get_wbp.
6175         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
6176         items.
6177         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
6178         Changes_When_Lowercased, Changes_When_Uppercased,
6179         Changes_When_Titlecased, Changes_When_Casefolded,
6180         Changes_When_Casemapped.
6181         (is_property_alphabetic, is_property_default_ignorable_code_point):
6182         Update for Unicode 5.2.0.
6183         (is_property_cased, is_property_case_ignorable,
6184         is_property_changes_when_lowercased,
6185         is_property_changes_when_uppercased,
6186         is_property_changes_when_titlecased,
6187         is_property_changes_when_casefolded,
6188         is_property_changes_when_casemapped): New functions.
6189         (output_properties): Output also the properties cased, case_ignorable,
6190         changes_when_lowercased, changes_when_uppercased,
6191         changes_when_titlecased, changes_when_casefolded,
6192         changes_when_casemapped.
6193         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
6194         Unicode TR#11 revision 17 -> 19.
6195         (LBP_CP): New enumeration value.
6196         (LBP_*): Adjust values accordingly.
6197         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
6198         TR#14 revision 22 -> 24.
6199         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
6200         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
6201         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
6202         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
6203         is_WBP_MIDLETTER.
6204         (output_composition_tables): Allow for 24 bits instead of 16 bits in
6205         the code1 and code2 of each composition rule.
6206         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
6207         * lib/unicase/ignorable.h: Likewise.
6208         * lib/unicase/tocasefold.h: Likewise.
6209         * lib/unicase/tolower.h: Likewise.
6210         * lib/unicase/totitle.h: Likewise.
6211         * lib/unicase/toupper.h: Likewise.
6212         * lib/unictype/bidi_of.h: Likewise.
6213         * lib/unictype/blocks.h: Likewise.
6214         * lib/unictype/categ_C.h: Likewise.
6215         * lib/unictype/categ_Cf.h: Likewise.
6216         * lib/unictype/categ_Cn.h: Likewise.
6217         * lib/unictype/categ_L.h: Likewise.
6218         * lib/unictype/categ_Ll.h: Likewise.
6219         * lib/unictype/categ_Lm.h: Likewise.
6220         * lib/unictype/categ_Lo.h: Likewise.
6221         * lib/unictype/categ_Lu.h: Likewise.
6222         * lib/unictype/categ_M.h: Likewise.
6223         * lib/unictype/categ_Mc.h: Likewise.
6224         * lib/unictype/categ_Mn.h: Likewise.
6225         * lib/unictype/categ_N.h: Likewise.
6226         * lib/unictype/categ_Nd.h: Likewise.
6227         * lib/unictype/categ_Nl.h: Likewise.
6228         * lib/unictype/categ_No.h: Likewise.
6229         * lib/unictype/categ_P.h: Likewise.
6230         * lib/unictype/categ_Pd.h: Likewise.
6231         * lib/unictype/categ_Po.h: Likewise.
6232         * lib/unictype/categ_S.h: Likewise.
6233         * lib/unictype/categ_Sc.h: Likewise.
6234         * lib/unictype/categ_So.h: Likewise.
6235         * lib/unictype/categ_of.h: Likewise.
6236         * lib/unictype/combining.h: Likewise.
6237         * lib/unictype/ctype_alnum.h: Likewise.
6238         * lib/unictype/ctype_alpha.h: Likewise.
6239         * lib/unictype/ctype_graph.h: Likewise.
6240         * lib/unictype/ctype_lower.h: Likewise.
6241         * lib/unictype/ctype_print.h: Likewise.
6242         * lib/unictype/ctype_punct.h: Likewise.
6243         * lib/unictype/ctype_upper.h: Likewise.
6244         * lib/unictype/decdigit.h: Likewise.
6245         * lib/unictype/digit.h: Likewise.
6246         * lib/unictype/numeric.h: Likewise.
6247         * lib/unictype/pr_alphabetic.h: Likewise.
6248         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
6249         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
6250         * lib/unictype/pr_bidi_european_digit.h: Likewise.
6251         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
6252         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
6253         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
6254         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
6255         * lib/unictype/pr_combining.h: Likewise.
6256         * lib/unictype/pr_composite.h: Likewise.
6257         * lib/unictype/pr_currency_symbol.h: Likewise.
6258         * lib/unictype/pr_dash.h: Likewise.
6259         * lib/unictype/pr_decimal_digit.h: Likewise.
6260         * lib/unictype/pr_deprecated.h: Likewise.
6261         * lib/unictype/pr_diacritic.h: Likewise.
6262         * lib/unictype/pr_extender.h: Likewise.
6263         * lib/unictype/pr_grapheme_base.h: Likewise.
6264         * lib/unictype/pr_grapheme_extend.h: Likewise.
6265         * lib/unictype/pr_grapheme_link.h: Likewise.
6266         * lib/unictype/pr_id_continue.h: Likewise.
6267         * lib/unictype/pr_id_start.h: Likewise.
6268         * lib/unictype/pr_ideographic.h: Likewise.
6269         * lib/unictype/pr_ignorable_control.h: Likewise.
6270         * lib/unictype/pr_logical_order_exception.h: Likewise.
6271         * lib/unictype/pr_lowercase.h: Likewise.
6272         * lib/unictype/pr_numeric.h: Likewise.
6273         * lib/unictype/pr_other_alphabetic.h: Likewise.
6274         * lib/unictype/pr_punctuation.h: Likewise.
6275         * lib/unictype/pr_sentence_terminal.h: Likewise.
6276         * lib/unictype/pr_terminal_punctuation.h: Likewise.
6277         * lib/unictype/pr_unassigned_code_value.h: Likewise.
6278         * lib/unictype/pr_unified_ideograph.h: Likewise.
6279         * lib/unictype/pr_uppercase.h: Likewise.
6280         * lib/unictype/pr_xid_continue.h: Likewise.
6281         * lib/unictype/pr_xid_start.h: Likewise.
6282         * lib/unictype/pr_zero_width.h: Likewise.
6283         * lib/unictype/scripts.h: Likewise.
6284         * lib/unictype/scripts_byname.gperf: Likewise.
6285         * lib/unictype/sy_java_ident.h: Likewise.
6286         * lib/unigbrk/gbrkprop.h: Likewise.
6287         * lib/unilbrk/lbrkprop1.h: Likewise.
6288         * lib/unilbrk/lbrkprop2.h: Likewise.
6289         * lib/unilbrk/lbrktables.h: Likewise.
6290         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
6291         LBP_CP. Implement rule LB30.
6292         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
6293         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
6294         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
6295         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
6296         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
6297         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
6298         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
6299         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
6300         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
6301         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
6302         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
6303         bits instead of 16 bits in the code1 and code2 of each composition
6304         rule.
6305         (uc_composition): Update for Unicode 5.2.0.
6306         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
6307         * lib/uninorm/decomposition-table2.h: Likewise.
6308         * lib/uniwbrk/wbrkprop.h: Likewise.
6309         * tests/unicase/test-cased.c: Likewise.
6310         * tests/unicase/test-ignorable.c: Likewise.
6311         * tests/unicase/test-uc_tolower.c: Likewise.
6312         * tests/unicase/test-uc_totitle.c: Likewise.
6313         * tests/unicase/test-uc_toupper.c: Likewise.
6314         * tests/unictype/test-categ_C.c: Likewise.
6315         * tests/unictype/test-categ_Cf.c: Likewise.
6316         * tests/unictype/test-categ_Cn.c: Likewise.
6317         * tests/unictype/test-categ_L.c: Likewise.
6318         * tests/unictype/test-categ_Ll.c: Likewise.
6319         * tests/unictype/test-categ_Lm.c: Likewise.
6320         * tests/unictype/test-categ_Lo.c: Likewise.
6321         * tests/unictype/test-categ_Lu.c: Likewise.
6322         * tests/unictype/test-categ_M.c: Likewise.
6323         * tests/unictype/test-categ_Mc.c: Likewise.
6324         * tests/unictype/test-categ_Mn.c: Likewise.
6325         * tests/unictype/test-categ_N.c: Likewise.
6326         * tests/unictype/test-categ_Nd.c: Likewise.
6327         * tests/unictype/test-categ_Nl.c: Likewise.
6328         * tests/unictype/test-categ_No.c: Likewise.
6329         * tests/unictype/test-categ_P.c: Likewise.
6330         * tests/unictype/test-categ_Pd.c: Likewise.
6331         * tests/unictype/test-categ_Po.c: Likewise.
6332         * tests/unictype/test-categ_S.c: Likewise.
6333         * tests/unictype/test-categ_Sc.c: Likewise.
6334         * tests/unictype/test-categ_So.c: Likewise.
6335         * tests/unictype/test-ctype_alnum.c: Likewise.
6336         * tests/unictype/test-ctype_alpha.c: Likewise.
6337         * tests/unictype/test-ctype_graph.c: Likewise.
6338         * tests/unictype/test-ctype_lower.c: Likewise.
6339         * tests/unictype/test-ctype_print.c: Likewise.
6340         * tests/unictype/test-ctype_punct.c: Likewise.
6341         * tests/unictype/test-ctype_upper.c: Likewise.
6342         * tests/unictype/test-decdigit.h: Likewise.
6343         * tests/unictype/test-digit.h: Likewise.
6344         * tests/unictype/test-numeric.h: Likewise.
6345         * tests/unictype/test-pr_alphabetic.c: Likewise.
6346         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
6347         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
6348         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
6349         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
6350         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
6351         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
6352         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
6353         * tests/unictype/test-pr_combining.c: Likewise.
6354         * tests/unictype/test-pr_composite.c: Likewise.
6355         * tests/unictype/test-pr_currency_symbol.c: Likewise.
6356         * tests/unictype/test-pr_dash.c: Likewise.
6357         * tests/unictype/test-pr_decimal_digit.c: Likewise.
6358         * tests/unictype/test-pr_deprecated.c: Likewise.
6359         * tests/unictype/test-pr_diacritic.c: Likewise.
6360         * tests/unictype/test-pr_extender.c: Likewise.
6361         * tests/unictype/test-pr_grapheme_base.c: Likewise.
6362         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
6363         * tests/unictype/test-pr_grapheme_link.c: Likewise.
6364         * tests/unictype/test-pr_id_continue.c: Likewise.
6365         * tests/unictype/test-pr_id_start.c: Likewise.
6366         * tests/unictype/test-pr_ideographic.c: Likewise.
6367         * tests/unictype/test-pr_ignorable_control.c: Likewise.
6368         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
6369         * tests/unictype/test-pr_lowercase.c: Likewise.
6370         * tests/unictype/test-pr_numeric.c: Likewise.
6371         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
6372         * tests/unictype/test-pr_punctuation.c: Likewise.
6373         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
6374         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
6375         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
6376         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
6377         * tests/unictype/test-pr_uppercase.c: Likewise.
6378         * tests/unictype/test-pr_xid_continue.c: Likewise.
6379         * tests/unictype/test-pr_xid_start.c: Likewise.
6380         * tests/unictype/test-pr_zero_width.c: Likewise.
6381         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
6382         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
6383         changed behaviour: line breaking is now disallowed between a letter
6384         or '=' and '('.
6385         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
6386         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
6387         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
6388         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
6389         * tests/uniwidth/test-uc_width2.sh: Same updates as in
6390         lib/uniwidth/width.c.
6391         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
6392         without comments, but with the original copyright notice.
6393         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
6394         changes.
6395         * lib/unictype/categ_Cc.h: Likewise.
6396         * lib/unictype/categ_Co.h: Likewise.
6397         * lib/unictype/categ_Cs.h: Likewise.
6398         * lib/unictype/categ_Lt.h: Likewise.
6399         * lib/unictype/categ_Me.h: Likewise.
6400         * lib/unictype/categ_Pc.h: Likewise.
6401         * lib/unictype/categ_Pe.h: Likewise.
6402         * lib/unictype/categ_Pf.h: Likewise.
6403         * lib/unictype/categ_Pi.h: Likewise.
6404         * lib/unictype/categ_Ps.h: Likewise.
6405         * lib/unictype/categ_Sk.h: Likewise.
6406         * lib/unictype/categ_Sm.h: Likewise.
6407         * lib/unictype/categ_Z.h: Likewise.
6408         * lib/unictype/categ_Zl.h: Likewise.
6409         * lib/unictype/categ_Zp.h: Likewise.
6410         * lib/unictype/categ_Zs.h: Likewise.
6411         * lib/unictype/ctype_blank.h: Likewise.
6412         * lib/unictype/ctype_cntrl.h: Likewise.
6413         * lib/unictype/ctype_digit.h: Likewise.
6414         * lib/unictype/ctype_space.h: Likewise.
6415         * lib/unictype/ctype_xdigit.h: Likewise.
6416         * lib/unictype/mirror.h: Likewise.
6417         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
6418         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
6419         * lib/unictype/pr_bidi_block_separator.h: Likewise.
6420         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
6421         * lib/unictype/pr_bidi_common_separator.h: Likewise.
6422         * lib/unictype/pr_bidi_control.h: Likewise.
6423         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
6424         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
6425         * lib/unictype/pr_bidi_pdf.h: Likewise.
6426         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
6427         * lib/unictype/pr_bidi_whitespace.h: Likewise.
6428         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
6429         * lib/unictype/pr_format_control.h: Likewise.
6430         * lib/unictype/pr_hex_digit.h: Likewise.
6431         * lib/unictype/pr_hyphen.h: Likewise.
6432         * lib/unictype/pr_ids_binary_operator.h: Likewise.
6433         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
6434         * lib/unictype/pr_iso_control.h: Likewise.
6435         * lib/unictype/pr_join_control.h: Likewise.
6436         * lib/unictype/pr_left_of_pair.h: Likewise.
6437         * lib/unictype/pr_line_separator.h: Likewise.
6438         * lib/unictype/pr_math.h: Likewise.
6439         * lib/unictype/pr_non_break.h: Likewise.
6440         * lib/unictype/pr_not_a_character.h: Likewise.
6441         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
6442         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
6443         * lib/unictype/pr_other_id_continue.h: Likewise.
6444         * lib/unictype/pr_other_id_start.h: Likewise.
6445         * lib/unictype/pr_other_lowercase.h: Likewise.
6446         * lib/unictype/pr_other_math.h: Likewise.
6447         * lib/unictype/pr_other_uppercase.h: Likewise.
6448         * lib/unictype/pr_paired_punctuation.h: Likewise.
6449         * lib/unictype/pr_paragraph_separator.h: Likewise.
6450         * lib/unictype/pr_pattern_syntax.h: Likewise.
6451         * lib/unictype/pr_pattern_white_space.h: Likewise.
6452         * lib/unictype/pr_private_use.h: Likewise.
6453         * lib/unictype/pr_quotation_mark.h: Likewise.
6454         * lib/unictype/pr_radical.h: Likewise.
6455         * lib/unictype/pr_soft_dotted.h: Likewise.
6456         * lib/unictype/pr_space.h: Likewise.
6457         * lib/unictype/pr_titlecase.h: Likewise.
6458         * lib/unictype/pr_variation_selector.h: Likewise.
6459         * lib/unictype/pr_white_space.h: Likewise.
6460         * lib/unictype/sy_c_ident.h: Likewise.
6461         * lib/unictype/sy_c_whitespace.h: Likewise.
6462         * lib/unictype/sy_java_whitespace.h: Likewise.
6463         * modules/uni*/*: Bump version number of expected libunistring version.
6464         Reported by Simon Josefsson.
6465
6466 2011-01-09  Karl Heuer  <kwzh@gnu.org>
6467
6468         useless-if-before-free: fix typo in --help and make the internal,
6469         automatic version date update process work once again.
6470         --help output contained a NUL character instead of the
6471         backslash-zero that was intended.  Also, the "must lie within
6472         the first 8 lines" line is on line 9, and hence not getting
6473         automatically updated.
6474         * build-aux/useless-if-before-free: Fix the former by adding a
6475         backslash, and the latter by condensing the three lines of what-it-does
6476         to a single line, leaving one line of slack for the future.
6477
6478 2011-01-09  Bruno Haible  <bruno@clisp.org>
6479
6480         uniwidth/width: Fix width of U+1D173..U+1D17A.
6481         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
6482         symbolic_width, output_width_property_test): New functions.
6483         (main): Invoke output_nonspacing_property, output_width_property_test.
6484         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
6485         U+1D173..U+1D17A.
6486         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
6487         1.
6488         * modules/uniwidth/*: Bump version number of expected libunistring
6489         version.
6490         * modules/unilbrk/*: Likewise.
6491
6492 2011-01-08  Bruno Haible  <bruno@clisp.org>
6493
6494         uninorm tests: Preserve copyright of Unicode data file.
6495         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
6496         Mention modifications.
6497
6498 2011-01-08  Bruno Haible  <bruno@clisp.org>
6499
6500         gen-uni-tables: Prepare for Unicode 5.2.0.
6501         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
6502         (debug_output_lbp, output_lbp): Update.
6503
6504 2011-01-08  Bruno Haible  <bruno@clisp.org>
6505
6506         unilbrk: Clarify gen-uni-tables.c code.
6507         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
6508         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
6509         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
6510
6511 2011-01-07  Bruno Haible  <bruno@clisp.org>
6512
6513         strtod: Restore errno when successfully parsing Infinity or NaN.
6514         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
6515         restore the original errno.
6516
6517 2011-01-07  Bruno Haible  <bruno@clisp.org>
6518
6519         remove test: Avoid failure on HP-UX 11.
6520         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
6521
6522 2011-01-07  Bruno Haible  <bruno@clisp.org>
6523
6524         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
6525         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
6526         error code.
6527
6528 2011-01-07  Pádraig Brady <P@draigBrady.com>
6529
6530         ignore-value: fixup comments, and add Eric Blake
6531         as an author since he rewrote the macros.
6532         * lib/ignore-value.h (ignore_value):  State that
6533         we now support aggregates.  Also specify exactly
6534         when the GCC warn_unused_result feature was added.
6535
6536 2011-01-06  Eric Blake  <eblake@redhat.com>
6537
6538         ignore-value: support aggregate types
6539         * lib/ignore-value.h (ignore_value): Provide separate gcc
6540         definition.
6541         * modules/ignore-value-tests: New test module.
6542         * tests/test-ignore-value.c: New test.
6543
6544         maint.mk: improve sc_prohibit_strcmp regex
6545         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
6546         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
6547         definition of STRNEQ.
6548
6549         signal: work around Haiku issue with SIGBUS
6550         * lib/siglist.h: Add comment.
6551         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
6552         strsignal's favoring of SIGSEGV.
6553         * tests/test-signal.c (main): Avoid test failure.
6554         * doc/posix-headers/signal.texi (signal.h): Document the issue.
6555         Reported by Scott McCreary.
6556
6557         maint.mk: add pre-release check to ensure submodule commits are public
6558         * top/maint.mk (public-submodule-commit): New rule.
6559         (submodule-checks): New variable.
6560         (alpha beta stable): Depend on the variable.
6561
6562 2011-01-05  Pádraig Brady <P@draigBrady.com>
6563         and Jim Meyering  <meyering@redhat.com>
6564
6565         ignore-value: make ignore_value more generic; deprecate ignore_ptr
6566         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
6567         (ATTRIBUTE_DEPRECATED): Define.
6568         (_ignore_case): New function.
6569         (ignore_value): New macro, to replace the old function.
6570         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
6571         * modules/ignore-value (Depends-on): Add stdint.
6572
6573 2011-01-04  Eric Blake  <eblake@redhat.com>
6574
6575         doc: regenerate INSTALL
6576         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
6577         @firstparagraphindent support, now that autoconf dropped it.
6578         (INSTALL_PRELUDE): Reinstate old macro.
6579         * doc/install.texi: Resync from autoconf.
6580         * doc/INSTALL: Reflect recent autoconf update.
6581         * doc/INSTALL.ISO: Likewise.
6582         * doc/INSTALL.UTF-8: Likewise.
6583         Reported by Karl Berry.
6584
6585 2011-01-04  Bruce Korb  <address@hidden>
6586
6587         git-version-gen: avoid a sub-shell
6588         * build-aux/git-version-gen: Redirect stderr in `...` via
6589         "exec 2>...", rather than via an added sub-shell.
6590
6591 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
6592
6593         git-version-gen: use (...) rather than sh -c '...'
6594         * build-aux/git-version-gen: Rather than hard-coding a shell's name
6595         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
6596
6597 2011-01-03  Jim Meyering  <meyering@redhat.com>
6598
6599         git-version-gen: convert leading TABs to spaces
6600         * build-aux/git-version-gen: Expand leading TABs.
6601
6602         git-version-gen: handle failed "git rev-list"
6603         * build-aux/git-version-gen: Rather than leaking a "fatal" error
6604         from git and proceeding as if it had succeeded but printed no SHA1
6605         checksums, suppress the diagnostic and handle the failure.
6606         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
6607
6608         git-version-gen: include command name in one more diagnostic
6609         * build-aux/git-version-gen: When the required .tarball-version file
6610         was missing or unreadable, you might see the diagnostic from "cat",
6611         but no trace of the name of the invoking script.  Now, you still see
6612         the diagnostic from cat, but also get one from "git-version-gen: ".
6613         Inspired by a patch from Bruce Korb.
6614
6615         update-copyright: adjust test to match changed code
6616         * tests/test-update-copyright.sh: Change test's expected output
6617         to match new actual output.
6618
6619 2011-01-02  Bruno Haible  <bruno@clisp.org>
6620
6621         getlogin_r: Avoid test failure on HP-UX 11.
6622         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
6623         ERANGE when the second argument is zero.
6624         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
6625         portability problem.
6626
6627 2011-01-02  Bruce Korb  <bkorb@gnu.org>
6628
6629         * build-aux/update-copyright: doc Simon's changes
6630
6631 2011-01-02  Simon Josefsson  <simon@josefsson.org>
6632
6633         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
6634         environment variable.
6635
6636 2011-01-02  Bruno Haible  <bruno@clisp.org>
6637
6638         unigbrk: Avoid gcc warnings.
6639         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
6640         unused variable.
6641         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
6642         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
6643         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
6644         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
6645         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
6646         Change type of first argument to 'const char *'.
6647         (main): Remove unused variable.
6648         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
6649         type of first argument to 'const char *'.
6650         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
6651         Likewise.
6652         (main): Change type of variable 's'.
6653         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
6654         to 'int'.
6655
6656 2011-01-02  Bruno Haible  <bruno@clisp.org>
6657
6658         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
6659         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
6660         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
6661         bug.
6662         * lib/pwrite.c: Undo 2010-12-31 patch.
6663         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
6664
6665 2011-01-02  Bruno Haible  <bruno@clisp.org>
6666
6667         pread: Fix test whether it works.
6668         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
6669
6670 2011-01-02  Bruno Haible  <bruno@clisp.org>
6671
6672         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
6673         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
6674         ends in "6". Don't require a specific month name. Try also the locale
6675         names found on HP-UX 11 and Solaris 7.
6676
6677 2011-01-02  Bruno Haible  <bruno@clisp.org>
6678
6679         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
6680         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
6681         C linkage.
6682         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
6683
6684 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
6685
6686         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
6687         for consistency, since the "cluster" term is not used elsewhere.
6688         * lib/unigbrk.in.h: Update name.
6689         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
6690         * lib/unigbrk/u16-grapheme-next.c: Update name.
6691         * lib/unigbrk/u16-grapheme-prev.c: Update name.
6692         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
6693         * lib/unigbrk/u32-grapheme-next.c: Update name.
6694         * lib/unigbrk/u32-grapheme-prev.c: Update name.
6695         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
6696         * lib/unigbrk/u8-grapheme-next.c: Update name.
6697         * lib/unigbrk/u8-grapheme-prev.c: Update name.
6698         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
6699         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
6700         Suggested by Bruno Haible.
6701
6702 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
6703
6704         Remove module 'u8-grapheme-len' as too redundant with
6705         'u8-grapheme-next'.
6706         * modules/unigbrk/u8-grapheme-len: Delete file.
6707         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
6708         * lib/unigbrk.in.h: Remove prototype for deleted function.
6709         * lib/unigbrk/u8-grapheme-len.c: Delete file.
6710         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
6711
6712         Remove module 'u16-grapheme-len' as too redundant with
6713         'u16-grapheme-next'.
6714         * modules/unigbrk/u16-grapheme-len: Delete file.
6715         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
6716         * lib/unigbrk.in.h: Remove prototype for deleted function.
6717         * lib/unigbrk/u16-grapheme-len.c: Delete file.
6718         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
6719
6720         Remove module 'u32-grapheme-len' as too redundant with
6721         'u32-grapheme-next'.
6722         * modules/unigbrk/u32-grapheme-len: Delete file.
6723         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
6724         * lib/unigbrk.in.h: Remove prototype for deleted function.
6725         * lib/unigbrk/u32-grapheme-len.c: Delete file.
6726         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
6727
6728         Suggested by Bruno Haible.
6729
6730 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
6731
6732         * unigbrk.in.h: Fix typo: "ben" => "been".
6733         Reported by Bruno Haible.
6734
6735 2011-01-01  Jim Meyering  <meyering@redhat.com>
6736
6737         maint: update almost all copyright ranges to include 2011
6738         Run the new "make update-copyright" rule.
6739
6740 2011-01-01  Jim Meyering  <meyering@redhat.com>
6741
6742         maint: update-copyright: exempt doc/INSTALL*
6743         * Makefile (update-copyright): Also exclude doc/INSTALL*,
6744         since they are generated.  Suggested by Bruno Haible.
6745
6746 2011-01-01  Jim Meyering  <meyering@redhat.com>
6747
6748         maint: refine the update-copyright rule
6749         * Makefile (update-copyright): Also exclude any file that includes
6750         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
6751         code that merely generates the comment.
6752
6753 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
6754
6755         New module 'u8-grapheme-len'.
6756         * modules/unigbrk/u8-grapheme-len: New file.
6757         * modules/unigbrk/u8-grapheme-len-tests: New file.
6758         * lib/unigbrk.in.h: Add prototype for new function.
6759         * lib/unigbrk/u8-grapheme-len.c: New file.
6760         * tests/unigbrk/test-u8-grapheme-len.c: New file.
6761
6762         New module 'u16-grapheme-len'.
6763         * modules/unigbrk/u16-grapheme-len: New file.
6764         * modules/unigbrk/u16-grapheme-len-tests: New file.
6765         * lib/unigbrk.in.h: Add prototype for new function.
6766         * lib/unigbrk/u16-grapheme-len.c: New file.
6767         * tests/unigbrk/test-u16-grapheme-len.c: New file.
6768
6769         New module 'u32-grapheme-len'.
6770         * modules/unigbrk/u32-grapheme-len: New file.
6771         * modules/unigbrk/u32-grapheme-len-tests: New file.
6772         * lib/unigbrk.in.h: Add prototype for new function.
6773         * lib/unigbrk/u32-grapheme-len.c: New file.
6774         * tests/unigbrk/test-u32-grapheme-len.c: New file.
6775
6776         New module 'u8-grapheme-next'.
6777         * modules/unigbrk/u8-grapheme-next: New file.
6778         * modules/unigbrk/u8-grapheme-next-tests: New file.
6779         * lib/unigbrk.in.h: Add prototype for new function.
6780         * lib/unigbrk/u8-grapheme-next.c: New file.
6781         * tests/unigbrk/test-u8-grapheme-next.c: New file.
6782
6783         New module 'u16-grapheme-next'.
6784         * modules/unigbrk/u16-grapheme-next: New file.
6785         * modules/unigbrk/u16-grapheme-next-tests: New file.
6786         * lib/unigbrk.in.h: Add prototype for new function.
6787         * lib/unigbrk/u16-grapheme-next.c: New file.
6788         * tests/unigbrk/test-u16-grapheme-next.c: New file.
6789
6790         New module 'u32-grapheme-next'.
6791         * modules/unigbrk/u32-grapheme-next: New file.
6792         * modules/unigbrk/u32-grapheme-next-tests: New file.
6793         * lib/unigbrk.in.h: Add prototype for new function.
6794         * lib/unigbrk/u32-grapheme-next.c: New file.
6795         * tests/unigbrk/test-u32-grapheme-next.c: New file.
6796
6797         New module 'u8-grapheme-prev'.
6798         * modules/unigbrk/u8-grapheme-prev: New file.
6799         * modules/unigbrk/u8-grapheme-prev-tests: New file.
6800         * lib/unigbrk.in.h: Add prototype for new function.
6801         * lib/unigbrk/u8-grapheme-prev.c: New file.
6802         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
6803
6804         New module 'u16-grapheme-prev'.
6805         * modules/unigbrk/u16-grapheme-prev: New file.
6806         * modules/unigbrk/u16-grapheme-prev-tests: New file.
6807         * lib/unigbrk.in.h: Add prototype for new function.
6808         * lib/unigbrk/u16-grapheme-prev.c: New file.
6809         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
6810
6811         New module 'u32-grapheme-prev'.
6812         * modules/unigbrk/u32-grapheme-prev: New file.
6813         * modules/unigbrk/u32-grapheme-prev-tests: New file.
6814         * lib/unigbrk.in.h: Add prototype for new function.
6815         * lib/unigbrk/u32-grapheme-prev.c: New file.
6816         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
6817
6818         New module 'u8-grapheme-breaks'.
6819         * modules/unigbrk/u8-grapheme-breaks: New file.
6820         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
6821         * lib/unigbrk.in.h: Add prototype for new function.
6822         * lib/unigbrk/u8-grapheme-breaks.c: New file.
6823         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
6824
6825         New module 'u16-grapheme-breaks'.
6826         * modules/unigbrk/u16-grapheme-breaks: New file.
6827         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
6828         * lib/unigbrk.in.h: Add prototype for new function.
6829         * lib/unigbrk/u16-grapheme-breaks.c: New file.
6830         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
6831
6832         New module 'u32-grapheme-breaks'.
6833         * modules/unigbrk/u32-grapheme-breaks: New file.
6834         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
6835         * lib/unigbrk.in.h: Add prototype for new function.
6836         * lib/unigbrk/u32-grapheme-breaks.c: New file.
6837         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
6838
6839         New module 'ulc-grapheme-breaks'.
6840         * modules/unigbrk/ulc-grapheme-breaks: New file.
6841         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
6842         * m4/locale-ar.m4: New file.
6843         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
6844         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
6845         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
6846
6847 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
6848
6849         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
6850         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
6851         modified how this file was generated before I initially submitted
6852         the module, but failed to regenerate it.  This meant that several
6853         of the level2 entries were wrong.
6854         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
6855         Remove the division-by-2 that is folded into the table now that
6856         gbrkprop.h has been regenerated properly.  Now -1 entries are
6857         handled correctly.
6858
6859         New module 'unigbrk/uc-gbrk-prop-tests'.
6860         * modules/unigbrk/uc-gbrk-prop-tests: New file.
6861         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
6862         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
6863         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
6864
6865 2011-01-01  Bruno Haible  <bruno@clisp.org>
6866
6867         Avoid use of hexadecimal escapes.
6868         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
6869         instead of hexadecimal escapes.
6870
6871 2011-01-01  Jim Meyering  <meyering@redhat.com>
6872
6873         maint: new rule to update copyright year ranges
6874         * Makefile (update-copyright): New rule.
6875
6876         maint: indent with TABs in Makefile
6877         * Makefile: Expand leading sequences of spaces to TABs
6878
6879         version-etc: update the copyright year it reports
6880         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
6881
6882 2010-12-31  Bruno Haible  <bruno@clisp.org>
6883
6884         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
6885         * lib/isfinite.c (zerof, zerod, zerol): New variables.
6886         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
6887         zero.
6888
6889 2010-12-31  Bruno Haible  <bruno@clisp.org>
6890
6891         pwrite: Work around HP-UX 11.11 bug.
6892         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
6893         works and set REPLACE_PWRITE if not.
6894         * lib/pwrite.c (pwrite): Add an implementation that uses the system
6895         function.
6896         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
6897
6898 2010-12-31  Bruno Haible  <bruno@clisp.org>
6899
6900         pread: Work around HP-UX 11 bugs.
6901         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
6902         and set REPLACE_PREAD if not.
6903         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
6904
6905 2010-12-31  Eric Blake  <eblake@redhat.com>
6906
6907         nl_langinfo: fix YESEXPR on Irix 6.5
6908         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
6909         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
6910         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
6911         it.
6912
6913 2010-12-31  Bruno Haible  <bruno@clisp.org>
6914
6915         iconv: Document HP-UX 11 bug.
6916         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
6917
6918 2010-12-31  Bruno Haible  <bruno@clisp.org>
6919
6920         ldexpl: Fix link error on HP-UX 11.
6921         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
6922         LDEXPL_LIBM, using $ISNANL_LIBM.
6923
6924 2010-12-31  Eric Blake  <eblake@redhat.com>
6925
6926         ftello: avoid compilation failure with SunStudio c89
6927         * lib/ftello.c (ftello): Use lseek, not llseek.
6928
6929         tests: avoid failing coreutils tests on cygwin
6930         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
6931         (create_exe_shims_): Return 0 when skipping.
6932
6933 2010-12-31  Bruno Haible  <bruno@clisp.org>
6934
6935         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
6936         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
6937
6938 2010-12-31  Bruno Haible  <bruno@clisp.org>
6939
6940         waitpid: Fix link error in C++ mode.
6941         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
6942
6943 2010-12-31  Bruno Haible  <bruno@clisp.org>
6944
6945         isnan: Use GCC built-ins when possible.
6946         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
6947         __builtin_isnan.
6948         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
6949         (isnan): Define using GCC built-ins for GCC >= 4.0.
6950
6951 2010-12-31  Bruno Haible  <bruno@clisp.org>
6952
6953         isnand: Fix mistake.
6954         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
6955         __builtin_isnand.
6956
6957 2010-12-31  Bruno Haible  <bruno@clisp.org>
6958
6959         open: Avoid C++ error on HP-UX 11.
6960         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
6961
6962 2010-12-31  Bruno Haible  <bruno@clisp.org>
6963
6964         time_r: Add missing declarations on HP-UX 11.
6965         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
6966         instead of HAVE_LOCALTIME_R.
6967         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
6968         HAVE_LOCALTIME_R always.
6969         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
6970         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
6971         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
6972         HAVE_LOCALTIME_R.
6973         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
6974         * doc/posix-functions/localtime_r.texi: Likewise.
6975
6976 2010-12-29  Eric Blake  <eblake@redhat.com>
6977
6978         mountlist: tweak previous commit
6979         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
6980         Reported by Paul Eggert.
6981
6982         mountlist: fix local drive detection on cygwin
6983         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
6984         that works for cygwin.
6985
6986 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
6987
6988         ftoastr, snprintf: ftoastr + snprintf module
6989         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
6990         since the snprintf module now should be good enough here.
6991         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
6992         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
6993         and gl_MODULE_INDICATOR([snprintf]), but the former enables
6994         GNULIB_SNPRINTF only for the test directory, and the latter
6995         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
6996         seems to suffice by itself.
6997
6998 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
6999
7000         alloca: one step towards thread-safety
7001         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
7002         need for a static variable.  All callers changed.  This does not
7003         make the alloca replacement thread-safe, but it's one step.
7004
7005         tests: minor indenting change
7006         * tests/init.sh: Sync from coreutils housekeeping patch
7007         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
7008         to keep lines within 80 columns.
7009
7010 2010-12-28  Jim Meyering  <meyering@redhat.com>
7011
7012         regex: don't infloop on persistent failing calloc
7013         * lib/regexec.c (build_trtable): Return failure indication upon
7014         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
7015         In glibc, this was fixed for version 2.13:
7016         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
7017
7018 2010-12-28  Bruno Haible  <bruno@clisp.org>
7019             Paul Eggert <eggert@cs.ucla.edu>
7020
7021         linkat: Make implementation robust against system behaviour variations.
7022         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
7023         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
7024         way, and to -2 if it needs a generic runtime test.
7025         * lib/linkat.c (solaris_optimized_link_immediate,
7026         solaris_optimized_link_follow): New functions.
7027         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
7028         (check_same_link): Use it.
7029
7030 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
7031
7032         New module 'unigbrk/base'.
7033         * modules/unigbrk/base: New file.
7034         * lib/unigbrk.in.h: New file.
7035
7036         New module 'unigbrk/uc-gbrk-prop'.
7037         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
7038         * modules/unigbrk/uc-gbrk-prop: New file.
7039         * lib/unigbrk/gbrkprop.h: New file.
7040         * lib/unigbrk/uc-gbrk-prop.c: New file.
7041
7042         New module 'unigbrk/uc-is-grapheme-break'.
7043         * modules/unigbrk/uc-is-grapheme-break: New file.
7044         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
7045         * lib/unigbrk/uc-is-grapheme-break.c: New file.
7046         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
7047         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
7048         * tests/unigbrk/GraphemeBreakTest.txt: New file.
7049
7050         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
7051
7052 2010-12-27  Bruno Haible  <bruno@clisp.org>
7053
7054         linkat test: Avoid failure on Solaris 11 2010-11.
7055         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
7056
7057 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
7058
7059         utimens: work around glibc rounding bug on more platforms
7060         * lib/utimens.c (fdutimens): Work around rounding bug even if
7061         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
7062         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
7063
7064 2010-12-27  Bruno Haible  <bruno@clisp.org>
7065
7066         select tests: Improve comments.
7067         * tests/test-select.c (do_select): Add comments.
7068
7069 2010-12-27  Bruno Haible  <bruno@clisp.org>
7070
7071         select tests: Safer way of handling timeout.
7072         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
7073         at every invocation.
7074
7075 2010-12-27  Bruno Haible  <bruno@clisp.org>
7076
7077         select tests: Use 'bool' where appropriate.
7078         * tests/test-select.c (connect_to_socket): Change argument type to
7079         'bool'.
7080
7081 2010-12-27  Bruno Haible  <bruno@clisp.org>
7082
7083         select tests: Use existing modules.
7084         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
7085         (configure.ac): Don't test for unistd.h.
7086         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
7087         declared in <unistd.h>.
7088
7089 2010-12-27  Bruno Haible  <bruno@clisp.org>
7090
7091         mbrtowc: Work around a Solaris 7 bug.
7092         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
7093         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
7094         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
7095         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
7096         MBRTOWC_NULL_ARG1_BUG.
7097         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
7098         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
7099         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
7100         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
7101
7102 2010-12-27  Jim Meyering  <meyering@redhat.com>
7103
7104         read-file.c: tweak syntax
7105         * lib/read-file.c (fread_file): Remove space after "*" in function
7106         definitions.
7107
7108 2010-12-27  Bruno Haible  <bruno@clisp.org>
7109
7110         times test: Avoid gcc warnings on OSF/1.
7111         * tests/test-times.c (main): Cast printf arguments from clock_t to
7112         'long int'.
7113
7114 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
7115
7116         utimens: work around glibc rounding bug on older Linux kernels
7117         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
7118         on Linux with a glibc whose utimes might not work, then work
7119         around a longstanding glibc bug involving rounding rather than
7120         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
7121         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
7122
7123 2010-12-26  Bruno Haible  <bruno@clisp.org>
7124
7125         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
7126         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
7127         _GL_CXXALIAS_SYS.
7128         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7129
7130 2010-12-26  Bruno Haible  <bruno@clisp.org>
7131
7132         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
7133         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
7134         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
7135         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
7136         looking for the declaration.
7137         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
7138         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
7139         problem.
7140         * doc/posix-functions/inet_pton.texi: Likewise.
7141
7142 2010-12-26  Bruno Haible  <bruno@clisp.org>
7143
7144         arpa_inet: Use the common idioms with C++ support.
7145         * lib/arpa_inet.in.h: Include c++defs.h.
7146         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
7147         support.
7148         * modules/arpa_inet (Depends-on): Add c++defs.
7149         (Makefile.am): Substitute the contents of c++defs.h.
7150         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
7151         * modules/arpa_inet-c++-tests: New file.
7152         * tests/test-arpa_inet-c++.cc: New file.
7153
7154 2010-12-25  Bruno Haible  <bruno@clisp.org>
7155
7156         Fix more C++ link errors on Solaris 8.
7157         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
7158         $(LIB_EACCESS).
7159         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
7160         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
7161         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
7162         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
7163         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
7164
7165 2010-12-25  Bruno Haible  <bruno@clisp.org>
7166
7167         printf-posix: Fix link error when a non-GCC compiler is used.
7168         * lib/stdio.in.h (printf): When not using GCC, override printf
7169         correctly.
7170         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7171
7172 2010-12-25  Bruno Haible  <bruno@clisp.org>
7173
7174         strerror_r-posix: Update doc.
7175         * doc/posix-functions/strerror_r.texi: Update doc about the return
7176         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
7177
7178 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
7179
7180         utimens: simplify the logic of the previous change
7181         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
7182         This should not affect whether the test succeeds or fails.
7183
7184         utimens: configure better on hosts with NFS clock skew
7185         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
7186         uses the clock of the local host.  It might use the clock of the
7187         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
7188         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
7189
7190 2010-12-25  Bruno Haible  <bruno@clisp.org>
7191
7192         ptsname test: Avoid failure on Solaris.
7193         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
7194         open a pseudo-terminal; don't use BSD-style ptys.
7195         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
7196
7197 2010-12-25  Bruno Haible  <bruno@clisp.org>
7198
7199         ptsname: Avoid ERANGE failure on some systems.
7200         * lib/ptsname.c (buffer): Increase size.
7201
7202 2010-12-25  Bruno Haible  <bruno@clisp.org>
7203
7204         rename, renameat: Avoid test failures at NFS mounted locations.
7205         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
7206         so that subsequent mkdir calls succeed.
7207
7208 2010-12-25  Bruno Haible  <bruno@clisp.org>
7209
7210         iswblank: Fix C++ link error on Solaris 8.
7211         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
7212         _GL_FUNCDECL_SYS.
7213
7214 2010-12-25  Bruno Haible  <bruno@clisp.org>
7215
7216         unistd: Fix C++ link error on Solaris 8.
7217         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
7218
7219 2010-12-25  Bruno Haible  <bruno@clisp.org>
7220
7221         readlink doc: Mention an old glibc bug.
7222         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
7223
7224 2010-12-25  Bruno Haible  <bruno@clisp.org>
7225
7226         fcntl-h: Fix for use of C++ on glibc systems.
7227         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
7228         also on glibc systems in C++ mode.
7229         Reported by Gary V. Vaughan <gary@gnu.org>.
7230
7231 2010-12-25  Bruno Haible  <bruno@clisp.org>
7232
7233         roundl-ieee: Make it work on OSF/1 5.1 with cc.
7234         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
7235
7236 2010-12-25  Bruno Haible  <bruno@clisp.org>
7237
7238         truncl-ieee: Make it work on OSF/1 5.1 with cc.
7239         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
7240         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
7241         test whether truncl works according to ISO C 99 with IEC 60559.
7242         * m4/truncl-ieee.m4: New file.
7243         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
7244         m4/signbit.m4.
7245         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
7246
7247 2010-12-25  Bruno Haible  <bruno@clisp.org>
7248
7249         ceill-ieee: Make it work on OSF/1 5.1 with cc.
7250         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
7251         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
7252         test whether ceill works according to ISO C 99 with IEC 60559.
7253         * m4/ceill-ieee.m4: New file.
7254         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
7255         m4/signbit.m4.
7256         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
7257
7258 2010-12-25  Bruno Haible  <bruno@clisp.org>
7259
7260         Ensure all prerequisites of <wchar.h> are included.
7261         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
7262         before <wchar.h>.
7263         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
7264         gl_MBRLEN_NUL_RETVAL): Likewise.
7265         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
7266         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
7267         AC_FUNC_MBRTOWC): Likewise.
7268         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
7269         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
7270         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
7271         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
7272         Likewise.
7273         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
7274         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
7275         (gl_WCHAR_H): Improve comments.
7276         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
7277
7278 2010-12-25  Bruno Haible  <bruno@clisp.org>
7279
7280         strtok_r: Fix C syntax error in autoconf macro.
7281         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
7282         characters in test program.
7283
7284 2010-12-24  Bruno Haible  <bruno@clisp.org>
7285
7286         ceil, trunc, round: Fix gcc warnings.
7287         * lib/ceil.c (MIN): Undefine before redefining.
7288         * lib/trunc.c (MIN): Likewise.
7289         * lib/round.c (MIN): Likewise.
7290         Include <math.h> first.
7291
7292 2010-12-24  Bruno Haible  <bruno@clisp.org>
7293
7294         select tests: Avoid failures on OSF/1 5.1.
7295         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
7296         failure of closing the last socket; it may fail with ECONNRESET.
7297
7298 2010-12-24  Eric Blake  <eblake@redhat.com>
7299
7300         stdint: avoid HP-UX 10.20 preprocessor bug
7301         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
7302         than #if.
7303         * tests/test-floor2.c (main): Likewise.
7304         Reported by Peter O'Gorman.
7305
7306         pipe: make obsoletion transition easier
7307         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
7308         * modules/pipe (Files): Include revived file.
7309         (Include): Drop reference, to mirror getdate's behavior.
7310
7311 2010-12-24  Bruno Haible  <bruno@clisp.org>
7312
7313         sys_socket: Hide mismatch of declarations on NonStop Kernel.
7314         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
7315         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
7316         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7317
7318 2010-12-24  Bruno Haible  <bruno@clisp.org>
7319
7320         gethostname: Ensure declaration on NonStop Kernel.
7321         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
7322         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7323
7324 2010-12-24  Bruno Haible  <bruno@clisp.org>
7325
7326         sys_select: Ensure all necessary types on NonStop Kernel.
7327         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
7328         include <sys/time.h>.
7329         * doc/posix-headers/sys_select.texi: Mention that it's missing on
7330         NonStop Kernel.
7331         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7332
7333 2010-12-24  Bruno Haible  <bruno@clisp.org>
7334
7335         sys_select: Remove unneeded include.
7336         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
7337         have <sys/select.h>.
7338
7339 2010-12-24  Bruno Haible  <bruno@clisp.org>
7340
7341         gethostname: Provide a fallback for HOST_NAME_MAX.
7342         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
7343         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
7344         instead.
7345         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7346
7347 2010-12-24  Bruno Haible  <bruno@clisp.org>
7348
7349         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
7350         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
7351         (SA_RESTART): Likewise.
7352         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7353
7354 2010-12-24  Bruno Haible  <bruno@clisp.org>
7355
7356         signal: Define NSIG.
7357         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
7358         * tests/test-signal.c (nsig): New variable.
7359         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7360
7361 2010-12-24  Bruno Haible  <bruno@clisp.org>
7362
7363         rename, renameat: Avoid test failures on OSF/1 5.1.
7364         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
7365         alternative error codes.
7366         * tests/test-renameat.c (main): Likewise.
7367
7368 2010-12-24  Bruno Haible  <bruno@clisp.org>
7369
7370         *printf: Detect large precisions bug on Solaris 10/SPARC.
7371         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
7372         by Paul Eggert.
7373         * tests/test-snprintf-posix.h (test_function): Add this test code here
7374         too.
7375         * tests/test-sprintf-posix.h (test_function): Likewise.
7376         * tests/test-vasnprintf-posix.c (test_function): Likewise.
7377         * tests/test-vasprintf-posix.c (test_function): Likewise.
7378         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
7379         around by gnulib.
7380         * doc/posix-functions/printf.texi: Likewise.
7381         * doc/posix-functions/snprintf.texi: Likewise.
7382         * doc/posix-functions/sprintf.texi: Likewise.
7383         * doc/posix-functions/vfprintf.texi: Likewise.
7384         * doc/posix-functions/vprintf.texi: Likewise.
7385         * doc/posix-functions/vsnprintf.texi: Likewise.
7386         * doc/posix-functions/vsprintf.texi: Likewise.
7387         * doc/posix-functions/dprintf.texi: Undo last commit.
7388         * doc/posix-functions/vdprintf.texi: Likewise.
7389
7390 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
7391
7392         tests: port test-fdutimensat.c to Solaris 8
7393         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
7394         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
7395         On Solaris 8, it fails with errno == ENOSYS, because there is no
7396         futimens (so it can't use the fd), and there is no lutimens (so it
7397         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
7398
7399         vsnprintf: make more consistent with snprintf; doc fixes
7400
7401         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
7402         the byte count return problem was promoted from the snprintf-posix
7403         to the snprintf module.
7404         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
7405         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
7406         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
7407         * tests/test-snprintf.c (main): Check the byte count returned.
7408         * tests/test-vsnprintf.c (main): Likewise.
7409
7410 2010-12-23  Eric Blake  <eblake@redhat.com>
7411
7412         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
7413         * modules/sigpipe (License): Relax license.
7414
7415 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
7416
7417         doc: document Solaris printf bug with large float precisions
7418         * doc/posix-functions/dprintf.texi (dprintf):
7419         * doc/posix-functions/fprintf.texi (fprintf):
7420         * doc/posix-functions/printf.texi (printf):
7421         * doc/posix-functions/snprintf.texi (snprintf):
7422         * doc/posix-functions/sprintf.texi (sprintf):
7423         * doc/posix-functions/vdprintf.texi (vdprintf):
7424         * doc/posix-functions/vfprintf.texi (vfprintf):
7425         * doc/posix-functions/vprintf.texi (vprintf):
7426         * doc/posix-functions/vsnprintf.texi (vsnprintf):
7427         * doc/posix-functions/vsprintf.texi (vsprintf):
7428         Mention that these functions mishandle large floating point
7429         precisions on Solaris 10.  The same bug is also present in Solaris
7430         8, and I assume earlier.  This causes "cd gnulib-tests; make
7431         check" to fail on Solaris 8 (and I assume, later) when building
7432         the latest coreutils, in test-vasprintf-posix's call to
7433         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
7434         the wide flavors (e.g., wprintf) so this patch just updates the
7435         documentation for the narrow ones.
7436
7437         test-posixtm.c: add two tests
7438         * tests/test-posixtm.c: Add two tests, to highlight the
7439         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
7440         around this bug; this is merely to document it.
7441
7442 2010-12-22  Bruno Haible  <bruno@clisp.org>
7443
7444         getlogin_r: Work around portability problem on OSF/1.
7445         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
7446         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
7447         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
7448         test for a truncated result.
7449         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
7450         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
7451         * modules/getlogin_r (Depends-on): Add memchr.
7452         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
7453
7454 2010-12-22  Bruno Haible  <bruno@clisp.org>
7455
7456         ptsname: Avoid test failure on OSF/1 5.1.
7457         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
7458         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
7459         (same_slave): New function.
7460         (main): Use it to compare ptsname's result with the expected file name.
7461
7462 2010-12-22  Bruno Haible  <bruno@clisp.org>
7463
7464         Port extended stdio modules to HP NonStop Kernel.
7465         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
7466         macros.
7467         * lib/fbufmode.c: Update comments.
7468         * lib/fflush.c: Likewise.
7469         * lib/fpurge.c: Likewise.
7470         * lib/freadable.c: Likewise.
7471         * lib/freadahead.c: Likewise.
7472         * lib/freading.c: Likewise.
7473         * lib/freadptr.c: Likewise.
7474         * lib/freadseek.c: Likewise.
7475         * lib/fseeko.c: Likewise.
7476         * lib/fseterr.c: Likewise.
7477         * lib/fwritable.c: Likewise.
7478         * lib/fwriting.c: Likewise.
7479         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
7480
7481 2010-12-22  Bruno Haible  <bruno@clisp.org>
7482
7483         ttyname_r: Work around bug on OSF/1 5.1.
7484         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
7485         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
7486         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
7487         present.
7488         * lib/ttyname_r.c (ttyname_r): Update comments.
7489
7490 2010-12-22  Bruno Haible  <bruno@clisp.org>
7491
7492         round: Implement result sign according to IEEE 754.
7493         * lib/round.c (MIN, MINUS_ZERO): New macros.
7494         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
7495         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
7496         * tests/test-round-ieee.c (main): Likewise.
7497         * tests/test-roundl-ieee.c (main): Likewise.
7498
7499         trunc: Implement result sign according to IEEE 754.
7500         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
7501         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
7502         * tests/test-trunc2.c: Include minus-zero.h.
7503         (MINUS_ZERO): New macro.
7504         (trunc_reference): Keep in sync with lib/trunc.c.
7505         * tests/test-truncf2.c: Include minus-zero.h.
7506         (MINUS_ZERO): New macro.
7507         (truncf_reference): Keep in sync with lib/trunc.c.
7508         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
7509         * tests/test-trunc-ieee.c (main): Likewise.
7510         * tests/test-truncl-ieee.c (main): Likewise.
7511
7512         ceil: Implement result sign according to IEEE 754.
7513         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
7514         (FUNC): Return -0.0 for -1 < x < 0.
7515         * tests/test-ceil2.c: Include minus-zero.h.
7516         (MINUS_ZERO): New macro.
7517         (ceil_reference): Keep in sync with lib/ceil.c.
7518         * tests/test-ceilf2.c: Include minus-zero.h.
7519         (MINUS_ZERO): New macro.
7520         (ceilf_reference): Keep in sync with lib/ceil.c.
7521         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
7522         * tests/test-ceil-ieee.c (main): Likewise.
7523         * tests/test-ceill-ieee.c (main): Likewise.
7524
7525         floor: Implement result sign according to IEEE 754.
7526         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
7527         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
7528         * tests/test-floorf2.c (floorf_reference): Likewise.
7529         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
7530         * tests/test-floor-ieee.c (main): Likewise.
7531         * tests/test-floorl-ieee.c (main): Likewise.
7532
7533 2010-12-22  Bruno Haible  <bruno@clisp.org>
7534
7535         getaddrinfo: Update doc.
7536         * doc/posix-functions/gai_strerror.texi: Return type is also different
7537         on AIX and HP-UX.
7538
7539 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
7540
7541         getaddrinfo, inet_ntop: Update doc for Solaris.
7542         * doc/posix-functions/gai_strerror.texi: Return type is also an
7543         issue on Solaris 9 and earlier.
7544         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
7545         on Solaris 10 and earlier.
7546
7547 2010-12-21  Bruno Haible  <bruno@clisp.org>
7548
7549         New module 'roundl-ieee'.
7550         * modules/roundl-ieee: New file.
7551         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
7552         test whether roundl works according to ISO C 99 with IEC 60559.
7553         * m4/roundl-ieee.m4: New file.
7554         * modules/roundl-ieee-tests: New file.
7555         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
7556         * tests/test-roundl.c (main): Remove signbit tests.
7557         * modules/roundl-tests (Depends-on): Remove signbit.
7558         * doc/posix-functions/roundl.texi: Mention the new module.
7559
7560 2010-12-21  Bruno Haible  <bruno@clisp.org>
7561
7562         New module 'truncl-ieee'.
7563         * modules/truncl-ieee: New file.
7564         * modules/truncl-ieee-tests: New file.
7565         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
7566         * tests/test-truncl.c (main): Remove signbit tests.
7567         * modules/truncl-tests (Depends-on): Remove signbit.
7568         * doc/posix-functions/truncl.texi: Mention the new module.
7569
7570 2010-12-21  Bruno Haible  <bruno@clisp.org>
7571
7572         New module 'ceill-ieee'.
7573         * modules/ceill-ieee: New file.
7574         * modules/ceill-ieee-tests: New file.
7575         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
7576         * tests/test-ceill.c (main): Remove signbit tests.
7577         * modules/ceill-tests (Depends-on): Remove signbit.
7578         * doc/posix-functions/ceill.texi: Mention the new module.
7579
7580 2010-12-21  Bruno Haible  <bruno@clisp.org>
7581
7582         New module 'floorl-ieee'.
7583         * modules/floorl-ieee: New file.
7584         * modules/floorl-ieee-tests: New file.
7585         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
7586         * tests/test-floorl.c (main): Remove signbit tests.
7587         * modules/floorl-tests (Depends-on): Remove signbit.
7588         * doc/posix-functions/floorl.texi: Mention the new module.
7589
7590 2010-12-21  Bruno Haible  <bruno@clisp.org>
7591
7592         New module 'round-ieee'.
7593         * modules/round-ieee: New file.
7594         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
7595         whether round works according to ISO C 99 with IEC 60559.
7596         * m4/round-ieee.m4: New file.
7597         * modules/round-ieee-tests: New file.
7598         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
7599         * tests/test-round1.c (main): Remove signbit tests.
7600         * modules/round-tests (Depends-on): Remove 'signbit'.
7601         * doc/posix-functions/round.texi: Mention the new module.
7602
7603 2010-12-21  Bruno Haible  <bruno@clisp.org>
7604
7605         New module 'trunc-ieee'.
7606         * modules/trunc-ieee: New file.
7607         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
7608         whether trunc works according to ISO C 99 with IEC 60559.
7609         * m4/trunc-ieee.m4: New file.
7610         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
7611         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
7612         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
7613         * modules/trunc-ieee-tests: New file.
7614         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
7615         * tests/test-trunc1.c (main): Remove signbit tests.
7616         * modules/trunc-tests (Depends-on): Remove 'signbit'.
7617         * doc/posix-functions/trunc.texi: Mention the new module.
7618
7619 2010-12-21  Bruno Haible  <bruno@clisp.org>
7620
7621         New module 'ceil-ieee'.
7622         * modules/ceil-ieee: New file.
7623         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
7624         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
7625         ISO C 99 with IEC 60559.
7626         * m4/ceil-ieee.m4: New file.
7627         * modules/ceil (Files): Add lib/ceil.c.
7628         (Depends-on): Add 'float'.
7629         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
7630         * lib/math.in.h (ceil): New declaration.
7631         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
7632         REPLACE_CEIL.
7633         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
7634         * modules/ceil-ieee-tests: New file.
7635         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
7636         * tests/test-math-c++.cc: Check the signature of 'ceil'.
7637         * doc/posix-functions/ceil.texi: Mention the new module.
7638
7639 2010-12-21  Bruno Haible  <bruno@clisp.org>
7640
7641         New module 'floor-ieee'.
7642         * modules/floor-ieee: New file.
7643         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
7644         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
7645         ISO C 99 with IEC 60559.
7646         * m4/floor-ieee.m4: New file.
7647         * modules/floor (Files): Add lib/floor.c.
7648         (Depends-on): Add 'float'.
7649         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
7650         * lib/math.in.h (floor): New declaration.
7651         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
7652         REPLACE_FLOOR.
7653         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
7654         * modules/floor-ieee-tests: New file.
7655         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
7656         * tests/test-math-c++.cc: Check the signature of 'floor'.
7657         * doc/posix-functions/floor.texi: Mention the new module.
7658
7659 2010-12-21  Bruno Haible  <bruno@clisp.org>
7660
7661         New module 'roundf-ieee'.
7662         * modules/roundf-ieee: New file.
7663         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
7664         test whether roundf works according to ISO C 99 with IEC 60559.
7665         * m4/roundf-ieee.m4: New file.
7666         * modules/roundf-ieee-tests: New file.
7667         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
7668         * tests/test-roundf1.c (main): Remove signbit tests.
7669         * modules/roundf-tests (Depends-on): Remove 'signbit'.
7670         * doc/posix-functions/roundf.texi: Mention the new module.
7671
7672 2010-12-21  Bruno Haible  <bruno@clisp.org>
7673
7674         New module 'truncf-ieee'.
7675         * modules/truncf-ieee: New file.
7676         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
7677         test whether truncf works according to ISO C 99 with IEC 60559.
7678         * m4/truncf-ieee.m4: New file.
7679         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
7680         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
7681         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
7682         * modules/truncf-ieee-tests: New file.
7683         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
7684         * tests/test-truncf1.c (main): Remove signbit tests.
7685         * modules/truncf-tests (Depends-on): Remove 'signbit'.
7686         * doc/posix-functions/truncf.texi: Mention the new module.
7687
7688 2010-12-21  Bruno Haible  <bruno@clisp.org>
7689
7690         New module 'ceilf-ieee'.
7691         * modules/ceilf-ieee: New file.
7692         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
7693         test whether ceilf works according to ISO C 99 with IEC 60559.
7694         * m4/ceilf-ieee.m4: New file.
7695         * modules/ceilf-ieee-tests: New file.
7696         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
7697         * tests/test-ceilf1.c (main): Remove signbit tests.
7698         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
7699         * doc/posix-functions/ceilf.texi: Mention the new module.
7700
7701 2010-12-21  Bruno Haible  <bruno@clisp.org>
7702
7703         New module 'floorf-ieee'.
7704         * modules/floorf-ieee: New file.
7705         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
7706         test whether floorf works according to ISO C 99 with IEC 60559.
7707         * m4/floorf-ieee.m4: New file.
7708         * modules/floorf-ieee-tests: New file.
7709         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
7710         * tests/test-floorf1.c (main): Remove signbit tests.
7711         * modules/floorf-tests (Depends-on): Remove 'signbit'.
7712         * doc/posix-functions/floorf.texi: Mention the new module.
7713
7714 2010-12-21  Bruno Haible  <bruno@clisp.org>
7715
7716         Support for minus zero in autoconf macros.
7717         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
7718         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
7719         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
7720         * tests/minus-zero.h: Update comments.
7721
7722 2010-12-21  Bruno Haible  <bruno@clisp.org>
7723
7724         Tests for module 'ceil'.
7725         * modules/ceil-tests: New file.
7726         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
7727         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
7728
7729 2010-12-21  Bruno Haible  <bruno@clisp.org>
7730
7731         Tests for module 'floor'.
7732         * modules/floor-tests: New file.
7733         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
7734         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
7735
7736 2010-12-21  Bruno Haible  <bruno@clisp.org>
7737
7738         math: Fix indentation.
7739         * lib/math.in.h (floorf): Fix indentation.
7740
7741 2010-12-21  Bruno Haible  <bruno@clisp.org>
7742
7743         Fix cross-compilation guesses on Solaris.
7744         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
7745         not match "solaris2.10".
7746         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
7747         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
7748         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
7749
7750 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
7751
7752         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
7753         This fixes a problem observed with the latest coreutils snapshot
7754         that caused a test to fail on Solaris 8.  src/csplit.c's call
7755         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
7756         earlier, instead of returning the number of bytes that would have
7757         been generated; this causes csplit to incorrectly report memory
7758         exhaustion.
7759         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
7760         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
7761         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
7762         comments to match.
7763         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
7764         Fix typo in matching older versions of Solaris: "solaris2.10"
7765         is matched by the shell pattern "solaris2.[0-9]*".  This matters
7766         only for guessing while cross-compiling.
7767         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
7768
7769 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
7770
7771         ftoastr: fix comment again
7772         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
7773         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
7774         Also, simplify example a bit by using flags = 0.
7775
7776 2010-12-20  Bruno Haible  <bruno@clisp.org>
7777
7778         round*, trunc*: Update documentation regarding glibc.
7779         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
7780         * doc/posix-functions/round.texi: Likewise.
7781         * doc/posix-functions/roundl.texi: Likewise.
7782         * doc/posix-functions/truncf.texi: Likewise.
7783         * doc/posix-functions/trunc.texi: Likewise.
7784         * doc/posix-functions/truncl.texi: Likewise.
7785
7786 2010-12-20  Bruno Haible  <bruno@clisp.org>
7787
7788         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
7789         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
7790         * doc/posix-functions/round.texi: Likewise.
7791         * doc/posix-functions/roundl.texi: Likewise.
7792
7793 2010-12-20  Bruno Haible  <bruno@clisp.org>
7794
7795         ttyname_r: Add missing declaration on HP-UX 11.
7796         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
7797         HAVE_TTYNAME_R.
7798         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
7799         declared. Set HAVE_TTYNAME_R always.
7800         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7801         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
7802         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
7803         HAVE_TTYNAME_R.
7804         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
7805
7806 2010-12-20  Bruno Haible  <bruno@clisp.org>
7807
7808         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
7809         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
7810         * doc/posix-functions/getlogin_r.texi: Likewise.
7811         * tests/test-getlogin.c: Include <errno.h>.
7812         (main): Avoid test failure on HP-UX 11.11.
7813         * tests/test-getlogin_r.c (main): Likewise.
7814
7815 2010-12-20  Bruno Haible  <bruno@clisp.org>
7816
7817         getlogin_r: Add missing declaration on HP-UX 11.
7818         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
7819         declared also when it exists as a function.
7820         * doc/posix-functions/getlogin_r.texi: Document this workaround.
7821
7822 2010-12-20  Bruno Haible  <bruno@clisp.org>
7823
7824         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
7825         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
7826         through wcrtomb.
7827
7828 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
7829
7830         ftoastr: fix comment
7831         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
7832         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
7833
7834 2010-12-19  Bruno Haible  <bruno@clisp.org>
7835
7836         isnan: Ensure it is a macro.
7837         * lib/math.in.h (isnan): Define as a macro if not already a macro.
7838         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
7839         Solaris.
7840
7841 2010-12-19  Bruno Haible  <bruno@clisp.org>
7842
7843         ldexpl test: Fix link error on OSF/1 5.1.
7844         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
7845
7846 2010-12-19  Bruno Haible  <bruno@clisp.org>
7847
7848         wctype: Make it work in C++ mode on OSF/1 5.1.
7849         * lib/wctype.in.h (iswblank): Declare but not define here.
7850         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
7851         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
7852         * modules/wctype (Files): Add lib/iswblank.c.
7853
7854 2010-12-19  Bruno Haible  <bruno@clisp.org>
7855
7856         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
7857         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
7858         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
7859
7860 2010-12-19  Bruno Haible  <bruno@clisp.org>
7861
7862         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
7863         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
7864         _POSIX_PII_SOCKET.
7865         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
7866         * doc/posix-functions/recvfrom.texi: Likewise.
7867         * doc/posix-functions/send.texi: Likewise.
7868         * doc/posix-functions/sendto.texi: Likewise.
7869
7870 2010-12-19  Bruno Haible  <bruno@clisp.org>
7871
7872         tcgetsid: Add missing declaration on OSF/1 5.1.
7873         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
7874         HAVE_TCGETSID.
7875         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
7876         Don't set HAVE_TCGETSID.
7877         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
7878         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
7879         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
7880         HAVE_TCGETSID.
7881         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
7882
7883 2010-12-19  Bruno Haible  <bruno@clisp.org>
7884
7885         stdio: Fix problem with popen() declaration on OSF/1 5.1.
7886         * lib/stdio.in.h: During the include_next statement, let recursive
7887         includes of this file include only the system header file.
7888
7889 2010-12-19  Bruno Haible  <bruno@clisp.org>
7890
7891         iconv_open: Fix regression from 2010-12-04.
7892         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
7893         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
7894
7895 2010-12-19  Bruno Haible  <bruno@clisp.org>
7896
7897         stdbool test: Avoid a gcc warning.
7898         * tests/test-stdbool.c (main): Fail if e1 is false.
7899         Reported by Jim Meyering.
7900
7901 2010-12-19  Jim Meyering  <meyering@redhat.com>
7902
7903         setenv: restore to working order
7904         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
7905         mistakenly removed.
7906         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
7907         HAVE_SETENV.
7908         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
7909         HAVE_SETENV.
7910
7911 2010-12-19  Bruno Haible  <bruno@clisp.org>
7912
7913         Document some different function declarations on OSF/1 5.1.
7914         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
7915         * doc/posix-functions/inet_ntop.texi: Likewise.
7916         * doc/posix-functions/gethostname.texi: Likewise.
7917         * lib/unistd.in.h (gethostname): Update comment.
7918
7919 2010-12-19  Bruno Haible  <bruno@clisp.org>
7920
7921         doc: Mention vasprintf-posix module.
7922         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
7923         the 'vasprintf-posix' module.
7924         * doc/glibc-functions/vasprintf.texi: Likewise.
7925
7926 2010-12-19  Bruno Haible  <bruno@clisp.org>
7927
7928         unsetenv: Add missing declaration on OSF/1 5.1.
7929         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
7930         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
7931         Don't set HAVE_UNSETENV. In the test program, set _BSD.
7932         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
7933         not HAVE_UNSETENV.
7934         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
7935         HAVE_UNSETENV.
7936         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
7937
7938 2010-12-19  Bruno Haible  <bruno@clisp.org>
7939
7940         setenv: Add missing declaration on OSF/1 5.1.
7941         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
7942         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
7943         declared. Don't set HAVE_SETENV.
7944         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
7945         not HAVE_SETENV.
7946         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
7947         HAVE_SETENV.
7948         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
7949
7950 2010-12-19  Bruno Haible  <bruno@clisp.org>
7951
7952         nl_langinfo tests: Avoid gcc warning.
7953         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
7954
7955 2010-12-19  Bruno Haible  <bruno@clisp.org>
7956
7957         mknod: Avoid error in C++ mode on OSF/1 with GCC.
7958         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
7959         _GL_CXXALIAS_SYS.
7960
7961 2010-12-19  Bruno Haible  <bruno@clisp.org>
7962
7963         stdbool: Relax test.
7964         * tests/test-stdbool.c (e): Don't require that casts from a variable's
7965         address to 'bool' work in static initializer, for compilers other than
7966         GCC.
7967
7968 2010-12-19  Bruno Haible  <bruno@clisp.org>
7969
7970         ftello: Add missing declaration on OSF/1 5.1.
7971         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
7972         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
7973         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
7974         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
7975         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
7976
7977 2010-12-19  Bruno Haible  <bruno@clisp.org>
7978
7979         fseeko: Add missing declaration on OSF/1 5.1.
7980         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
7981         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
7982         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
7983         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
7984         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
7985
7986 2010-12-19  Bruno Haible  <bruno@clisp.org>
7987
7988         fchdir: Add missing declaration on OSF/1 5.1.
7989         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
7990         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
7991         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
7992         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
7993         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
7994
7995 2010-12-19  Bruno Haible  <bruno@clisp.org>
7996
7997         relocatable-prog-wrapper: Separate from relocatable-prog.
7998         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
7999         uninstall-relocwrapper rule here.
8000         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
8001         Reported by Ian Beckwith <ianb@erislabs.net>.
8002
8003 2010-12-19  Bruno Haible  <bruno@clisp.org>
8004
8005         unistr/u8-mbsnlen: Add missing dependency.
8006         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
8007         Reported by Ian Beckwith <ianb@erislabs.net>.
8008
8009 2010-12-19  Bruno Haible  <bruno@clisp.org>
8010
8011         iconv: Make it possible again to use this module without 'iconv-h'.
8012         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
8013         if it is not defined.
8014         Reported by Ian Beckwith <ianb@erislabs.net>.
8015
8016 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
8017
8018         acl: port to Solaris 8 when copying from tmpfs to ufs
8019         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
8020         error number.  Problem observed on Solaris 8 with latest
8021         coreutils, with "mv A B", where A is on a tmpfs file system and B
8022         is on a ufs file system.  This caused coreutils' mv/part-symlink
8023         test to fail.
8024
8025         tests: set fail=0 at start
8026         * tests/init.sh (setup_): Move fail=0 initialization here ...
8027         (mktempd_): ... from here, so that tests can rely on fail being
8028         set to 0 initially.  This fixes a problem in coreutils; see:
8029         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
8030
8031 2010-12-18  Bruno Haible  <bruno@clisp.org>
8032
8033         memmem-simple: Stylistic changes.
8034         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
8035         Fix preprocessor directive indentation.
8036
8037 2010-12-15  Pádraig Brady <P@draigBrady.com>
8038
8039         memmem, memmem-simple: reorganize and expand empty needle check
8040         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
8041         functional checks to memmem-simple so that one has a fully functional
8042         memmem by using just this module.
8043         Restrict the performance only check to the memmem module.
8044         Also expand the empty needle check to ensure the correct
8045         pointer is returned, not just a non NULL pointer.
8046         * doc/glibc-functions/memmem.texi: Rearrange the portability
8047         documentation to correlate with the rearranged checks.
8048         Clarify exactly how the memmem and memmem-simple modules
8049         relate to each other.
8050
8051 2010-12-15  Pádraig Brady <P@draigBrady.com>
8052             Bruno Haible  <bruno@clisp.org>
8053
8054         Improve cross-compilation guesses for uClibc.
8055         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
8056         that uClibc does not have the glibc bug.
8057         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
8058         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
8059
8060 2010-12-14  Eric Blake  <eblake@redhat.com>
8061
8062         configmake: provide fallbacks for oldest supported autotools
8063         * m4/configmake.m4: New file.
8064         * modules/configmake (Files): Ship it.
8065         (configure.ac): Use it to guarantee fallbacks.
8066
8067 2010-12-13  Pádraig Brady <P@draigBrady.com>
8068
8069         read-file: Improve handling of large files
8070         * lib/read-file.c (fread_file): Minimize realloc()s
8071         for regular files, and better manage sizes around SIZE_MAX.
8072
8073 2010-12-13  Eric Blake  <eblake@redhat.com>
8074
8075         cloexec, fcntl: relax license
8076         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
8077         consent from all contributors.
8078         * modules/fcntl (License): Likewise.
8079
8080 2010-12-10  Bruno Haible  <bruno@clisp.org>
8081
8082         Tests for module 'pipe-posix'.
8083         * modules/pipe-posix-tests: New file.
8084         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
8085
8086 2010-12-10  Bruno Haible  <bruno@clisp.org>
8087
8088         pipe-posix: Make it work in C++ mode.
8089         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
8090         (pipe): Use common idiom, not a macro definition.
8091         * lib/pipe.c: New file.
8092         * m4/pipe.m4: New file.
8093         * modules/pipe-posix (Description): Enhance.
8094         (Files): Add lib/pipe.c, m4/pipe.m4.
8095         (configure.ac): Invoke gl_FUNC_PIPE.
8096         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
8097         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
8098         * tests/test-unistd-c++.cc: Check the signature of pipe.
8099
8100 2010-12-10  Bruno Haible  <bruno@clisp.org>
8101
8102         Rename module 'pipe' to 'spawn-pipe'.
8103         * modules/spawn-pipe: New file, renamed from modules/pipe.
8104         (Files, configure.ac, Makefile.am): Update.
8105         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
8106         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
8107         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
8108         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
8109         "spawn-pipe.h" instead of "pipe.h".
8110         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
8111         to gl_SPAWN_PIPE.
8112         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
8113         (Files, Makefile.am): Update.
8114         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
8115         Update.
8116         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
8117         Include "spawn-pipe.h" instead of "pipe.h".
8118         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
8119         * lib/javacomp.c: Likewise.
8120         * lib/javaversion.c: Likewise.
8121         * lib/pipe-filter-gi.c: Likewise.
8122         * lib/pipe-filter-ii.c: Likewise.
8123         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
8124         * modules/javacomp (Depends-on): Likewise.
8125         * modules/javaversion (Depends-on): Likewise.
8126         * modules/pipe-filter-gi (Depends-on): Likewise.
8127         * modules/pipe-filter-ii (Depends-on): Likewise.
8128         * MODULES.html.sh (Executing programs): Update.
8129         * NEWS: Mention the change.
8130
8131 2010-12-10  Eric Blake  <eblake@redhat.com>
8132
8133         pipe-posix: new module
8134         * modules/pipe-posix: New file.
8135         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
8136         (gl_UNISTD_H): Check for declaration.
8137         * modules/unistd (Makefile.am): Substitute it.
8138         * lib/unistd.in.h (pipe): Provide it for mingw.
8139         * doc/posix-functions/pipe.texi (pipe): Update documentation.
8140         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
8141
8142 2010-12-07  Bruno Haible  <bruno@clisp.org>
8143
8144         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
8145         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
8146         u8_strcmp_gnu.
8147         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
8148
8149 2010-12-06  Bruno Haible  <bruno@clisp.org>
8150
8151         Update internal documentation.
8152         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
8153
8154 2010-12-04  Bruno Haible  <bruno@clisp.org>
8155
8156         Put more information about failed tests into the test return codes.
8157         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
8158         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
8159         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
8160         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
8161         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
8162         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
8163         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
8164         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
8165         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
8166         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
8167         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
8168         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
8169         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
8170         * m4/stdint.m4 (gl_STDINT_H): Likewise.
8171         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
8172         returns a bit mask.
8173         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
8174         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
8175         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
8176         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
8177         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
8178         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
8179         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
8180         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
8181         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
8182         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
8183         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
8184         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
8185         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
8186         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
8187         * m4/link.m4 (gl_FUNC_LINK): Likewise.
8188         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
8189         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
8190         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
8191         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
8192         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
8193         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
8194         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
8195         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
8196         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
8197         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
8198         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
8199         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
8200         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
8201         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
8202         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
8203         gl_PRINTF_PRECISION): Likewise.
8204         * m4/regex.m4 (gl_REGEX): Likewise.
8205         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
8206         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
8207         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
8208         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
8209         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
8210         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
8211         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
8212         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
8213         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
8214         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
8215         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
8216         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
8217         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
8218         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
8219         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
8220         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
8221         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
8222         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
8223         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
8224         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
8225         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
8226         enumerated value.
8227         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
8228
8229 2010-12-04  Bruno Haible  <bruno@clisp.org>
8230
8231         Update for Solaris 11 2010-11.
8232         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
8233         Express, released in November 2010.
8234
8235 2010-12-04  Bruno Haible  <bruno@clisp.org>
8236
8237         nproc: Relax license.
8238         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
8239         and Paul Eggert.
8240         Requested by Ludovic Courtès <ludo@gnu.org>.
8241
8242 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
8243
8244         utimecmp: fine-grained src to nearby coarse-grained dest
8245
8246         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
8247         and the source is on a file system with higher-resolution time
8248         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
8249         not work, and the time stamps are close together, the algorithm to
8250         determine the exact resolution from the read-back mtime was buggy:
8251         it had a "!=" where it should have had an "==".  This bug has been
8252         in the code ever since it was introduced to gnulib.
8253         Problem reported by Dan Jacobson in
8254         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
8255
8256 2010-11-30  Bruno Haible  <bruno@clisp.org>
8257
8258         strerror_r-posix: Fix autoconf test.
8259         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
8260
8261 2010-11-28  Bruno Haible  <bruno@clisp.org>
8262             Paul Eggert  <eggert@cs.ucla.edu>
8263
8264         Tests for module 'getdomainname'.
8265         * modules/getdomainname-tests: New file.
8266         * tests/test-getdomainname.c: New file, based on
8267         tests/test-gethostname.c.
8268
8269 2010-11-28  Bruno Haible  <bruno@clisp.org>
8270             Paul Eggert  <eggert@cs.ucla.edu>
8271
8272         getdomainname: Use the system function when possible.
8273         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
8274         (getdomainname): Replace if needed. Provide the declaration if it is
8275         missing. Don't use _GL_CXXALIAS_SYS_CAST.
8276         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
8277         (getdomainname): When the system has getdomainname, call the system
8278         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
8279         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
8280         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
8281         found in libnsl. Look for the declaration also in <netdb.h>. Replace
8282         the function if its second argument is of type 'int' or if it is found
8283         in libnsl.
8284         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
8285         <sys/systeminfo.h> and sysinfo().
8286         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
8287         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
8288         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
8289         HAVE_GETDOMAINNAME.
8290         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
8291         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
8292         * doc/glibc-functions/getdomainname.texi: Document the problems with
8293         the getdomainname declaration.
8294
8295 2010-11-28  Bruno Haible  <bruno@clisp.org>
8296
8297         sys_socket: Ensure ss_family field on AIX.
8298         * lib/sys_socket.in.h (ss_family): New macro definition.
8299         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
8300         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
8301         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
8302         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
8303         * modules/sys_socket (Makefile.am): Substitute
8304         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
8305         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
8306
8307 2010-11-27  Bruno Haible  <bruno@clisp.org>
8308
8309         readline: Improve configure output.
8310         * m4/readline.m4 (gl_FUNC_READLINE): Make the
8311         "checking for readline..." result understandable.
8312
8313 2010-11-27  Bruno Haible  <bruno@clisp.org>
8314
8315         *printf-posix: Detect a bug on Solaris 10/x86.
8316         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
8317         for floating-point output.
8318         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
8319         directive.
8320         * tests/test-snprintf-posix.h (test_function): Likewise.
8321         * tests/test-sprintf-posix.h (test_function): Likewise.
8322         * tests/test-vasprintf-posix.c (test_function): Likewise.
8323         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
8324         * doc/posix-functions/printf.texi: Likewise.
8325         * doc/posix-functions/snprintf.texi: Likewise.
8326         * doc/posix-functions/sprintf.texi: Likewise.
8327         * doc/posix-functions/vfprintf.texi: Likewise.
8328         * doc/posix-functions/vprintf.texi: Likewise.
8329         * doc/posix-functions/vsnprintf.texi: Likewise.
8330         * doc/posix-functions/vsprintf.texi: Likewise.
8331         * doc/glibc-functions/obstack_printf.texi: Likewise.
8332         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
8333
8334 2010-11-27  Bruno Haible  <bruno@clisp.org>
8335
8336         Fix link error when module libunistring-optional is in use.
8337         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
8338         * modules/striconveha-tests (Makefile.am): Likewise.
8339
8340 2010-11-27  Bruno Haible  <bruno@clisp.org>
8341
8342         regex: Mention link dependencies.
8343         * modules/regex (Link): New section.
8344         * modules/rpmatch (Link): Likewise.
8345         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
8346
8347 2010-11-27  Bruno Haible  <bruno@clisp.org>
8348
8349         ftoastr: Fix compilation error on Solaris.
8350         * lib/ftoastr.c: Include <config.h>.
8351
8352 2010-11-27  Bruno Haible  <bruno@clisp.org>
8353
8354         getloadavg: Update documentation.
8355         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
8356
8357 2010-11-27  Bruno Haible  <bruno@clisp.org>
8358
8359         sys_socket: Fix test whether the functions are declared.
8360         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
8361         not <sys/select.h>.
8362
8363 2010-11-27  Bruno Haible  <bruno@clisp.org>
8364
8365         getpass: Make sure to get system declaration on some platforms.
8366         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
8367         gl_USE_SYSTEM_EXTENSIONS.
8368         * modules/getpass (Depends-on): Add extensions.
8369
8370 2010-11-26  Bruno Haible  <bruno@clisp.org>
8371
8372         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
8373         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
8374         'iconv' module is present.
8375         (ICONV_CONST): New macro.
8376         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
8377         ICONV_CONST.
8378         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
8379         set ICONV_CONST.
8380         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
8381         here.
8382         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
8383         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
8384         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
8385         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
8386         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
8387         present.
8388
8389 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
8390
8391         ftoastr: comment fix
8392         * lib/ftoastr.c: "little" -> "little or no" in comment
8393
8394 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
8395
8396         stdint: port to GCC 4.3 + OSX + Octave
8397         On this platform, stdint.h is buggy and defines int64_t to long
8398         long int.  The replacement defined it to long int, causing
8399         problems with C++ style name mangling.  Instead, trust the system
8400         definition if INT64_MAX is defined, and likewise for the unsigned
8401         variant.   Problem reported by Jarno Rajahalme in
8402         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
8403         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
8404         and don't mess with int64_t and INT64_MAX in this case.
8405         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
8406
8407 2010-11-24  Bruno Haible  <bruno@clisp.org>
8408
8409         doc: Corrections regarding MacOS X 10.4 and 10.5.
8410         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
8411         MacOS X.
8412         Reported by Simon Josefsson.
8413
8414 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
8415
8416         Uninstall ".bin" files installed by relocwrapper.
8417         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
8418         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
8419         unless it is already there.
8420
8421 2010-11-21  Bruno Haible  <bruno@clisp.org>
8422
8423         Update for NetBSD 5.0.
8424         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
8425         NetBSD; the test fails on NetBSD 5.0.
8426         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
8427         about NetBSD.
8428
8429 2010-11-21  Bruno Haible  <bruno@clisp.org>
8430
8431         Update for HP-UX 11.23 and HP-UX 11.31.
8432         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
8433         HP-UX.
8434
8435 2010-11-21  Bruno Haible  <bruno@clisp.org>
8436
8437         Update for MacOS X 10.5.
8438         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
8439         MacOS X; the test fails on MacOS X 10.5.8.
8440         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
8441         about MacOS X.
8442
8443 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
8444
8445         bootstrap: add bootstrap_sync option.
8446         See discussion at
8447         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
8448         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
8449         * build-aux/bootstrap: Accept --bootstrap-sync to update
8450         bootstrap if it is not identical to the local gnulib's
8451         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
8452         enable this by default.  Accept --no-bootstrap-sync to disable
8453         it.
8454
8455 2010-11-20  Bruno Haible  <bruno@clisp.org>
8456
8457         Ensure that <features.h> is included before __GLIBC__ is tested.
8458         * lib/printf-parse.h: Include <features.h>.
8459         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
8460         Reported by Mike Frysinger <vapier@gentoo.org>.
8461
8462         Ensure that <features.h> is included before __GLIBC__ is tested.
8463         * lib/wchar.in.h: Include <features.h>.
8464         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
8465         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
8466         Reported by Mike Frysinger <vapier@gentoo.org>.
8467
8468         Ensure that <features.h> is included before __GLIBC__ is tested.
8469         * lib/arpa_inet.in.h: Include <features.h>.
8470         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
8471         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
8472         Reported by Mike Frysinger <vapier@gentoo.org>.
8473
8474         Ensure that <features.h> is included before __GLIBC__ is tested.
8475         * build-aux/link-warning.h: Include <features.h>.
8476         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
8477         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
8478         Reported by Mike Frysinger <vapier@gentoo.org>.
8479
8480         Ensure that <features.h> is included before __GLIBC__ is tested.
8481         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
8482         Reported by Mike Frysinger <vapier@gentoo.org>.
8483
8484 2010-11-20  Bruno Haible  <bruno@clisp.org>
8485
8486         memmem: Fix autoconf test.
8487         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
8488
8489 2010-11-20  Bruno Haible  <bruno@clisp.org>
8490
8491         Port to uClibc.
8492         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
8493         * lib/fcntl.in.h: Likewise.
8494         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
8495         * lib/mbrtowc.c (mbrtowc): Likewise.
8496         * lib/relocatable.c (find_shared_library_fullname): Likewise.
8497         * lib/strerror_r.c: Likewise.
8498         * lib/unistr/u8-strnlen.c: Likewise.
8499         * lib/vasnprintf.c (decimal_point_char): Likewise.
8500         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
8501         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
8502         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
8503         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
8504         * tests/test-sigaction.c (handler, main): Likewise.
8505         * lib/freading.h: Treat uClibc like a non-glibc platform.
8506         * lib/freading.c: Likewise.
8507         * lib/gettext.h: Likewise.
8508         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
8509         Likewise.
8510         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
8511         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
8512         * lib/propername.c (proper_name_utf8): Likewise.
8513         * lib/spawn.in.h: Likewise.
8514         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
8515         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
8516         mem_cd_iconveh_internal): Likewise.
8517         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
8518         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
8519         strstr, strcasestr): Likewise.
8520         * lib/unicodeio.c (unicode_to_mb): Likewise.
8521         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
8522         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
8523         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
8524         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
8525         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
8526         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
8527         * lib/unistr/u8-stpncpy.c: Likewise.
8528         * lib/vasnprintf.c (VASNPRINTF): Likewise.
8529         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
8530         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
8531         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
8532         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
8533         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
8534         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
8535         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
8536         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
8537         Likewise.
8538         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
8539         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
8540         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
8541         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
8542         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
8543         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
8544         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8545         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
8546         * tests/test-getopt.h (OPTIND_MIN): Likewise.
8547         * tests/test-striconveha.c (main): Likewise.
8548         * tests/test-vasnprintf-posix.c (test_function): Likewise.
8549         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
8550         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
8551         * doc/posix-functions/getline.texi: Likewise.
8552         Reported by Mike Frysinger <vapier@gentoo.org>.
8553
8554 2010-11-20  Bruno Haible  <bruno@clisp.org>
8555
8556         nproc: Fix condition.
8557         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
8558         HAVE_PTHREAD_AFFINITY_NP.
8559
8560 2010-11-20  Bruno Haible  <bruno@clisp.org>
8561
8562         Fix a comment.
8563         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
8564
8565 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
8566
8567         ftoastr: don't assume snprintf
8568         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
8569         Implement a subset of snprintf here, by using sprintf safely.
8570         * modules/ftoastr (Depends-on): Remove snprintf.
8571
8572 2010-11-19  Jim Meyering  <meyering@redhat.com>
8573
8574         test-rename.h: fix compilation failure
8575         * tests/test-rename.h (test_rename): Add omitted "}".
8576
8577 2010-11-17  Jim Meyering  <meyering@redhat.com>
8578
8579         maint.mk: add a URL discussing the no-@acronym policy
8580         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
8581
8582 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
8583
8584         ftoastr: depend on snprintf, improve comments
8585         * lib/ftoastr.c: Also mention Loitsch's draft.
8586         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
8587         needed in the current implementation, but it might simplify
8588         speeding up the code later.
8589         * modules/ftoastr: Depend on snprintf; this improves portability.
8590         Suggested by Bruno Haible in the same email.
8591
8592         ftoastr: port to hosts lacking strtof and strtold
8593         Problem reported by Bruno Haible in
8594         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
8595         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
8596         environment and strtold (and presumably strtof) are not available.
8597         * modules/ftoastr (Files): Add m4/c-strtod.m4.
8598         (configure.ac): Require gl_C99_STRTOLD.
8599
8600 2010-11-18  Bruno Haible  <bruno@clisp.org>
8601
8602         c-strtold: Avoid link error on AIX 7.
8603         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
8604         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
8605         (gl_C_STRTOLD): Test whether strtold_l exists.
8606         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
8607
8608 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
8609
8610         intprops: new macro INT_BITS_STRLEN_BOUND
8611         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
8612         ftoastr.h.  This exposes an internal of intprops.h that was formerly
8613         not exposed.  Also, it uses a slightly tighter bound than before;
8614         though this makes no practical difference, we might as well be as
8615         tight as we easily can.
8616
8617         ftoastr: new module, for lossless conversion of floats to short strings
8618         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
8619         * modules/ftoastr: New files.
8620
8621 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
8622
8623         bootstrap: port to Solaris sed
8624         * build-aux/bootstrap (get_version): Port to Solaris sed.
8625         See Ralf Wildenhues's note in
8626         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
8627
8628 2010-11-14  Jim Meyering  <meyering@redhat.com>
8629
8630         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
8631         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
8632         and move definition closer to sole use.
8633
8634 2010-11-13  Jim Meyering  <meyering@redhat.com>
8635
8636         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
8637         Now we require at least autoconf-2.59, which means the work-around
8638         is no longer needed.
8639         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
8640         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
8641         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
8642         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
8643         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
8644
8645 2010-11-13  Bruno Haible  <bruno@clisp.org>
8646
8647         rename, renameat: Avoid test failures at NFS mounted locations.
8648         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
8649         functions.
8650         (test_rename): Use assert_nonexistent.
8651         * tests/test-rename.c: Include <dirent.h>.
8652         * tests/test-renameat.c: Likewise.
8653         Reported by Gary V. Vaughan <gary@gnu.org>.
8654
8655         rename, renameat: Document Linux bug with NFS
8656         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
8657         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
8658         * doc/posix-functions/renameat.texi: Likewise.
8659         Suggested by Eric Blake.
8660
8661 2010-11-13  Bruno Haible  <bruno@clisp.org>
8662
8663         rename test: Add comments.
8664         * tests/test-rename.h (test_rename): Add structure and comments.
8665
8666 2010-11-13  Eric Blake  <eblake@redhat.com>
8667
8668         maintainer-makefile: cover a few more files
8669         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
8670         scripts generated within C files, for libvirt.
8671
8672 2010-11-13  Bruno Haible  <bruno@clisp.org>
8673
8674         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
8675         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
8676         character, return the number of bytes that belong together, not always
8677         1.
8678         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
8679         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
8680         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
8681         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
8682         number of bytes of an invalid character.
8683         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
8684         (main): Invoke it.
8685         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
8686         results.
8687         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
8688         malformed byte sequences.
8689         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
8690         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
8691         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
8692         Reported by Ben Pfaff and Paolo Bonzini.
8693
8694 2010-11-13  Bruno Haible  <bruno@clisp.org>
8695
8696         openat: Work around glibc bug with fchownat() and empty file names.
8697         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
8698         (gl_FUNC_FCHOWNAT): Invoke it.
8699         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
8700         * doc/posix-functions/fchownat.texi: Document the glibc bug.
8701         Reported by Gary V. Vaughan <gary@gnu.org>.
8702
8703 2010-11-13  Bruno Haible  <bruno@clisp.org>
8704
8705         openat: Ensure autoconf macro ordering.
8706         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
8707         gl_USE_SYSTEM_EXTENSIONS.
8708         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
8709
8710 2010-11-13  Bruno Haible  <bruno@clisp.org>
8711
8712         Update comments.
8713         * lib/unistr/u8-check.c: Update file name in comments.
8714         * lib/unistr/u8-mblen.c: Likewise.
8715         * lib/unistr/u8-prev.c: Likewise.
8716         * lib/unistr/u8-strmblen.c: Likewise.
8717         * lib/unistr/u8-strmbtouc.c: Likewise.
8718
8719 2010-11-13  Jim Meyering  <meyering@redhat.com>
8720
8721         tests: avoid test failure on Solaris 10 due to lack of PATH export
8722         * tests/test-update-copyright.sh: Don't forget to export PATH.
8723
8724         init.sh: ensure that IFS is defined, just in case...
8725         * tests/init.sh (setup_): Ensure that IFS is defined,
8726         so that saving and restoring it works as expected.  This
8727         appears to be useful at least for an old version of dash
8728         from a long time ago (RH 6).  See here for details:
8729         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
8730
8731         maint.mk: tighten "test a == b" check
8732         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
8733         test to files that contain something like #!/bin/sh.
8734         Without this, coreutils would get two false positives in
8735         the comments of C source files.
8736
8737 2010-11-12  Eric Blake  <eblake@redhat.com>
8738
8739         bootstrap: fix typo in previous attempt
8740         * build-aux/bootstrap (buildreq): Correct the grouping.
8741         Reported by Paul Eggert.
8742
8743         maintainer-makefile: prohibit test x == x
8744         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
8745         Based on a report by Matthias Bolte.
8746
8747         bootstrap: allow FreeBSD gzip
8748         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
8749         which has no '.' and goes to stderr.
8750         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
8751         Reported by Matthias Bolte.
8752
8753         maintainer-makefile: check for i18n setup
8754         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
8755         will likely work.
8756
8757 2010-11-12  Bruno Haible  <bruno@clisp.org>
8758
8759         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
8760         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
8761         * lib/nanosleep.c (nanosleep): Likewise.
8762
8763 2010-11-11  Bruno Haible  <bruno@clisp.org>
8764
8765         fcntl-h: Fix for use of C++ on glibc systems.
8766         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
8767         also on glibc systems in C++ mode.
8768         Reported by Gary V. Vaughan <gary@gnu.org>.
8769
8770 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
8771
8772         mknod: avoid false failure with dash
8773         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
8774
8775 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
8776
8777         unlink: Fix "is it should" typo in diagnostic.
8778         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
8779         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
8780
8781 2010-11-11  Bruno Haible  <bruno@clisp.org>
8782
8783         Tests for module 'strerror_r-posix'.
8784         * modules/strerror_r-posix-tests: New file.
8785         * tests/test-strerror_r.c: New file.
8786         * tests/test-string-c++.cc: Check the signature of strerror_r.
8787
8788         New module 'strerror_r-posix'.
8789         * lib/string.in.h (strerror_r): New declaration.
8790         * lib/strerror_r.c: New file.
8791         * m4/strerror_r.m4: New file.
8792         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
8793         of strerror_r.
8794         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
8795         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
8796         * modules/strerror_r-posix: New file.
8797         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
8798         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
8799         * doc/posix-functions/strerror_r.texi: Mention the new module and the
8800         portability problems.
8801
8802 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
8803
8804         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
8805         line is also considered for output. Quoted function name in shell
8806         command, so temporary files for functions like MyClass::operator()
8807         are removed correctly without errors.
8808
8809 2010-11-09  Bruno Haible  <bruno@clisp.org>
8810
8811         * doc/posix-functions/strerror.texi: List more failing platforms.
8812
8813         * doc/posix-functions/strerror.texi: Add a comment.
8814
8815 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
8816
8817         fdopendir: fix bug on MacOS X when low on file descriptors
8818
8819         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
8820         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
8821         All callers changed.
8822         (fdopendir): Invoke save_cwd at the top level, not after using
8823         multiple dup() calls to use up file descriptors.  Then retry
8824         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
8825         less than the maximum number of open file descriptors, because
8826         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
8827         on Mac OS X 10.6.4 for tar 1.24
8828         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
8829         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
8830         and for tar 1.25
8831         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
8832
8833 2010-11-07  Bruno Haible  <bruno@clisp.org>
8834
8835         vasnprintf: Support I flag on glibc systems.
8836         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
8837         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
8838         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
8839         snprintf function.
8840         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
8841         glibc systems.
8842         * tests/test-vasnprintf-posix3.c: New file.
8843         * modules/vasnprintf-posix-tests (Files): Add it.
8844         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
8845
8846 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
8847
8848         [html] Fix copy/paste bug: Use unique name for compiler warnings.
8849         * MODULES.html.sh: For compiler warnings, use name
8850         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
8851
8852 2010-11-05  Eric Blake  <eblake@redhat.com>
8853
8854         ceil, floor: avoid spurious failure with icc
8855         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
8856         [denormals-as-zero] when optimizing without -mieee-fp option.
8857         * tests/test-floorf2.c (floorf_reference): Likewise.
8858         * tests/test-ceilf1.c (dummy): New function.
8859         (main): Use it to outsmart icc's optimization.
8860         * tests/test-floorf1.c (dummy, main): Likewise.
8861
8862         tests: require working signbit
8863         * modules/ceilf-tests (Depends-on): Add signbit.
8864         * modules/ceill-tests (Depends-on): Likewise.
8865         * modules/floorf-tests (Depends-on): Likewise.
8866         * modules/floorl-tests (Depends-on): Likewise.
8867         * modules/round-tests (Depends-on): Likewise.
8868         * modules/roundf-tests (Depends-on): Likewise.
8869         * modules/roundl-tests (Depends-on): Likewise.
8870         * modules/trunc-tests (Depends-on): Likewise.
8871         * modules/truncf-tests (Depends-on): Likewise.
8872         * modules/truncl-tests (Depends-on): Likewise.
8873
8874         strtod: work around icc bug
8875         * lib/strtod.c (minus_zero): Define to working value.
8876         (strtod): Use it to avoid icc bug.
8877
8878         copysign: enhance tests
8879         * modules/copysign-tests (Files): Add minus-zero.h.
8880         * tests/test-copysign.c (main): Also test zeros.
8881
8882 2010-11-04  Eric Blake  <eblake@redhat.com>
8883
8884         ceil, floor, round, trunc: enhance tests of -0
8885         * tests/test-ceilf1.c (main): Ensure correct sign of result.
8886         * tests/test-ceill.c (main): Likewise.
8887         * tests/test-floorf1.c (main): Likewise.
8888         * tests/test-floorl.c (main): Likewise.
8889         * tests/test-round1.c (main): Likewise.
8890         * tests/test-roundf1.c (main): Likewise.
8891         * tests/test-roundl.c (main): Likewise.
8892         * tests/test-trunc1.c (main): Likewise.
8893         * tests/test-truncf1.c (main): Likewise.
8894         * tests/test-truncl.c (main): Likewise.
8895
8896 2010-11-04  Eric Blake  <eblake@redhat.com>
8897
8898         frexp, tests: work around ICC bug with -zero
8899         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
8900         works with more compilers.
8901         * tests/minus-zero.h: New file.
8902         * modules/ceilf-tests (Files): Include it.
8903         * modules/ceill-tests (Files): Likewise.
8904         * modules/floorf-tests (Files): Likewise.
8905         * modules/floorl-tests (Files): Likewise.
8906         * modules/frexp-nolibm-tests (Files): Likewise.
8907         * modules/frexp-tests (Files): Likewise.
8908         * modules/frexpl-nolibm-tests (Files): Likewise.
8909         * modules/frexpl-tests (Files): Likewise.
8910         * modules/isnan-tests (Files): Likewise.
8911         * modules/isnand-nolibm-tests (Files): Likewise.
8912         * modules/isnand-tests (Files): Likewise.
8913         * modules/isnanf-nolibm-tests (Files): Likewise.
8914         * modules/isnanf-tests (Files): Likewise.
8915         * modules/isnanl-nolibm-tests (Files): Likewise.
8916         * modules/isnanl-tests (Files): Likewise.
8917         * modules/round-tests (Files): Likewise.
8918         * modules/roundf-tests (Files): Likewise.
8919         * modules/roundl-tests (Files): Likewise.
8920         * modules/ldexpl-tests (Files): Likewise.
8921         * modules/signbit-tests (Files): Likewise.
8922         * modules/snprintf-posix-tests (Files): Likewise.
8923         * modules/sprintf-posix-tests (Files): Likewise.
8924         * modules/strtod-tests (Files): Likewise.
8925         * modules/trunc-tests (Files): Likewise.
8926         * modules/truncf-tests (Files): Likewise.
8927         * modules/truncl-tests (Files): Likewise.
8928         * modules/vsnprintf-posix-tests (Files): Likewise.
8929         * modules/vsprintf-posix-tests (Files): Likewise.
8930         * modules/vasnprintf-posix-tests (Files): Likewise.
8931         * modules/vasprintf-posix-tests (Files): Likewise.
8932         * tests/test-ceilf1.c (main): Use it.
8933         * tests/test-ceill.c (main): Likewise.
8934         * tests/test-floorf1.c (main): Likewise.
8935         * tests/test-floorl.c (main): Likewise.
8936         * tests/test-frexp.c (main): Likewise.
8937         * tests/test-frexpl.c (main): Likewise.
8938         * tests/test-isnan.c (main): Likewise.
8939         * tests/test-isnand.h (main): Likewise.
8940         * tests/test-isnanf.h (main): Likewise.
8941         * tests/test-isnanl.h (main): Likewise.
8942         * tests/test-ldexpl.c (main): Likewise.
8943         * tests/test-round.c (main): Likewise.
8944         * tests/test-roundf.c (main): Likewise.
8945         * tests/test-roundl.c (main): Likewise.
8946         * tests/test-signbit.c (test_signbitf, test_signbitd)
8947         (test_signbitl): Likewise.
8948         * tests/test-snprintf-posix.h (test_function): Likewise.
8949         * tests/test-sprintf-posix.h (test_function): Likewise.
8950         * tests/test-strtod.c (main): Likewise.
8951         * tests/test-trunc1.c (main): Likewise.
8952         * tests/test-truncf1.c (main): Likewise.
8953         * tests/test-truncl.c (main): Likewise.
8954
8955         isnanl: work around icc bug
8956         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
8957
8958 2010-11-03  Eric Blake  <eblake@redhat.com>
8959
8960         tests: fix compiler warnings
8961         * tests/test-getopt.h (test_getopt): Fix condition.
8962         * tests/test-getopt_long.h (test_getopt_long): Likewise.
8963         * tests/test-pipe2.c (main): Likewise.
8964         * tests/test-quotearg-simple.c (main): Avoid icc warning.
8965
8966         utimens: fix broken m4 test
8967         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
8968
8969 2010-10-28  Bruno Haible  <bruno@clisp.org>
8970
8971         posix_spawn*, getdtablesize: Relax license.
8972         * modules/posix_spawn (License): Change to LGPLv2+.
8973         * modules/posix_spawnp (License): Likewise.
8974         * modules/posix_spawn-internal (License): Likewise.
8975         * modules/posix_spawnattr_init (License): Likewise.
8976         * modules/posix_spawnattr_getflags (License): Likewise.
8977         * modules/posix_spawnattr_setflags (License): Likewise.
8978         * modules/posix_spawnattr_getpgroup (License): Likewise.
8979         * modules/posix_spawnattr_setpgroup (License): Likewise.
8980         * modules/posix_spawnattr_getschedparam (License): Likewise.
8981         * modules/posix_spawnattr_setschedparam (License): Likewise.
8982         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
8983         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
8984         * modules/posix_spawnattr_getsigdefault (License): Likewise.
8985         * modules/posix_spawnattr_setsigdefault (License): Likewise.
8986         * modules/posix_spawnattr_getsigmask (License): Likewise.
8987         * modules/posix_spawnattr_setsigmask (License): Likewise.
8988         * modules/posix_spawnattr_destroy (License): Likewise.
8989         * modules/posix_spawn_file_actions_init (License): Likewise.
8990         * modules/posix_spawn_file_actions_addclose (License): Likewise.
8991         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
8992         * modules/posix_spawn_file_actions_addopen (License): Likewise.
8993         * modules/posix_spawn_file_actions_destroy (License): Likewise.
8994         * modules/getdtablesize (License): Likewise.
8995         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
8996
8997 2010-10-26  Bruno Haible  <bruno@clisp.org>
8998
8999         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
9000         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
9001         Cygwin and mingw.
9002         Suggested by Eric Blake.
9003
9004 2010-10-26  Bruno Haible  <bruno@clisp.org>
9005
9006         stdio: Work around compilation error due to renameat() on Solaris 10.
9007         * lib/stdio.in.h: Include <unistd.h> on Solaris.
9008         * lib/renameat.c: Don't include <unistd.h> here.
9009         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
9010         Reported by Paul Eggert and Eric Blake.
9011
9012 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
9013
9014         renameat: port to Solaris 10, which declares renameat in unistd.h
9015
9016         * lib/renameat.c: Include unistd.h before stdio.h, because
9017         Solaris 10 declares renameat in unistd.h.  Problem encountered
9018         when building GNU tar 1.24 on Solaris 10.
9019
9020 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
9021
9022         fdopendir: fix C89 compilation
9023         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
9024         compilers.
9025
9026 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
9027
9028         inttostr: simplify by removing unnecessary redundancy
9029         * lib/anytostr.c: Don't include verify.h.
9030         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
9031         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
9032         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
9033         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
9034         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
9035         Likewise.
9036         * modules/inttostr (Depends-on): Remove 'verify'.
9037
9038 2010-10-23  Bruno Haible  <bruno@clisp.org>
9039
9040         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
9041         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
9042         Reported by Eric Blake.
9043
9044 2010-10-23  Bruno Haible  <bruno@clisp.org>
9045
9046         Tests: Fix LOCALE_JA on MirBSD 10.
9047         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
9048         to an UTF-8 locale.
9049         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
9050         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
9051         Reported by Eric Blake.
9052
9053 2010-10-21  Bruno Haible  <bruno@clisp.org>
9054
9055         nl_langinfo test: Avoid test failure on NetBSD 5.
9056         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
9057         Reported by Eric Blake.
9058
9059 2010-10-21  Eric Blake  <eblake@redhat.com>
9060
9061         c-stack: work around libsigsegv 2.8 bug
9062         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
9063         overflow on at least PowerPC64.
9064
9065 2010-10-17  Bruno Haible  <bruno@clisp.org>
9066
9067         userspec: Drop redundant file.
9068         * modules/userspec (Files): Remove lib/inttostr.h.
9069
9070 2010-10-17  Bruno Haible  <bruno@clisp.org>
9071
9072         nl_langinfo tests: Silence some warnings.
9073         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
9074         Reported by Jim Meyering.
9075
9076 2010-10-17  Bruno Haible  <bruno@clisp.org>
9077
9078         Make use of GCC's attribute __alloc_size__.
9079         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
9080         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
9081         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
9082         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
9083         __alloc_size__.
9084         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
9085         Suggested by Jim Meyering.
9086
9087 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
9088
9089         bootstrap: anchor .gitignore entries.
9090         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
9091         with...
9092         (insert_vc_ignore): ... this new function, which prepends `/' to
9093         all .gitignore entries before passing them to
9094         insert_sorted_if_absent.
9095
9096 2010-10-16  Bruno Haible  <bruno@clisp.org>
9097
9098         nextafter: Fix configure check.
9099         * modules/nextafter (configure.ac): Correct expected prototype.
9100
9101 2010-10-16  Bruno Haible  <bruno@clisp.org>
9102
9103         termios: Update documentation.
9104         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
9105
9106 2010-10-16  Bruno Haible  <bruno@clisp.org>
9107
9108         tests: Make them compile with TinyCC.
9109         * tests/test-strstr.c (main): Remove parentheses around array
9110         initializer.
9111
9112 2010-10-15  Eric Blake  <eblake@redhat.com>
9113
9114         ignore-value: make header idempotent
9115         * lib/ignore-value.h: Add double-inclusion guards.
9116         Reported by Stefan Berger.
9117
9118 2010-10-15  Jim Meyering  <meyering@redhat.com>
9119
9120         GNUmakefile: handle "stable" target, not "major"
9121         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
9122         lists in maint.mk and announce-gen.  Without this, "make stable"
9123         would fail to ensure that $(VERSION) is up to date.
9124
9125 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
9126
9127         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
9128         & co.
9129
9130 2010-10-14  Bruno Haible  <bruno@clisp.org>
9131
9132         vasnprintf: Don't set errno to 0.
9133         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
9134         block that sets it to 0.
9135         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
9136
9137 2010-10-14  Bruno Haible  <bruno@clisp.org>
9138
9139         socketlib: Fix.
9140         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
9141         gl_PREREQ_SYS_H_WINSOCK2.
9142         Reported by Ian Beckwith <ianb@erislabs.net>.
9143
9144 2010-10-13  Jim Meyering  <meyering@redhat.com>
9145
9146         test-select-stdin.c: avoid warn_unused_result warnings
9147         * tests/test-select-stdin.c: Include "macros.h".
9148         ASSERT that read and fflush succeed.
9149
9150 2010-10-13  Jim Meyering  <meyering@redhat.com>
9151
9152         git-version-gen: do require git-VC'd files in cwd
9153         * build-aux/git-version-gen: Reject a git version string
9154         if there are no commits associated with the current directory.
9155         This avoids an unlikely false-positive (unrelated dir whose parent
9156         repository also contains a tag matching v*), as pointed out
9157         by Giuseppe Scrivano in
9158         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
9159
9160 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
9161
9162         argv-iter: omit nonconforming declaration
9163         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
9164         enum arg_iter_err declaration, which doesn't conform to C99.
9165         Solaris 10 cc warns about this.
9166
9167 2010-10-13  Eric Blake  <eblake@redhat.com>
9168
9169         termios: fix compilation on mingw
9170         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
9171         (gl_TERMIOS_H): Adjust it on mingw.
9172         * modules/termios (Makefile.am): Substitute new key.
9173         * lib/termios.in.h (includes): Make include_next conditional.
9174         * doc/posix-headers/termios.texi (termios.h): Update
9175         documentation.
9176         Reported by Daniel P. Berrange.
9177
9178 2010-10-13  Jim Meyering  <meyering@redhat.com>
9179
9180         git-version-gen: don't require that .git/ be in the current dir
9181         * build-aux/git-version-gen: Adjust this script so that it works
9182         when run from any working directory beneath the top-level .git/-
9183         containing directory.  Inspired by a patch from Giuseppe Scrivano,
9184         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
9185
9186         test-select: avoid warn_unused_result warnings
9187         * tests/test-select.c: Include "macros.h".
9188         ASSERT that each call to read, write, and pipe succeeds.
9189         While not technically required, also check each "close".
9190         * modules/select-tests (Files): Add tests/macros.h.
9191
9192         test-symlinkat: remove declaration of unused local
9193         * tests/test-symlinkat.c (main): Remove unused local, "buf".
9194
9195         test-inttostr: avoid shadowing warnings
9196         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
9197         and use malloc rather than the stack for the same reason as
9198         mentioned in the comment justifying the other allocation.
9199
9200 2010-10-11  Bruno Haible  <bruno@clisp.org>
9201
9202         stdlib: Allow multiple gnulib generated replacements to coexist.
9203         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
9204         Reported by Sam Steingold <sds@gnu.org>.
9205
9206 2010-10-11  Jim Meyering  <meyering@redhat.com>
9207
9208         fix a documentation typo
9209         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
9210
9211 2010-10-11  Eric Blake  <eblake@redhat.com>
9212
9213         futimens: work around Solaris 11 bug
9214         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
9215         * tests/test-futimens.h (test_futimens): Enhance, rather than
9216         weaken test.
9217         * doc/posix-functions/futimens.texi (futimens): Document the bug.
9218
9219 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
9220
9221         Indentation.
9222         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
9223         higher-level operators more to the left.
9224
9225 2010-10-11  Jim Meyering  <meyering@redhat.com>
9226
9227         test-futimens: avoid unwarranted test failure on Solaris 5.11
9228         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
9229         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
9230         because it tries to dereference the NULL name argument.
9231
9232 2010-10-11  Bruno Haible  <bruno@clisp.org>
9233
9234         Indentation.
9235         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
9236         indentation.
9237
9238 2010-10-11  Jim Meyering  <meyering@redhat.com>
9239
9240         spawn.in.h: make indentation consistent with parentheses
9241         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
9242         Make indentation consistent with parentheses.
9243
9244 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
9245
9246         Fix mismatched parens in previous commit
9247         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
9248         parens.
9249
9250 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
9251
9252         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
9253
9254         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
9255         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
9256         * lib/malloca.c: Include "verify.h".
9257         (verify1): Remove, replacing with a verify call.
9258         * lib/relocwrapper.c (verify1): Likewise.
9259         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
9260         Likewise.
9261         * modules/malloca (Depends-on): Add 'verify'.
9262         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
9263         * modules/vasnprintf (Depends-on): Add 'verify'.
9264         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
9265         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
9266         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
9267         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
9268         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
9269         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
9270         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
9271
9272         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
9273
9274         Formerly the style was sometimes 2*X - 1, because the C standard
9275         was wrongly thought to disallow ?: in integral constant expressions.
9276         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
9277         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
9278         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
9279         * lib/stdint.in.h (_verify_intmax_size): Likewise.
9280         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
9281         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
9282         verify that time_t cannot be floating.
9283
9284 2010-10-08  Eric Blake  <eblake@redhat.com>
9285
9286         time: enforce recent POSIX ruling that time_t is integral
9287         * lib/time.in.h (__time_t_must_be_integral): Detect any
9288         problematic systems, allowing the rest of gnulib to assume POSIX.
9289
9290 2010-10-08  Jim Meyering  <meyering@redhat.com>
9291
9292         fdopendir: fix a bug on systems lacking openat and /proc support
9293         OpenBSD 4.7 is one such system.  The most noticeable effect was
9294         failure of any application making nontrivial use of fts: rm, du,
9295         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
9296           ./rm: traversal failed: `a': Bad file descriptor
9297         Debugging that, you see that even though FD 6 was closed just
9298         prior to the opendir call in fd_clone_opendir, its resulting
9299         dir->dd_fd was 8, rather than the expected value of 6:
9300
9301         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
9302         93                close (fd);
9303         (gdb) n
9304         94                dir = fd_clone_opendir (dupfd);
9305         (gdb) n
9306         95                saved_errno = errno;
9307         (gdb) p dir->dd_fd
9308         $11 = 8
9309
9310         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
9311         The problem is that on OpenBSD, fd_clone_opendir has to resort
9312         to using the old-style save/restore CWD mechanism, due to its
9313         lack of openat/proc support, and *that* would steal the FD (6)
9314         that opendir was supposed to use.
9315
9316         The fix is to squirrel away the desired FD so that save_cwd uses a
9317         different one, and then free the dest FD right before calling opendir.
9318         That guarantees opendir will use the required file descriptor.
9319
9320         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
9321
9322 2010-10-08  Bruno Haible  <bruno@clisp.org>
9323
9324         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
9325         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
9326
9327 2010-10-08  Bruno Haible  <bruno@clisp.org>
9328
9329         nanosleep: Make replacement POSIX compliant.
9330         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
9331         is out of range.
9332         Reported by Jim Meyering.
9333
9334 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
9335
9336         bootstrap: add hook for altering gnulib.mk, for Bison
9337         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
9338         the Bison bootstrapping process can rewrite file names and variables
9339         in this file before later parts of 'bootstrap' use the file.
9340         Bison wants to include lib/gnulib.mk from the top-level makefile,
9341         so it needs the file names in this file to be relative to the top
9342         level, not relative to lib; plus it needs variable names to be
9343         rewritten.
9344         (slurp): Use the new function.
9345
9346         bootstrap: reformat for readability
9347         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
9348
9349 2010-10-08  Eric Blake  <eblake@redhat.com>
9350
9351         docs: update cygwin progress
9352         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
9353         1.7.7.
9354         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
9355         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
9356         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
9357         * doc/posix-functions/carg.texi (carg): Likewise.
9358         * doc/posix-functions/cargf.texi (cargf): Likewise.
9359         * doc/posix-functions/casin.texi (casin): Likewise.
9360         * doc/posix-functions/casinf.texi (casinf): Likewise.
9361         * doc/posix-functions/casinh.texi (casinh): Likewise.
9362         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
9363         * doc/posix-functions/catan.texi (catan): Likewise.
9364         * doc/posix-functions/catanf.texi (catanf): Likewise.
9365         * doc/posix-functions/catanh.texi (catanh): Likewise.
9366         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
9367         * doc/posix-functions/ccos.texi (ccos): Likewise.
9368         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
9369         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
9370         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
9371         * doc/posix-functions/cexp.texi (cexp): Likewise.
9372         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
9373         * doc/posix-functions/cimag.texi (cimag): Likewise.
9374         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
9375         * doc/posix-functions/clog.texi (clog): Likewise.
9376         * doc/posix-functions/clogf.texi (clogf): Likewise.
9377         * doc/posix-functions/conj.texi (conj): Likewise.
9378         * doc/posix-functions/conjf.texi (conjf): Likewise.
9379         * doc/posix-functions/cpow.texi (cpow): Likewise.
9380         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
9381         * doc/posix-functions/cproj.texi (cproj): Likewise.
9382         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
9383         * doc/posix-functions/creal.texi (creal): Likewise.
9384         * doc/posix-functions/crealf.texi (crealf): Likewise.
9385         * doc/posix-functions/csin.texi (csin): Likewise.
9386         * doc/posix-functions/csinf.texi (csinf): Likewise.
9387         * doc/posix-functions/csinh.texi (csinh): Likewise.
9388         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
9389         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
9390         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
9391         * doc/posix-functions/ctan.texi (ctan): Likewise.
9392         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
9393         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
9394         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
9395         * doc/posix-headers/complex.texi (complex.h): Likewise.
9396
9397 2010-10-07  Jim Meyering  <meyering@redhat.com>
9398
9399         parse-datetime: avoid compilation failure on OpenBSD 4.7
9400         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
9401         This works around a compilation failure on OpenBSD 4.7:
9402         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
9403
9404 2010-10-07  Eric Blake  <eblake@redhat.com>
9405
9406         docs: update cygwin progress
9407         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
9408         1.7.6.
9409         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
9410         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
9411         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
9412         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
9413         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
9414         Likewise.
9415         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
9416         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
9417         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
9418         Likewise.
9419         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
9420         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
9421         Likewise.
9422         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
9423         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
9424         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
9425         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
9426         Likewise.
9427         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
9428         Likewise.
9429         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
9430
9431         docs: update parse-datetime history
9432         * doc/parse-datetime.texi (Authors of parse_datetime): Better
9433         documentation of this function's history and alternatives.
9434
9435         cygwin: use more robust version check
9436         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
9437         exclude an eventual cygwin 1.9.1.
9438         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
9439         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
9440         (gl_FUNC_STRCASESTR): Likewise.
9441         Reported by Bruno Haible.
9442
9443 2010-10-06  Bruno Haible  <bruno@clisp.org>
9444
9445         string, sys_select: Avoid #including large headers unless necessary.
9446         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
9447         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
9448         OSF/1, BeOS, Haiku.
9449         Reported by Jim Meyering.
9450
9451 2010-10-05  Eric Blake  <eblake@redhat.com>
9452
9453         memmem, strstr, strcasestr: fix bug with long periodic needle
9454         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
9455         periodic needle having false positive.
9456         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
9457         and cygwin 1.7.7.
9458         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
9459         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
9460         (gl_FUNC_STRCASESTR): Likewise.
9461         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
9462         * tests/test-memmem.c (main): Expose the bug.
9463         * tests/test-strcasestr.c (main): Likewise.
9464         * tests/test-strstr.c (main): Likewise.
9465         * tests/test-c-strcasestr.c (main): Likewise.
9466         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
9467         * doc/posix-functions/strstr.texi (strstr): Likewise.
9468         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
9469         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
9470
9471 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
9472
9473         parse-datetime: do some more renaming
9474         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
9475         parse_datetime, not get_date.  Mention the renaming.
9476         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
9477         in comments.
9478         * m4/bison.m4: Likewise.
9479
9480 2010-10-05  Eric Blake  <eblake@redhat.com>
9481
9482         parse-datetime: better name than get_date
9483         * NEWS: Reword the deprecation notice.
9484         * modules/get_date: Rename to modules/parse-datetime.
9485         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
9486         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
9487         * lib/get_date.y: Rename to lib/parse-datetime.y.
9488         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
9489         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
9490         * doc/getdate.texi: Provide fallback wrapper.
9491         * lib/getdate.h: Move guts, and wrap...
9492         * lib/parse-datetime.h: ...new file.
9493         * lib/parse-datetime.y (get_date): Rename...
9494         (parse_datetime): ...to this.
9495         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
9496         (gl_PARSE_DATETIME): ...to this.
9497         * doc/posix-functions/getdate.texi (get_date): Provide fallback
9498         documentation.
9499         * modules/getdate (Files): Provide fallback docs and header.
9500         (Notice, Depends-on): Update references.
9501         * tests/test-parse-datetime.c: Likewise.
9502         * DEPENDENCIES: Likewise.
9503         * MODULES.html.sh (Date and time <time.h>): Likewise.
9504         * doc/parse-datetime.texi (Date input formats)
9505         (Authors of parse_datetime): Likewise.
9506         * modules/parse-datetime (Files, configure.ac, Makefile.am)
9507         (Include): Likewise.
9508         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
9509         * gnulib-tool: Likewise.
9510         * m4/bison.m4 (gl_BISON): Likewise.
9511         Suggested by Bruno Haible.
9512
9513 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
9514
9515         more ports to Solaris tr, which needs [] around ranges
9516         * gnulib-tool: Solaris tr needs [] around ranges.
9517         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
9518         * tests/test-pipe-filter-gi1.c (main): Likewise.
9519         * tests/test-pipe-filter-ii1.c (main): Likewise.
9520
9521 2010-10-05  Eric Blake  <eblake@redhat.com>
9522
9523         bootstrap: fix Solaris regression
9524         * build-aux/bootstrap (check_versions): Solaris tr still needs []
9525         around ranges.
9526         Reported by Pádraig Brady.
9527
9528         bootstrap: work with pkg-config
9529         * build-aux/bootstrap (check_versions): Also transliterate - in
9530         prerequisite name.
9531         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
9532         prerequisites that were already found, to avoid confusion.
9533         Reported by Justin Clift.
9534
9535         faccessat: remove unused wrappers
9536         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
9537         presence of these wrappers dragged in -lgen on Solaris.
9538         Reported by Clemens Brogi; fix suggested by Paul Eggert.
9539
9540 2010-10-05  Jim Meyering  <meyering@redhat.com>
9541
9542         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
9543         * Makefile (sc_pragma_columns): New syntax-check rule.
9544
9545 2010-10-04  Bruno Haible  <bruno@clisp.org>
9546
9547         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
9548         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
9549         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
9550         Reported by Bruce Korb and Eric Blake.
9551
9552 2010-10-04  Bruno Haible  <bruno@clisp.org>
9553
9554         threadlib: Make option --with-libpth-prefix work.
9555         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
9556         use $LIBPTH, not just -lpth.
9557
9558 2010-10-04  Bruno Haible  <bruno@clisp.org>
9559
9560         Avoid line length limitation from HP NonStop system header files.
9561         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
9562         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
9563         * lib/ctype.in.h: Likewise.
9564         * lib/dirent.in.h: Likewise.
9565         * lib/errno.in.h: Likewise.
9566         * lib/fcntl.in.h: Likewise.
9567         * lib/float.in.h: Likewise.
9568         * lib/getopt.in.h: Likewise.
9569         * lib/iconv.in.h: Likewise.
9570         * lib/inttypes.in.h: Likewise.
9571         * lib/langinfo.in.h: Likewise.
9572         * lib/locale.in.h: Likewise.
9573         * lib/math.in.h: Likewise.
9574         * lib/netdb.in.h: Likewise.
9575         * lib/netinet_in.in.h: Likewise.
9576         * lib/poll.in.h: Likewise.
9577         * lib/pthread.in.h: Likewise.
9578         * lib/pty.in.h: Likewise.
9579         * lib/sched.in.h: Likewise.
9580         * lib/se-selinux.in.h: Likewise.
9581         * lib/search.in.h: Likewise.
9582         * lib/signal.in.h: Likewise.
9583         * lib/spawn.in.h: Likewise.
9584         * lib/stdarg.in.h: Likewise.
9585         * lib/stddef.in.h: Likewise.
9586         * lib/stdint.in.h: Likewise.
9587         * lib/stdio.in.h: Likewise.
9588         * lib/stdlib.in.h: Likewise.
9589         * lib/string.in.h: Likewise.
9590         * lib/strings.in.h: Likewise.
9591         * lib/sys_file.in.h: Likewise.
9592         * lib/sys_ioctl.in.h: Likewise.
9593         * lib/sys_select.in.h: Likewise.
9594         * lib/sys_socket.in.h: Likewise.
9595         * lib/sys_stat.in.h: Likewise.
9596         * lib/sys_time.in.h: Likewise.
9597         * lib/sys_times.in.h: Likewise.
9598         * lib/sys_utsname.in.h: Likewise.
9599         * lib/sys_wait.in.h: Likewise.
9600         * lib/sysexits.in.h: Likewise.
9601         * lib/termios.in.h: Likewise.
9602         * lib/time.in.h: Likewise.
9603         * lib/unistd.in.h: Likewise.
9604         * lib/wchar.in.h: Likewise.
9605         * lib/wctype.in.h: Likewise.
9606         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
9607         * modules/ctype (Makefile.am): Likewise.
9608         * modules/dirent (Makefile.am): Likewise.
9609         * modules/errno (Makefile.am): Likewise.
9610         * modules/fcntl-h (Makefile.am): Likewise.
9611         * modules/float (Makefile.am): Likewise.
9612         * modules/getopt-posix (Makefile.am): Likewise.
9613         * modules/iconv-h (Makefile.am): Likewise.
9614         * modules/inttypes (Makefile.am): Likewise.
9615         * modules/langinfo (Makefile.am): Likewise.
9616         * modules/locale (Makefile.am): Likewise.
9617         * modules/math (Makefile.am): Likewise.
9618         * modules/netdb (Makefile.am): Likewise.
9619         * modules/netinet_in (Makefile.am): Likewise.
9620         * modules/poll-h (Makefile.am): Likewise.
9621         * modules/pthread (Makefile.am): Likewise.
9622         * modules/pty (Makefile.am): Likewise.
9623         * modules/sched (Makefile.am): Likewise.
9624         * modules/search (Makefile.am): Likewise.
9625         * modules/selinux-h (Makefile.am): Likewise.
9626         * modules/signal (Makefile.am): Likewise.
9627         * modules/spawn (Makefile.am): Likewise.
9628         * modules/stdarg (Makefile.am): Likewise.
9629         * modules/stddef (Makefile.am): Likewise.
9630         * modules/stdint (Makefile.am): Likewise.
9631         * modules/stdio (Makefile.am): Likewise.
9632         * modules/stdlib (Makefile.am): Likewise.
9633         * modules/string (Makefile.am): Likewise.
9634         * modules/strings (Makefile.am): Likewise.
9635         * modules/sys_file (Makefile.am): Likewise.
9636         * modules/sys_ioctl (Makefile.am): Likewise.
9637         * modules/sys_select (Makefile.am): Likewise.
9638         * modules/sys_socket (Makefile.am): Likewise.
9639         * modules/sys_stat (Makefile.am): Likewise.
9640         * modules/sys_time (Makefile.am): Likewise.
9641         * modules/sys_times (Makefile.am): Likewise.
9642         * modules/sys_utsname (Makefile.am): Likewise.
9643         * modules/sys_wait (Makefile.am): Likewise.
9644         * modules/sysexits (Makefile.am): Likewise.
9645         * modules/termios (Makefile.am): Likewise.
9646         * modules/time (Makefile.am): Likewise.
9647         * modules/unistd (Makefile.am): Likewise.
9648         * modules/wchar (Makefile.am): Likewise.
9649         * modules/wctype (Makefile.am): Likewise.
9650
9651 2010-10-04  Bruno Haible  <bruno@clisp.org>
9652
9653         read-file tests: Avoid a test failure on NonStop Kernel.
9654         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
9655         a regular file.
9656         Reported by Joachim Schmitz <schmitz@hp.com>.
9657
9658 2010-10-03  Bruno Haible  <bruno@clisp.org>
9659
9660         gnulib-tool: Fixes for --create-testdir with --libtool.
9661         * gnulib-tool (func_get_automake_snippet): Don't augment
9662         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
9663         an executable.
9664         (func_create_testdir): Handle module 'alloca' like func_import.
9665         Reported by Bruce Korb <bruce.korb@gmail.com>.
9666
9667 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
9668
9669         Avoid some lines longer than 80 characters.
9670         * lib/stdint.in.h: Break long comment lines.
9671         * lib/math.in.h: Likewise.
9672         (_GL_NUM_UINT_WORDS): New macro, for readability.
9673         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
9674         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
9675         * lib/stdlib.in.h: Likewise.
9676         * lib/spawn.in.h: Likewise.
9677         * lib/sys_socket.in.h: Update an URL.
9678         * lib/sys_stat.in.h: Break long line.
9679
9680 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
9681
9682         Improve pmccabe2html.
9683         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
9684         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
9685         when the sources change. Remove the line in the HTML about "Used
9686         ranges" (which implied that there might be other unused ranges),
9687         rename "Resume" to "Summary" (easier to understand for more users).
9688         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
9689         styles, and some unnecessary blank lines.
9690
9691 2010-10-03  Bruno Haible  <bruno@clisp.org>
9692             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
9693
9694         acl: Add support for ACLs on NonStop Kernel.
9695         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
9696         Check whether the function aclsort() exists.
9697         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
9698         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
9699         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
9700         (acl_nontrivial [HAVE_ACLSORT]: New function.
9701         (file_has_acl): Implement for NonStop Kernel.
9702         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
9703         (qset_acl): Implement for NonStop Kernel.
9704         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
9705         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
9706         (main): Implement for NonStop Kernel.
9707         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
9708         Kernel. Handle this flavor.
9709         * tests/test-set-mode-acl.sh: Likewise.
9710         * tests/test-copy-acl.sh: Likewise.
9711         * tests/test-copy-file.sh: Likewise.
9712
9713 2010-10-03  Bruno Haible  <bruno@clisp.org>
9714
9715         Info about ACLs on NonStop Kernel.
9716         * doc/acl-resources.txt: Add info about NonStop Kernel.
9717         References by Joachim Schmitz <schmitz@hp.com>.
9718
9719 2010-10-02  Bruno Haible  <bruno@clisp.org>
9720
9721         Define missing EDQUOT on NonStop Kernel.
9722         * lib/errno.in.h (EDQUOT): Assign a value if missing.
9723         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
9724         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
9725         missing.
9726         * doc/posix-headers/errno.texi: Mention the NSK bug.
9727         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
9728         Reported by Joachim Schmitz <schmitz@hp.com>.
9729
9730 2010-10-02  Bruno Haible  <bruno@clisp.org>
9731
9732         Update doc for POSIX:2008.
9733         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
9734         Update URL of POSIX specification.
9735
9736 2010-10-02  Bruno Haible  <bruno@clisp.org>
9737
9738         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
9739         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
9740         from gnulib, not from Automake.
9741
9742 2010-10-02  Bruno Haible  <bruno@clisp.org>
9743
9744         New module 'system-posix'.
9745         * modules/system-posix: New file.
9746         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
9747         module is present.
9748         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
9749         GNULIB_SYSTEM_POSIX.
9750         * modules/stdlib (Depends-on): Remove sys_wait.
9751         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
9752         * doc/posix-functions/system.texi: Mention the new module.
9753         * doc/posix-headers/stdlib.texi: Likewise.
9754         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
9755         define test_sys_wait_macros to a no-op.
9756         Reported by Sam Steingold <sds@gnu.org>.
9757
9758 2010-09-30  Bruno Haible  <bruno@clisp.org>
9759
9760         More renaming from 'getdate' to 'get_date'.
9761         * doc/get_date.texi: Renamed from doc/getdate.texi.
9762         * modules/get_date (Files): Update.
9763         * MODULES.html.sh (Date and time <time.h>): Update.
9764         * DEPENDENCIES: Update.
9765         * gnulib-tool: Update comment.
9766         * m4/bison.m4 (gl_BISON): Likewise.
9767         * m4/get_date.m4 (gl_GET_DATE): Likewise.
9768
9769 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
9770
9771         bootstrap: support ACLOCAL_FLAGS during aclocal
9772         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
9773         can add additional -I dir for third-party .m4 files.
9774
9775 2010-09-30  Eric Blake  <eblake@redhat.com>
9776
9777         bootstrap: use glibtoolize on MacOS
9778         * build-aux/bootstrap (check_versions): Convert libtool into
9779         libtoolize.
9780         (tool search): Move libtool check earlier, and look for
9781         glibtoolize for MacOS.
9782         (gnulib_tool_options): Auto-add --libtool when appropriate.
9783         Reported by Justin Clift.
9784
9785         poll: fix typo that broke test on MacOS
9786         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
9787         Reported by Justin Clift.
9788
9789         getdate: rename to get_date
9790         Note: getdate.h is not renamed, to minimize client impact.
9791         * modules/getdate: Mark obsolete.  Move old contents...
9792         * modules/get_date: ...to new module name.
9793         * modules/getdate-tests: Move...
9794         * modules/get_date-tests: ...here.
9795         * m4/getdate.m4: Move...
9796         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
9797         * lib/getdate.y: Move...
9798         * lib/get_date.y: ...here.
9799         * tests/test-getdate.c: Move...
9800         * tests/test-get_date.c: ...here.
9801         * doc/posix-functions/getdate.texi (getdate): Update name.
9802         * NEWS: Mention the change.
9803
9804 2010-09-29  Bruno Haible  <bruno@clisp.org>
9805
9806         Separate the module 'waitpid' from the module 'sys_wait'.
9807         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
9808         present.
9809         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
9810         gl_MODULE_INDICATOR_FOR_TESTS.
9811         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
9812         * modules/sys_wait (Depends-on): Remove waitpid.
9813         (Makefile.am): Substitute GNULIB_WAITPID.
9814         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
9815         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
9816         signature only if the 'waitpid' module is present.
9817         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
9818         * NEWS: Mention the change.
9819         * modules/grantpt (Depends-on): Add waitpid.
9820         * modules/wait-process (Depends-on): Likewise.
9821
9822 2010-09-29  Bruno Haible  <bruno@clisp.org>
9823
9824         More tests for module 'sys_wait'.
9825         * modules/sys_wait-c++-tests: New file.
9826         * tests/test-sys_wait-c++.cc: New file.
9827         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
9828         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
9829
9830 2010-09-29  Bruno Haible  <bruno@clisp.org>
9831
9832         New module 'waitpid'.
9833         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
9834         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
9835         Don't include <process.h>.
9836         (waitpid): Declare only, using modern idiom.
9837         * m4/waitpid.m4: New file.
9838         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
9839         * modules/waitpid: New file.
9840         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
9841         (Makefile.am): Update.
9842         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
9843
9844 2010-09-28  Bruno Haible  <bruno@clisp.org>
9845
9846         poll: Assume ANSI C.
9847         * lib/poll.c (poll): Use an ANSI C declaration.
9848
9849 2010-09-28  Bruno Haible  <bruno@clisp.org>
9850
9851         poll-h: Create poll.h on all platforms.
9852         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
9853         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
9854         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
9855         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
9856         (gl_REPLACE_POLL_H): Don't set POLL_H.
9857         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
9858         * modules/poll-h (Depends-on): Add include_next.
9859         (Makefile.am): Create poll.h unconditionally. Substitute also
9860         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
9861
9862 2010-09-28  Bruno Haible  <bruno@clisp.org>
9863
9864         Tests for module 'poll-h'.
9865         * modules/poll-h-c++-tests: New file.
9866         * tests/test-poll-h-c++.cc: New file.
9867
9868         Tests for module 'poll-h'.
9869         * modules/poll-h-tests: New file.
9870         * tests/test-poll-h.c: New file.
9871
9872 2010-09-28  Bruno Haible  <bruno@clisp.org>
9873
9874         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
9875         * modules/poll-h (Depends-on): Add 'extensions'.
9876
9877 2010-09-28  Bruno Haible  <bruno@clisp.org>
9878
9879         New module 'poll-h'.
9880         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
9881         (poll): Use modern idiom.
9882         * modules/poll-h: New file.
9883         * modules/poll (Files): Remove lib/poll.in.h.
9884         (Depends-on): Add poll-h.
9885         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
9886         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
9887         * m4/poll_h.m4: New file.
9888         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
9889         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
9890         and invoke gl_REPLACE_POLL_H.
9891         * lib/poll.c: Use common idiom.
9892         * tests/test-poll.c: Likewise.
9893         * doc/posix-headers/poll.texi: Mention the poll-h module.
9894         Suggested by Eric Blake.
9895
9896 2010-09-26  Bruno Haible  <bruno@clisp.org>
9897
9898         sys_wait: Implement WSTOPSIG.
9899         * lib/sys_wait.in.h (WSTOPSIG): New macro.
9900         Reported by Simon Josefsson.
9901
9902 2010-09-26  Simon Josefsson  <simon@josefsson.org>
9903
9904         stdlib, sys_wait: Avoid compilation error on mingw.
9905         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
9906
9907 2010-09-26  Bruno Haible  <bruno@clisp.org>
9908
9909         stdlib tests: Avoid code duplication.
9910         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
9911         * modules/sys_wait-tests (Files): Likewise.
9912         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
9913         * tests/test-stdlib.c: Include test-sys_wait.h.
9914         (main): Invoke test_sys_wait_macros.
9915         * tests/test-sys_wait.c: Include test-sys_wait.h.
9916         (main): Invoke test_sys_wait_macros.
9917
9918 2010-09-25  Simon Josefsson  <simon@josefsson.org>
9919
9920         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
9921         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
9922         sure Windows sockets are working before calling getaddrinfo.
9923         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
9924         * doc/gnulib.texi (Windows sockets): Fix typo.
9925
9926 2010-09-25  Bruno Haible  <bruno@clisp.org>
9927
9928         Tests for module 'regex-quote'.
9929         * modules/regex-quote-tests: New file.
9930         * tests/test-regex-quote.c: New file.
9931
9932         New module 'regex-quote'.
9933         * lib/regex-quote.h: New file.
9934         * lib/regex-quote.c: New file.
9935         * modules/regex-quote: New file.
9936         Suggested by Reuben Thomas <rrt@sc3d.org>.
9937
9938 2010-09-24  Bruno Haible  <bruno@clisp.org>
9939
9940         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
9941         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
9942
9943 2010-09-23  Bruno Haible  <bruno@clisp.org>
9944
9945         setenv: Relax license.
9946         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
9947         Blake.
9948         Requested by Eric Blake.
9949
9950 2010-09-22  Bruno Haible  <bruno@clisp.org>
9951
9952         termios: Relax license.
9953         * modules/termios (License): Change to LGPLv2+.
9954         Requested by Eric Blake.
9955
9956 2010-09-22  Bruno Haible  <bruno@clisp.org>
9957
9958         threadlib: Allow the package to change the default to 'no'.
9959         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
9960         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
9961         Reported by Paul Eggert.
9962
9963 2010-09-22  Pádraig Brady  <P@draigbrady.com>
9964             Bruno Haible  <bruno@clisp.org>
9965
9966         Fix endless loop in mbmemcasecoll.
9967         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
9968         byte.
9969         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
9970
9971 2010-09-22  Bruno Haible  <bruno@clisp.org>
9972
9973         Tests for module 'memcoll'.
9974         * modules/memcoll-tests: New file.
9975         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
9976
9977         memcoll, xmemcoll: Clarify size vs. length.
9978         * modules/memcoll.c (memcoll0): Clarify specification.
9979         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
9980         passed to collate_error.
9981
9982 2010-09-22  Bruno Haible  <bruno@clisp.org>
9983
9984         Tests for module 'memcasecmp'.
9985         * modules/memcasecmp-tests: New file.
9986         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
9987
9988 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
9989
9990         * lib/pthread.in.h: Add split double-inclusion guard, and include
9991         system <pthread.h> if there is one.  Use @@-style as in other
9992         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
9993         pthread.h doesn't.
9994         (pthread_mutexattr_destroy, pthread_mutexattr_init):
9995         (pthread_mutexattr_settype, pthread_mutex_trylock):
9996         New static inline functions, if there's no system <pthread.h>.
9997         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
9998         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
9999         Approximate with mutexes if the system lacks spinlocks, as in
10000         MacOS.
10001         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
10002         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
10003         @@-style.  Check for spinlocks separately.
10004         (gl_PTHREAD_DEFAULTS): New macro.
10005         * modules/pthread: Redo to use a more typical style for in.h files.
10006
10007 2010-09-21  Eric Blake  <eblake@redhat.com>
10008
10009         net_if: enhance tests
10010         * tests/test-net_if.c (main): Move signature checks earlier.
10011         Print failures to stderr.
10012         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
10013         Document the bug that we do not yet fix.
10014
10015 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
10016
10017         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
10018         about gnulib, not GSS.
10019
10020 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
10021
10022         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
10023         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
10024         for Emacs.
10025         * build-aux/pmccabe2html: Make Makefile.am example code more
10026         cut-and-paste friendly.
10027
10028 2010-09-21  Simon Josefsson  <simon@josefsson.org>
10029
10030         * tests/test-net_if.c: New file.
10031         * modules/net_if-tests: New file.
10032
10033 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
10034
10035         pthread: add pthread_spin_destroy
10036         * lib/pthread.in.h (pthread_spin_destroy): New function.
10037
10038 2010-09-19  Bruno Haible  <bruno@clisp.org>
10039
10040         gnulib-tool: Fix --help output.
10041         * gnulib-tool (func_usage): Fix help message.
10042         Reported by Reuben Thomas <rrt@sc3d.org>.
10043
10044 2010-09-18  Jim Meyering  <meyering@redhat.com>
10045
10046         maint.mk: avoid unexpanded \n in two diagnostics
10047         * top/maint.mk (sc_prohibit_always_true_header_tests):
10048         Don't use a literal \n in a halt=... assignment.  It would not be
10049         expanded, and the two \n bytes would appear in the diagnostic output
10050         rather than the desired newline.  Use halt=$$(printf ... instead.
10051         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
10052
10053 2010-09-18  Bruno Haible  <bruno@clisp.org>
10054
10055         netinet_in: Doc tweak.
10056         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
10057         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10058
10059 2010-09-18  Jim Meyering  <meyering@redhat.com>
10060
10061         init.sh: correct an outdated comment
10062         * tests/init.sh (create_exe_shims_):  s/function/alias/
10063
10064         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
10065         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
10066         a file named "*.exe" is removed between the glob expansion and the
10067         processing of that oddly named file.
10068
10069 2010-09-17  Eric Blake  <eblake@redhat.com>
10070
10071         mirbsd: add some more support
10072         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
10073         in BSD family.
10074         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
10075         devices as OpenBSD.
10076         * m4/host-os.m4 (mirbsd): Add MirBSD.
10077
10078         tests: fix unportable assumption on sys/wait.h
10079         * tests/test-sys_wait.c (main): Relax test.
10080         * tests/test-stdlib.c (main): Likewise.
10081
10082         init.sh: accomodate directory with no .exes
10083         * tests/init.sh: Accomodate directory containing only scripts.
10084
10085         tests: avoid compiler warning
10086         * tests/test-stdlib.c (main): Use the variable.
10087
10088         fdutimens, fdutimensat: update signature, again
10089         * lib/utimens.h (gl_futimens): Delete, and move signature...
10090         (fdutimens): ...here.
10091         (fdutimensat): Rearrange signature.
10092         (lutimensat): Rename variable for clarity.
10093         * lib/fdutimensat.c (fdutimensat): Update signature.
10094         * lib/utimens.c (fdutimens): Likewise.
10095         (gl_futimens): Delete.
10096         (utimens, lutimens): Update callers.
10097         * lib/futimens.c (futimens): Likewise.
10098         * tests/test-fdutimensat.c: Likewise.
10099         * tests/test-utimens.c: Likewise.
10100         * tests/test-futimens.h: Update comment.
10101         * NEWS: Mention this.
10102         Suggested by Paul Eggert.
10103
10104 2010-09-17  Bruno Haible  <bruno@clisp.org>
10105
10106         Take over the maintenance of some older macros from Autoconf.
10107         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
10108         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
10109         GNU Autoconf.
10110         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
10111         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
10112
10113 2010-09-17  Eric Blake  <eblake@redhat.com>
10114
10115         fdutimensat: drop atflag validation
10116         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
10117         with valid fd, to close a race scenario where futimens is
10118         unsupported and FILE was replaced by a symlink.
10119         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
10120         accordingly.
10121         Suggested by Paul Eggert.
10122
10123 2010-09-16  Bruno Haible  <bruno@clisp.org>
10124
10125         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
10126         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
10127
10128 2010-09-16  Bruno Haible  <bruno@clisp.org>
10129
10130         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
10131         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
10132         login_tty exists.
10133         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10134
10135 2010-09-16  Bruno Haible  <bruno@clisp.org>
10136
10137         login_tty: Make the replacement code work on BSD systems.
10138         * lib/login_tty.c: Include <sys/ioctl.h>.
10139         (login_tty): Use ioctl TIOCSCTTY when available.
10140         * modules/login_tty (Depends-on): Add sys_ioctl.
10141         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10142
10143 2010-09-16  Bruno Haible  <bruno@clisp.org>
10144
10145         login_tty: Stricter unit test.
10146         * modules/login_tty-tests (Depends-on): Add tcgetsid.
10147         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
10148         and tcgetsid() after login_tty.
10149         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10150
10151 2010-09-16  Bruno Haible  <bruno@clisp.org>
10152
10153         New module 'tcgetsid'.
10154         * lib/tcgetsid.c: New file.
10155         * m4/tcgetsid.m4: New file.
10156         * modules/tcgetsid: New file.
10157         * modules/termios (Depends-on): Add c++defs, warn-on-use.
10158         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
10159         GNULIB_TCGETSID, HAVE_TCGETSID.
10160         * lib/termios.in.h: Include <sys/types.h>.
10161         (tcgetsid): New declaration.
10162         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
10163         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
10164         * doc/posix-functions/tcgetsid.texi: Mention the new module.
10165         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
10166
10167 2010-09-16  Bruno Haible  <bruno@clisp.org>
10168
10169         Tests for module 'termios'.
10170         * modules/termios-c++-tests: New file.
10171         * modules/termios-tests: New file.
10172         * tests/test-termios-c++.cc: New file.
10173         * tests/test-termios.c: New file.
10174
10175         New module 'termios'.
10176         * modules/termios: New file.
10177         * lib/termios.in.h: New file.
10178         * m4/termios_h.m4: New file.
10179         * doc/posix-headers/termios.texi: Mention the new module.
10180
10181 2010-09-16  Eric Blake  <eblake@redhat.com>
10182
10183         fdutimensat: add an atflag parameter
10184         * lib/fdutimensat.c (fdutimensat): Add new parameter.
10185         * lib/utimens.h (fdutimensat): Update prototype.
10186         * tests/test-fdutimensat.c: Adjust test to match.
10187         * NEWS: Document the change.
10188         Suggested by Paul Eggert.
10189
10190 2010-09-16  Bruno Haible  <bruno@clisp.org>
10191
10192         Fix typos in comments.
10193         * lib/striconveh.h: Fix typo in comment.
10194         * lib/login_tty.c (login_tty): Likewise.
10195
10196 2010-09-15  Bruno Haible  <bruno@clisp.org>
10197
10198         stdlib: clarify MirBSD WEXITSTATUS bug
10199         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
10200         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
10201
10202 2010-09-15  Eric Blake  <eblake@redhat.com>
10203
10204         stdlib: work around MirBSD WEXITSTATUS bug
10205         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
10206         * modules/stdlib (Depends-on): Add sys_wait.
10207         * tests/test-sys_wait.c (main): Enhance test.
10208         * tests/test-stdlib.c (main): Likewise.
10209         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
10210
10211         docs: mention MacOS issue with WEXITSTATUS(constant)
10212         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
10213         issue.
10214         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
10215
10216         strnlen: add tests
10217         * modules/strnlen-tests: New file.
10218         * tests/test-strnlen.c: Likewise.
10219
10220 2010-09-14  Bruno Haible  <bruno@clisp.org>
10221
10222         unistr/base: Avoid link errors when module 'libunistring' is also used.
10223         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
10224         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
10225         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
10226         Declare also when HAVE_LIBUNISTRING is set.
10227         Reported by Pádraig Brady <P@draigbrady.com>.
10228
10229 2010-09-14  Eric Blake  <eblake@redhat.com>
10230
10231         test-rawmemchr: make more robust
10232         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
10233         (Depends-on, configure.ac): Add needed prerequisites to use it.
10234         * modules/memchr-tests (Files, Depends-on, configure.ac):
10235         Likewise, to avoid implicit reliance on memchr module prereqs.
10236         * tests/test-memchr.c (main): Ensure proper masking.
10237         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
10238         reads.
10239
10240         memchr: detect glibc Alpha bug
10241         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
10242         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
10243         Alpha.
10244         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
10245         * tests/test-memchr.c (main): Enhance test.
10246         Reported by Nelson H. F. Beebe.
10247
10248 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
10249
10250         fts, getcwd, glob: audit for dirfd returning -1
10251         * lib/fts.c (opendir): Remove #define; no longer used.
10252         (opendirat): New arg PDIR_FD.  All callers changed.
10253         (fts_build, _opendir2): Use new opendirat to avoid the need for
10254         dirfd, or for checking whether dirfd returns a negative value.
10255         Don't use opendir; always use openat followed by fdopendir.
10256         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
10257         it.
10258         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
10259         returns -1 here.
10260         * modules/fts (Depends-on): Remove dirfd.
10261         * modules/getcwd (Depends-on): Likewise.
10262
10263 2010-09-13  Eric Blake  <eblake@redhat.com>
10264
10265         float: fix broken MirBSD header
10266         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
10267         * doc/posix-headers/float.texi (float.h): Document it.
10268
10269 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
10270
10271         fts: use O_NOFOLLOW to avoid race condition when opening a directory
10272         * lib/fts.c (opendirat): New arg extra_flags.
10273         (__opendir2): Use it to avoid following symlinks when opening
10274         a directory, if symlinks are not supposed to be followed.  See
10275         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
10276
10277         fdopendir: preserve argument fd before returning
10278         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
10279         (fdopendir_with_dup, fd_clone_opendir): New static functions.
10280         (fdopendir): Use them, arranging for FD to be open to the same
10281         directory that it was when it started.  (It might be temporarily
10282         closed while fdopendir is running, so this not thread- or
10283         signal-safe.)  Be careful to do the right thing even when file
10284         descriptors are scarce and dup fails with errno == EMFILE.  See
10285         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
10286
10287 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
10288
10289         regex: Pass the system regex if its only problem is 32-bit regoff_t.
10290         * NEWS: Document change.
10291         * m4/regex.m4: Disable test for regoff_t size.
10292
10293 2010-09-13  Jim Meyering  <meyering@redhat.com>
10294
10295         fts: don't operate on an invalid file descriptor after failed dup
10296         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
10297         negative file descriptor.
10298
10299 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
10300
10301         savedir: add streamsavedir, deprecate fdsavedir
10302         * NEWS: Mention deprecation of fdsavedir.
10303         * lib/savedir.c (streamsavedir): New extern function, whose name
10304         ends in "savedir" to be consistent with the others.  This differs
10305         from savedirstream in that it doesn't close its argument.  The
10306         next version of GNU tar will use this instead of fdsavedir, to
10307         avoid some race conditions and conserve file descriptors.
10308         (savedirstream): Reimplement as a wrapper around streamsavedir.
10309         (fdsavedir): Add a comment deprecating this function.  As far as
10310         I know, only GNU tar used it, and GNU tar doesn't need it any more.
10311         * lib/savedir.h (streamsavedir): New decl.
10312         (fdsavedir): Add a comment deprecating this.
10313
10314 2010-09-10  Bruno Haible  <bruno@clisp.org>
10315
10316         langinfo: Fix last commit.
10317         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
10318         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
10319         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10320
10321 2010-09-10  Bruno Haible  <bruno@clisp.org>
10322
10323         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
10324         * lib/progreloc.c (O_EXEC): Define fallback.
10325
10326 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
10327
10328         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
10329         * NEWS: Document recent changes to fcntl-h.
10330         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
10331         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
10332         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
10333         Similarly for O_SEARCH; this last was already true, but not documented.
10334         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
10335         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
10336         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
10337         Likewise.
10338         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
10339         is zero, not whether it is defined.
10340         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
10341         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
10342         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
10343
10344 2010-09-10  Bruno Haible  <bruno@clisp.org>
10345
10346         langinfo, nl_langinfo: Fix for IRIX 5.3.
10347         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
10348         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
10349         HAVE_LANGINFO_YESEXPR.
10350         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
10351         HAVE_LANGINFO_YESEXPR.
10352         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
10353         HAVE_LANGINFO_T_FMT_AMPM is 0.
10354         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
10355         HAVE_LANGINFO_YESEXPR is 0.
10356         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
10357         NOEXPR.
10358         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
10359         * doc/posix-functions/nl_langinfo.texi: Likewise.
10360         Reported by Eric Blake.
10361
10362 2010-09-10  Bruno Haible  <bruno@clisp.org>
10363
10364         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
10365         * doc/glibc-functions/login_tty.texi: Mention the include file problem
10366         on FreeBSD 8.0 and OpenBSD 4.6.
10367         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
10368         * m4/pty_h.m4 (gl_PTY_H): Likewise.
10369         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
10370         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
10371         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
10372         ac_includes_default.
10373         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
10374
10375 2010-09-09  Eric Blake  <eblake@redhat.com>
10376
10377         strsignal: work around NetBSD bug
10378         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
10379         * lib/string.in.h (includes): Likewise.
10380         * doc/posix-functions/strsignal.texi (strsignal): Document the
10381         bug.
10382         Reported by Nelson H. F. Beebe.
10383
10384         gnulib-tool: work with NetBSD /bin/sh
10385         * gnulib-tool (func_cache_var, func_cache_lookup_module)
10386         (func_get_description, func_get_comment, func_get_status)
10387         (func_get_notice, func_get_applicability, func_get_filelist)
10388         (func_get_dependencies, func_get_autoconf_early_snippet)
10389         (func_get_autoconf_snippet, func_get_automake_snippet)
10390         (func_get_include_directive, func_get_link_directive)
10391         (func_get_license, func_get_maintainer, func_import): Avoid
10392         shell syntax errors from parsing syntax extensions.
10393
10394 2010-09-09  Bruno Haible  <bruno@clisp.org>
10395
10396         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
10397         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
10398         a reliable way to determine whether the 'alias' command works.
10399
10400 2010-09-08  Jim Meyering  <meyering@redhat.com>
10401
10402         init.sh: penalize a set-x-impaired shell; don't disqualify it
10403         * tests/init.sh: Too many shells corrupt application stderr when
10404         you set -x, so we can't afford to disqualify them, since at least
10405         on Irix-6.5, that would disqualify all bourne shells.
10406         Instead, use a two-pass approach.
10407         On the first pass, try to find a shell that meets the stricter
10408         condition that set -x does not corrupt stderr.
10409         If no shell meets the stricter condition, retest each candidate
10410         shell, but without that extra condition.  Finally, when
10411         VERBOSE=yes is requested and set -x might cause trouble, simply
10412         issue a warning and refrain from enabling debug output.
10413
10414 2010-09-08  Eric Blake  <eblake@redhat.com>
10415
10416         unsetenv: fix OpenBSD bug
10417         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
10418         * doc/posix-functions/unsetenv.texi (unsetenv): Update
10419         documentation.
10420         Reported by Jim Meyering.
10421
10422         strtod: work around IRIX 6.5 bug
10423         * lib/strtod.c (strtod): Reparse number on shorter string if
10424         exponent parse was invalid.
10425         * tests/test-strtod.c (main): Add check for "0x1p 2".
10426         Reported by Tom G. Christensen.
10427
10428         getopt: optimize previous patch
10429         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
10430         empty variable.  Speed up awk script.
10431         Reported by Paolo Bonzini.
10432
10433 2010-09-08  Jim Meyering  <meyering@redhat.com>
10434
10435         test.sh: disqualify shells for which set -x corrupts stderr
10436         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
10437         and OpenBSD 4.7.  They make it so with "set -x", environment settings
10438         appear in stderr output.  For example, this command:
10439             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
10440         prints "P=1" on those two systems:
10441
10442 2010-09-08  Bruno Haible  <bruno@clisp.org>
10443
10444         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
10445         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
10446         commands, because some shells ignore redirections when there is an
10447         error in the command lookup.
10448         Reported by Eric Blake.
10449
10450 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
10451
10452         * lib/regex.h: Fix a mention of `regex_compile' (should be
10453         `re_compile_pattern').
10454         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
10455         (re_set_registers): Correct name of parameter in comment.
10456
10457         * doc/regex.texi: Add documentation for missing syntax flags.
10458         Remove commented-out documentation of defunct syntax option
10459         RE_NO_EMPTY_ALTS.
10460         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
10461         Add documentation of re_set_registers.
10462         Document trick to re-use a pattern buffer by setting fastmap manually.
10463         Update documentation of struct re_pattern_buffer per public members.
10464         Uncomment documentation of equivalence class operators and
10465         collating symbol operators, since they are now implemented,
10466         Explain leftmost-longest matching in relation to alternatives.
10467         Tidy documentation of substring matching.
10468         Remove POSIX documentation, which is done better in
10469         glibc, and refer the reader there. Keep BSD API documentation, as
10470         that is not readily available elsewhere.
10471
10472 2010-09-07  Eric Blake  <eblake@redhat.com>
10473
10474         getopt: handle POSIXLY_CORRECT set but not exported
10475         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
10476         export state of POSIXLY_CORRECT, due to bash set -o posix.
10477         Reported by Dustin J. Mitchell.
10478
10479 2010-09-05  Bruno Haible  <bruno@clisp.org>
10480
10481         gnulib-tool: Highlight the changed options.
10482         * gnulib-tool (func_usage): Display the --import, --add-import,
10483         --remove-import explanations in bold font.
10484
10485 2010-09-06  Karl Berry  <karl@gnu.org>
10486
10487         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
10488
10489 2010-09-05  Bruno Haible  <bruno@clisp.org>
10490
10491         uniwidth/width: Update comment.
10492         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
10493         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
10494
10495 2010-09-05  Bruno Haible  <bruno@clisp.org>
10496
10497         isinf, isnan: Relax license.
10498         * modules/isinf (License): Change from GPL to LGPL, with consent from
10499         Ben Pfaff.
10500         * modules/isnan (License): Likewise.
10501         Requested by Ludovic Courtès.
10502
10503 2010-09-04  Bruno Haible  <bruno@clisp.org>
10504
10505         gnulib-tool: Help migration from --import to --add-import or --update.
10506         * gnulib-tool: Emit a verbose error message when --import is used
10507         without any module name.
10508
10509 2010-09-04  Bruno Haible  <bruno@clisp.org>
10510
10511         Update doc about gnulib-tool.
10512         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
10513         'gnulib-tool --update' in more detail.
10514         Reported by Eric Blake.
10515
10516 2010-09-04  Bruno Haible  <bruno@clisp.org>
10517
10518         gnulib-tool: Change --import. New options --add/remove-import.
10519         * gnulib-tool: New options --add-import, --remove-import.
10520         (func_usage): Document them.
10521         (have_associative): Define always.
10522         (func_import): In import mode, don't merge the specified settings with
10523         the cached settings. Implement remove-import mode.
10524         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
10525         Explain when to use them versus --import.
10526         (Simple update): Use --add-import instead of --import.
10527         * NEWS: Mention the change.
10528
10529 2010-09-04  Bruno Haible  <bruno@clisp.org>
10530
10531         * doc/gnulib-tool.texi (Initial import): Update paragraph about
10532         separate gnulib.mk.
10533
10534 2010-09-04  Bruno Haible  <bruno@clisp.org>
10535
10536         gnulib-tool: Don't talk about CVS any more.
10537         * gnulib-tool (func_usage, func_import): Write "version control"
10538         instead of CVS.
10539
10540 2010-09-04  Jim Meyering  <meyering@redhat.com>
10541
10542         maint.mk: avoid obscure sc_copyright_check failure in coreutils
10543         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
10544         false positives (whose names may be ill-chosen) when searching
10545         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
10546         would cause a false-positive.
10547
10548         avoid coreutils "make distcheck" failure
10549         Coreutils tests with an absolute build directory name that contains
10550         a space.  Not quoting this directory name caused a failure.
10551         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
10552         * tests/test-vc-list-files-cvs.sh: Likewise.
10553
10554 2010-09-04  Bruno Haible  <bruno@clisp.org>
10555
10556         gnulib-tool: Avoid error when run in a package without Makefile.am.
10557         * gnulib-tool: When collecting the m4dirs in a package that does not
10558         have a Makefile.am, eliminate those directories that contain no
10559         gnulib-cache.m4. Fix expression that counts these directories.
10560
10561 2010-09-04  Bruno Haible  <bruno@clisp.org>
10562
10563         update-copyright test: Improve output when perl is missing or too old.
10564         * tests/test-update-copyright.sh: Move test of Perl version down after
10565         the test whether Perl exists. Provide an explanation relating Perl's
10566         error message to Automake's SKIP: message.
10567
10568 2010-09-04  Bruno Haible  <bruno@clisp.org>
10569
10570         Don't augment PATH in TESTS_ENVIRONMENT.
10571         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
10572         set abs_aux_dir instead of augmenting PATH.
10573         * modules/vc-list-files-tests (Makefile.am): Likewise.
10574         * tests/test-update-copyright.sh: Augment PATH here.
10575         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
10576         path_prepend_.
10577         * tests/test-vc-list-files-git.sh: Likewise.
10578
10579 2010-09-04  Jim Meyering  <meyering@redhat.com>
10580
10581         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
10582         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
10583
10584 2010-09-04  Bruno Haible  <bruno@clisp.org>
10585
10586         strdup: Fix compilation error in C++ mode.
10587         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
10588         the macro.
10589
10590 2010-09-04  Bruno Haible  <bruno@clisp.org>
10591
10592         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
10593         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
10594         macro into a function.
10595         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
10596
10597 2010-09-04  Bruno Haible  <bruno@clisp.org>
10598
10599         Set PATH_SEPARATOR the same way autoconf does.
10600         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
10601         the value of PATH_SEPARATOR the same way autoconf-generated configure
10602         scripts do.
10603         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
10604         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
10605
10606 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
10607
10608         Set PATH_SEPARATOR the same way autoconf does.
10609         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
10610         the same way autoconf-generated configure scripts do.
10611         * posix-modules: Likewise.
10612
10613 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
10614
10615         hash: fix safe_hasher const typo
10616         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
10617         const; otherwise, there is a type error later.
10618
10619 2010-09-02  Jim Meyering  <meyering@redhat.com>
10620
10621         test-update-copyright.sh: require perl 5.8.0
10622         * tests/test-update-copyright.sh: Require 5.8.0,
10623         which Tom G. Christensen has confirmed is adequate,
10624         while 5.6.1 is not.
10625
10626 2010-09-02  Eric Blake  <eblake@redhat.com>
10627
10628         tests: init.sh improvements for re-exec'ing with zsh
10629         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
10630         -vx through shell re-exec.
10631         Reported by Tom G. Christensen.
10632
10633         wctype: fix typo in previous commit
10634         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
10635         Reported by Ludovic Courtès.
10636
10637 2010-09-02  Jim Meyering  <meyering@redhat.com>
10638
10639         test-update-copyright.sh: skip test if Perl is too old
10640         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
10641         Reported by Tom G. Christensen.
10642
10643 2010-09-02  Bruno Haible  <bruno@clisp.org>
10644
10645         wctype: Avoid compilation error on IRIX 6.5.30.
10646         * lib/wctype.in.h (iswblank): Declare with a replacement if
10647         REPLACE_ISWBLANK is set.
10648         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
10649         declared. Set REPLACE_ISWBLANK.
10650         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
10651         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
10652         * doc/posix-headers/wctype.texi: Likewise.
10653         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10654
10655 2010-09-01  Bruno Haible  <bruno@clisp.org>
10656
10657         New module 'socketlib'.
10658         * modules/socketlib: New file.
10659         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
10660         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
10661         * modules/sockets (Depends-on): Add socketlib.
10662         Suggested by Sam Steingold <sds@gnu.org>.
10663
10664 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
10665
10666         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
10667
10668         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
10669         when one needs search access to a directory but not read access.
10670         On systems where it is available, it works in some cases where
10671         O_RDONLY does not, namely on directories that are searchable but
10672         not readable, and which need only to be searchable.  If O_SEARCH
10673         is not available, fall back to the traditional method of using
10674         O_RDONLY.
10675
10676         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
10677         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
10678         when opening a directory that needs only to be searchable.
10679         * lib/chdir-safer.c (chdir_no_follow): Likewise.
10680         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
10681         * lib/openat-proc.c (openat_proc_name): Likewise.
10682         * lib/openat.c (openat_needs_fchdir): Likewise.
10683         * lib/save-cwd.c (save_cwd): Likewise.
10684         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
10685
10686 2010-08-28  Bruno Haible  <bruno@clisp.org>
10687
10688         New module 'host-cpu-c-abi'.
10689         * modules/host-cpu-c-abi: New file.
10690         * m4/host-cpu-c-abi.m4: New file, based on part of
10691         clisp/src/m4/general.m4.
10692         Requested by Sam Steingold <sds@gnu.org>.
10693
10694 2010-08-31  Eric Blake  <eblake@redhat.com>
10695         and Jim Meyering  <meyering@redhat.com>
10696
10697         hash: factor, and guard against misbehaving hasher function
10698         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
10699         of table->hasher's return value.  Also protect against a hash value
10700         so large that adding it to table->bucket results in a NULL pointer.
10701         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
10702         Use it in place of open-coded check-and-abort.
10703
10704 2010-08-30  Bruno Haible  <bruno@clisp.org>
10705
10706         hash: silence spurious clang warning
10707         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
10708         Reported by Eric Blake.
10709
10710 2010-08-30  Eric Blake  <eblake@redhat.com>
10711
10712         strstr, memmem, strcasestr: avoid leaked shell message
10713         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
10714         FreeBSD.
10715         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
10716         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
10717
10718         tests: silence clang warning
10719         * tests/test-malloca.c (do_allocation): Avoid dead store.
10720
10721 2010-08-29  Bruno Haible  <bruno@clisp.org>
10722
10723         gettext: Fix recent mistake.
10724         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
10725
10726 2010-08-29  Bruno Haible  <bruno@clisp.org>
10727
10728         selinux-h: Offer a --without-selinux option.
10729         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
10730         --without-selinux was specified, skip all tests and define
10731         HAVE_SELINUX_SELINUX_H to 0.
10732         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
10733         set LIB_SELINUX to empty.
10734         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
10735         gl_LIBSELINUX. If --without-selinux was specified, replace
10736         selinux/context.h.
10737         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
10738
10739 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10740             Bruno Haible  <bruno@clisp.org>
10741
10742         Make the module 'realloc-gnu' work again on AIX and OSF/1.
10743         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
10744         of HAVE_REALLOC.
10745         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
10746         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
10747         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
10748         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
10749
10750 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10751             Bruno Haible  <bruno@clisp.org>
10752
10753         Make the module 'calloc-gnu' work again on AIX and OSF/1.
10754         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
10755         HAVE_CALLOC.
10756         * lib/xmalloc.c: Update accordingly.
10757         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
10758         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
10759         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
10760
10761 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10762             Bruno Haible  <bruno@clisp.org>
10763
10764         Make the module 'malloc-gnu' work again on AIX and OSF/1.
10765         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
10766         HAVE_MALLOC.
10767         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
10768         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
10769         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
10770
10771 2010-08-29  Bruno Haible  <bruno@clisp.org>
10772
10773         Update modules list.
10774         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
10775         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
10776         (String handling <string.h>): Add astrxfrm.
10777         (File system functions): Add readlinkat.
10778
10779 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10780
10781         Tests for module 'realloc-gnu'.
10782         * modules/realloc-gnu-tests: New file.
10783         * tests/test-realloc-gnu.c: New file.
10784
10785         Tests for module 'calloc-gnu'.
10786         * modules/calloc-gnu-tests: New file.
10787         * tests/test-calloc-gnu.c: New file.
10788
10789         Tests for module 'malloc-gnu'.
10790         * modules/malloc-gnu-tests: New file.
10791         * tests/test-malloc-gnu.c: New file.
10792
10793 2010-08-28  Bruno Haible  <bruno@clisp.org>
10794
10795         Rename module 'realloc' -> 'realloc-gnu'.
10796         * modules/realloc-gnu: New file, copied from modules/realloc.
10797         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
10798         obsolete.
10799         * modules/mgetgroups (Depends-on): Update.
10800         * doc/posix-functions/realloc.texi: Update.
10801         * NEWS: Mention the change.
10802
10803         Rename module 'calloc' -> 'calloc-gnu'.
10804         * modules/calloc-gnu: New file, copied from modules/calloc.
10805         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
10806         obsolete.
10807         * doc/posix-functions/calloc.texi: Update.
10808         * NEWS: Mention the change.
10809
10810         Rename module 'malloc' -> 'malloc-gnu'.
10811         * modules/malloc-gnu: New file, copied from modules/malloc.
10812         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
10813         obsolete.
10814         * modules/argp (Depends-on): Update.
10815         * modules/regex (Depends-on): Update.
10816         * doc/posix-functions/malloc.texi: Update.
10817         * NEWS: Mention the change.
10818
10819 2010-08-28  Eric Blake  <eblake@redhat.com>
10820
10821         pread, pwrite: add missing dependency
10822         * modules/pread (Depends-on): Add extensions.
10823         * modules/pwrite (Depends-on): Likewise.
10824
10825 2010-08-28  Bruno Haible  <bruno@clisp.org>
10826
10827         unistr/u*-strchr: Fix tests dependencies.
10828         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
10829         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
10830         Reported by Ian Beckwith <ianb@erislabs.net>.
10831
10832 2010-08-28  Bruno Haible  <bruno@clisp.org>
10833
10834         read-file: Don't occupy too much unused memory.
10835         * lib/read-file.c (fread_file): Shrink the buffer at the end.
10836
10837 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
10838             Eric Blake  <eblake@redhat.com>
10839             Bruno Haible  <bruno@clisp.org>
10840
10841         read-file: Avoid memory reallocations with regular files.
10842         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
10843         (fread_file): With regular files, use the remaining length as the
10844         initial buffer size.  Check against overflow.
10845         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
10846         sys_stat.
10847
10848 2010-08-28  Bruno Haible  <bruno@clisp.org>
10849
10850         ftello: Relax license.
10851         * modules/ftello (License): Relax to LGPLv2+.
10852         Reported by Eric Blake.
10853
10854 2010-08-28  Bruno Haible  <bruno@clisp.org>
10855
10856         Avoid relocwrapper link errors due to gnulib replacement functions.
10857         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
10858         function.
10859         Reported by Ben Pfaff <blp@cs.stanford.edu>.
10860
10861 2010-08-28  Bruno Haible  <bruno@clisp.org>
10862
10863         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
10864         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
10865         defined.
10866         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
10867         Suggested by Eric Blake.
10868
10869 2010-08-28  Bruno Haible  <bruno@clisp.org>
10870
10871         sys_socket, netdb: Ensure socklen_t gets defined.
10872         * modules/sys_socket (Depends-on): Add socklen.
10873         * modules/netdb (Depends-on): Likewise.
10874         * modules/getaddrinfo (Depends-on): Remove socklen.
10875         * modules/getsockopt (Depends-on): Likewise.
10876         * modules/setsockopt (Depends-on): Likewise.
10877         * tests/test-sys_socket.c: Check that socklen_t is defined.
10878         * tests/test-netdb.c: Likewise.
10879         * m4/socklen.m4: Update comments.
10880         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10881
10882 2010-08-27  Eric Blake  <eblake@redhat.com>
10883
10884         login_tty: add missing dependency
10885         * modules/login_tty (Depends-on): Add pty.
10886
10887 2010-08-26  Eric Blake  <eblake@redhat.com>
10888
10889         lib-symbol-versions: fix m4 quoting
10890         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
10891         format for AC_LINK_IFELSE.
10892
10893         glob: fix compile test
10894         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
10895
10896         btowc: fix missing file
10897         * modules/btowc (Files): Also ship locale-fr.m4.
10898
10899         lseek: fix link test
10900         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
10901         AC_LINK_IFELSE.
10902
10903         include_next: silence autoconf 2.68 warning
10904         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
10905         AC_COMPILE_IFELSE as special.
10906         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
10907         autoconf < 2.68.
10908
10909         acl: fix compilation test
10910         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
10911         AC_COMPILE_IFELSE.
10912
10913 2010-08-26  Bruno Haible  <bruno@clisp.org>
10914
10915         Modernize AC_TRY_RUN invocations.
10916         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
10917         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
10918         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
10919         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
10920         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
10921         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
10922         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
10923         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
10924         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
10925         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
10926         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
10927         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
10928         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
10929         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
10930         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
10931         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
10932         gl_MBRLEN_NUL_RETVAL): Likewise.
10933         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
10934         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
10935         Likewise.
10936         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
10937         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
10938         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
10939         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
10940         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
10941         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
10942         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
10943         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
10944         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
10945         Likewise.
10946         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
10947         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
10948         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
10949         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
10950         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10951         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
10952         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
10953         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
10954         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
10955         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
10956
10957 2010-08-26  Bruno Haible  <bruno@clisp.org>
10958
10959         Modernize AC_TRY_LINK invocations.
10960         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
10961         AC_TRY_LINK.
10962         * m4/argp.m4 (gl_ARGP): Likewise.
10963         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
10964         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
10965         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
10966         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
10967         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
10968         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
10969         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
10970         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
10971         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
10972         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
10973         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
10974         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
10975         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
10976         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
10977         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
10978         * m4/hostent.m4 (gl_HOSTENT): Likewise.
10979         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
10980         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
10981         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
10982         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
10983         Likewise.
10984         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
10985         Likewise.
10986         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
10987         Likewise.
10988         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
10989         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
10990         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
10991         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
10992         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
10993         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
10994         * m4/servent.m4 (gl_SERVENT): Likewise.
10995         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
10996         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
10997         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
10998         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
10999         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
11000         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
11001         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
11002         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
11003         * modules/tsearch-tests (configure.ac): Likewise.
11004
11005 2010-08-26  Bruno Haible  <bruno@clisp.org>
11006
11007         Modernize AC_TRY_COMPILE invocations.
11008         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
11009         AC_TRY_COMPILE.
11010         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
11011         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
11012         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
11013         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
11014         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
11015         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
11016         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
11017         * m4/lock.m4 (gl_LOCK): Likewise.
11018         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
11019         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
11020         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
11021         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
11022         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
11023         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
11024         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
11025         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
11026         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
11027         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
11028         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
11029         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
11030         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
11031         extraneous semicolon.
11032
11033 2010-08-26  Jim Meyering  <meyering@redhat.com>
11034
11035         stat-time: relax license LGPL
11036         * modules/stat-time (License): Change from GPL to LGPL,
11037         with consent from all contributors, for use in libguile.
11038         Requested by Ludovic Courtès.
11039
11040 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
11041
11042         poll: return immediately on POLLHUP.
11043         * lib/poll.c (poll): Always set timeout before wait_timeout is
11044         computed.
11045
11046 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11047
11048         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
11049         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
11050         rmdir ("dir/.//"), unlinkat.
11051
11052 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
11053
11054         stdbool: avoid spurious failure with modern xlc
11055         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
11056
11057 2010-08-24  Bruno Haible  <bruno@clisp.org>
11058
11059         getloadavg: simplify code
11060         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
11061         gl_have_func. Update comments.
11062
11063 2010-08-24  Eric Blake  <eblake@redhat.com>
11064
11065         getloadavg: don't define SVR4 on cygwin
11066         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
11067         only define SVR4 when -lkvm is required.
11068         Reported by Yaakov Selkowitz.
11069
11070 2010-08-24  Bruno Haible  <bruno@clisp.org>
11071
11072         priv-set: fix comment
11073         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
11074
11075 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
11076
11077         priv-set: fix comments
11078         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
11079         to match code, as suggested by David Bartley in:
11080         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
11081
11082 2010-08-23  Eric Blake  <eblake@redhat.com>
11083
11084         stdbool: avoid rejecting clang
11085         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
11086         * tests/test-stdbool.c: Enable more tests if using the system
11087         <stdbool.h> instead of the gnulib replacement.
11088         (main): Move xlc bug test to a runtime test for all compilers.
11089         Reported by Anders Kaseorg.
11090
11091         argz: fix shell quoting issue
11092         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
11093         Reported by Charles Wilson.
11094
11095 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
11096             Erik Faye-Lund <kusmabite@gmail.com>
11097
11098         poll, select: handle ERROR_BROKEN_PIPE.
11099         * lib/poll.c (win32_compute_revents): Return POLLHUP when
11100         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
11101         * lib/select.c (win32_compute_revents): Do not mark a pipe
11102         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
11103
11104 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
11105
11106         fts: allow compilation with C++
11107         * lib/fts_.h: Specify extern "C" linkage with C++.
11108
11109 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11110
11111         Fix gnulib-tool sed script de-commentation for AIX sed.
11112         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
11113         sed.
11114
11115 2010-08-17  Eric Blake  <eblake@redhat.com>
11116
11117         test-stddef: test for (some) offsetof bugs
11118         * tests/test-stddef.c: Enhance test to ensure correct type of
11119         offsetof.
11120         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
11121         that we are not fixing at this time.
11122
11123 2010-08-15  Bruno Haible  <bruno@clisp.org>
11124
11125         stpncpy: Allow stpncpy to be defined as a macro.
11126         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
11127         if it's already correctly declared.
11128         * lib/string.in.h (stpncpy): Undefine before redefining.
11129         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
11130
11131 2010-08-14  Bruno Haible  <bruno@clisp.org>
11132
11133         Rename module 'memxfrm' to 'amemxfrm'.
11134         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
11135         (amemxfrm): Renamed from memxfrm.
11136         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
11137         (amemxfrm): Renamed from memxfrm.
11138         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
11139         * NEWS: Mention the change.
11140         * MODULES.html.sh (String handling <string.h>): Update.
11141         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
11142         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
11143         * lib/unicase/u16-casexfrm.c: Likewise.
11144         * lib/unicase/u32-casexfrm.c: Likewise.
11145         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
11146         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
11147         * lib/uninorm/u16-normxfrm.c: Likewise.
11148         * lib/uninorm/u32-normxfrm.c: Likewise.
11149         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
11150         memxfrm.
11151         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
11152         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
11153         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
11154         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
11155         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
11156         Suggested by Paul Eggert.
11157
11158 2010-08-14  Bruno Haible  <bruno@clisp.org>
11159
11160         Tests for module 'astrxfrm'.
11161         * modules/astrxfrm-tests: New file.
11162         * tests/test-astrxfrm.c: New file.
11163
11164         New module 'astrxfrm'.
11165         * lib/astrxfrm.h: New file.
11166         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
11167         * modules/astrxfrm: New file.
11168
11169 2010-08-14  Reuben Thomas <rrt@sc3d.org>
11170
11171         regex: Tweak doc.
11172         * doc/regex.texi (Overview): Don't mention regex.c.
11173         (GNU Regular Expression Compiling): Likewise.
11174         (Match-end-of-line Operator): Mention 'not_eol'.
11175
11176 2010-08-14  Brian Gough  <bjg@gnu.org>
11177             Bruno Haible  <bruno@clisp.org>
11178
11179         git-merge-changelog: add doc relating to use with bzr and hg.
11180         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
11181
11182 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
11183
11184         pthread: fix pthread.h creation for srcdir != builddir
11185         * modules/pthread (Makefile.am): Fix the rule to work also in a
11186         non-srcdir build.
11187
11188 2010-08-13  Karl Berry  <karl@gnu.org>
11189
11190         * doc/regex.texi (Predefined Syntaxes): @smallexample.
11191         * doc/posix-*/*: force line break before @url of POSIX
11192         specifications.
11193         Suggested by Werner Lemberg.
11194
11195 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
11196
11197         strtod: fix const diagnostic
11198         * lib/strtod.c (strtod): Don't assign const char * to char *,
11199         as this elicits a warning from GCC when warnings are enabled.
11200
11201 2010-08-10  Pádraig Brady <P@draigbrady.com>
11202         and Eric Blake  <eblake@redhat.com>
11203
11204         copy-acl: ignore ENOTSUP on HP-UX
11205         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
11206         so that it is available for HP-UX.
11207         * lib/copy-acl.c (qcopy_acl): Use it.
11208         Reported by Patrick M. Callahan.
11209
11210 2010-08-10  Eric Blake  <eblake@redhat.com>
11211
11212         open, chown: relax license
11213         * modules/open (License): Change to LGPLv2+, with consent by all
11214         authors, for use in augeas.
11215         * modules/chown (License): Likewise.
11216         * modules/lchown (Likewise): Likewise.
11217         Requested by Adam Stokes.
11218
11219 2010-08-09  Karl Berry  <karl@gnu.org>
11220
11221         * build-aux/ar-lib: new file, import from Automake.
11222         * config/srclist.txt: autocheck for updates.
11223
11224 2010-08-09  Eric Blake  <eblake@redhat.com>
11225
11226         readlinkat: adjust client modules
11227         * modules/areadlinkat (Depends-on): Use readlinkat, not
11228         symlinkat.
11229         * modules/areadlinkat-with-size (Depends-on): Likewise.
11230
11231         mknod: be more vocal about danger of running tests as root
11232         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
11233         root, since that is just asking for problems.
11234         Suggested by Bruno Haible, based on a report by Rainer Tammer.
11235
11236         readlinkat: split into its own module
11237         * modules/symlinkat: Split readlinkat...
11238         * modules/readlinkat: ...into separate module.
11239         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
11240         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
11241         * lib/symlinkat.c (readlinkat): Move...
11242         * lib/readlinkat.c: ...into new file.
11243         * modules/symlinkat-tests: Split readlinkat test...
11244         * modules/readlinkat-tests: ...into separate module.
11245         * tests/test-symlinkat.c: Split...
11246         * tests/test-readlinkat.c: ...into new file.
11247         * NEWS: Document the split.
11248         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
11249         * lib/unistd.in.h (readlinkat): Likewise.
11250         Suggested by Bruno Haible.
11251
11252 2010-08-08  Bruno Haible  <bruno@clisp.org>
11253
11254         memxfrm: Speed up.
11255         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
11256         that usually only one call to strxfrm is necessary for each string
11257         part.
11258         Reported by Paul Eggert <eggert@cs.ucla.edu>.
11259
11260 2010-08-07  Karl Berry  <karl@gnu.org>
11261
11262         * doc/posix-headers/limits.texi,
11263         * doc/posix-functions/malloc.texi,
11264         * doc/posix-functions/strsignal.texi: missing @item.
11265         * doc/ld-version-script.texi: spurious leading i.
11266         * doc/regex.texi (Interval Operators): no commas inside @var.
11267
11268 2010-08-01  Bruno Haible  <bruno@clisp.org>
11269
11270         Integrate the regex documentation.
11271         * doc/gnulib.texi: Define 'cn' index.
11272         (Regular expressions): New a chapter that includes regex.texi and
11273         regexprops-generic.texi.
11274         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
11275         syntax.
11276
11277         Whitespace cleanup.
11278         * doc/regex.texi: Remove trailing spaces.
11279
11280         Add regex documentation.
11281         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
11282         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
11283         Written by Kathy A. Hargreaves and Karl Berry.
11284
11285 2010-08-01  Bruno Haible  <bruno@clisp.org>
11286
11287         link: Update documentation.
11288         * doc/posix-functions/link.texi: Update regarding Solaris.
11289
11290 2010-07-31  Bruno Haible  <bruno@clisp.org>
11291
11292         Update modules list.
11293         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
11294         (String handling <string.h>): Add memcmp2, memxfrm.
11295         (Container data structures): Add xlist, xsublist, xoset.
11296         (Core language properties): Add alignof, unused-parameter.
11297         (Process control, Numeric conversion functions <stdlib.h>): Renamed
11298         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
11299         (Unibyte characters <ctype.h>): New section.
11300         (String handling <string.h>): New section.
11301         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
11302         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
11303         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
11304         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
11305         tan, tanh, tanl, y0, y1, yn.
11306         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
11307         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
11308         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
11309         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
11310         unlockpt, vdprintf, vdprintf-posix.
11311         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
11312         (File system functions): Add concat-filename, sys_file, sys_ioctl,
11313         xconcat-filename.
11314         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
11315         getdtablesize, pipe2, pipe2-safer.
11316         (Security): New section.
11317         (Networking functions): Add accept4.
11318         (Signal handling): Add sigpipe.
11319         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
11320         mbmemcasecoll.
11321         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
11322         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
11323         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
11324         pipe-filter-ii.
11325         (Misc): Add argp-version-etc, login_tty, parse-duration.
11326
11327 2010-07-31  Bruno Haible  <bruno@clisp.org>
11328
11329         Improve doc in MODULES.html.
11330         * modules/linkat (Description): Add the word "function".
11331         * modules/mkfifo (Description): Likewise.
11332         * modules/mknod (Description): Likewise.
11333         * modules/remove (Description): Likewise.
11334         * modules/renameat (Description): Likewise.
11335         * modules/stat (Description): Likewise.
11336         * modules/symlink (Description): Likewise.
11337         * modules/unlink (Description): Likewise.
11338
11339 2010-07-31  Bruno Haible  <bruno@clisp.org>
11340
11341         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
11342         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
11343         option --enable/disable-c++ instead of --enable/disable-cxx.
11344         * NEWS: Mention the change.
11345
11346 2010-07-31  Bruno Haible  <bruno@clisp.org>
11347
11348         readlink, areadlink: Relax test a bit.
11349         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
11350         alternative to ENOTDIR.
11351         * tests/test-areadlink.h (test_areadlink): Likewise.
11352         Reported by Rainer Tammer.
11353
11354 2010-07-31  Bruno Haible  <bruno@clisp.org>
11355
11356         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
11357         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
11358         character, perform the search using U_STRCHR.
11359         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
11360         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
11361         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
11362         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
11363         Suggested by Paolo Bonzini.
11364
11365 2010-07-31  Bruno Haible  <bruno@clisp.org>
11366
11367         unistr/u*-strstr: Fix dependencies.
11368         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
11369         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
11370         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
11371
11372 2010-07-31  Bruno Haible  <bruno@clisp.org>
11373
11374         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
11375         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
11376         the beginning of the loop.
11377         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
11378         cases in 'switch' statement.
11379
11380         unistr/u8-strchr: Fix several bugs.
11381         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
11382         the string. When not found, return NULL, not a pointer near the end.
11383
11384         More tests for unistr/u8-strchr.
11385         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
11386         that the function does not read past the first occurrence of the byte
11387         being searched.
11388         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
11389         * tests/unistr/test-u16-strchr.c (main): New function.
11390         * tests/unistr/test-u32-strchr.c (main): New function.
11391
11392 2010-07-31  Bruno Haible  <bruno@clisp.org>
11393
11394         posix-modules: Ignore backup files of documentation files.
11395         * posix-modules: grep only through files named *.texi.
11396
11397 2010-07-31  Bruno Haible  <bruno@clisp.org>
11398
11399         symlinkat: Fix documentation.
11400         * doc/posix-functions/readlinkat.texi: Fix module name.
11401
11402 2010-07-31  Bruno Haible  <bruno@clisp.org>
11403
11404         fchownat: Replace also when chown has the trailing slash bug.
11405         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
11406         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
11407         introduced on 2010-04-10.
11408         Reported by Rainer Tammer.
11409
11410 2010-07-31  Bruno Haible  <bruno@clisp.org>
11411
11412         linkat: Work around AIX 7.1 bug.
11413         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
11414         whether linkat handles trailing slash correctly. If not, replace linkat
11415         and define LINKAT_TRAILING_SLASH_BUG.
11416         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
11417         check whether (fd1,file1) points to a directory if file1 or file2 ends
11418         in a slash. Code taken from lib/link.c.
11419         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
11420         Reported by Rainer Tammer.
11421
11422 2010-07-31  Bruno Haible  <bruno@clisp.org>
11423
11424         Correctly determine whether pow is available in libc on AIX 7 with xlc.
11425         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
11426         This disables an xlc optimization that was causing wrong test results.
11427         Reported by Rainer Tammer.
11428
11429 2010-07-31  Bruno Haible  <bruno@clisp.org>
11430
11431         iconv: Work around AIX 6.1..7.1 bug.
11432         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
11433         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
11434         cross-compiling, guess no on all versions of AIX.
11435         Reported by Rainer Tammer.
11436
11437 2010-07-31  Bruno Haible  <bruno@clisp.org>
11438
11439         readlink: Relax test a bit.
11440         * tests/test-readlink.h (test_readlink): Allow different errno value
11441         when readlink is called with a file name that ends in / and refers to
11442         a file.
11443         Suggested by Eric Blake.
11444         Reported by Rainer Tammer.
11445
11446 2010-07-31  Bruno Haible  <bruno@clisp.org>
11447
11448         copysign: Does not require -lm on glibc systems.
11449         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
11450         gl_COMMON_DOUBLE_MATHFUNC.
11451         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
11452
11453 2010-07-31  Bruno Haible  <bruno@clisp.org>
11454
11455         duplocale: Work around AIX 7.1 bug.
11456         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
11457         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
11458         * lib/duplocale.c (rpl_duplocale): Update comment.
11459         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
11460         Reported by Rainer Tammer.
11461
11462 2010-07-30  Bruno Haible  <bruno@clisp.org>
11463
11464         dirfd: Avoid link error on AIX 7.1.
11465         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
11466         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
11467         exist, set REPLACE_DIRFD.
11468         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
11469         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
11470         * doc/posix-functions/dirfd.texi: Update.
11471         Reported by Rainer Tammer.
11472
11473 2010-07-30  Eric Blake  <eblake@redhat.com>
11474
11475         strtod: next round of AIX fixes
11476         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
11477         exponent.
11478         * tests/test-strtod.c (main): Enhance tests.
11479         * doc/posix-functions/strtod.texi (strtod): Document next bug.
11480         Reported by Rainer Tammer.
11481
11482         futimens: fix configure check
11483         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
11484         Reported by Bruno Haible.
11485
11486 2010-07-30  Bruno Haible  <bruno@clisp.org>
11487
11488         getline: Update regarding AIX.
11489         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
11490         Reported by Rainer Tammer.
11491
11492 2010-07-30  Bruno Haible  <bruno@clisp.org>
11493
11494         wcwidth: Drop replacement on AIX 7.
11495         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
11496         AIX 7.
11497         Reported by Rainer Tammer.
11498
11499 2010-07-30  Bruno Haible  <bruno@clisp.org>
11500
11501         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
11502         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
11503         a 'char *'.
11504         Reported by Rainer Tammer.
11505
11506 2010-07-30  Bruno Haible  <bruno@clisp.org>
11507
11508         unlink: Update regarding AIX.
11509         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
11510         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
11511         Reported by Rainer Tammer.
11512
11513 2010-07-30  Bruno Haible  <bruno@clisp.org>
11514
11515         symlink: Update regarding AIX.
11516         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
11517         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
11518         Reported by Rainer Tammer.
11519
11520 2010-07-30  Bruno Haible  <bruno@clisp.org>
11521
11522         strndup: Update regarding AIX.
11523         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
11524         AIX 7.
11525         Reported by Rainer Tammer.
11526
11527 2010-07-30  Bruno Haible  <bruno@clisp.org>
11528
11529         stat: Update regarding AIX.
11530         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
11531         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
11532         Reported by Rainer Tammer.
11533
11534 2010-07-30  Bruno Haible  <bruno@clisp.org>
11535
11536         truncl: Fix autoconf test.
11537         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
11538         whether truncl works.
11539         Reported by Rainer Tammer.
11540
11541 2010-07-30  Bruno Haible  <bruno@clisp.org>
11542
11543         round: Update regarding AIX.
11544         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
11545         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
11546         Reported by Rainer Tammer.
11547
11548 2010-07-30  Bruno Haible  <bruno@clisp.org>
11549
11550         rename: Update regarding AIX.
11551         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
11552         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
11553         Reported by Rainer Tammer.
11554
11555 2010-07-30  Bruno Haible  <bruno@clisp.org>
11556
11557         printf.m4: Update regarding AIX.
11558         * m4/printf.m4: Update comments regarding AIX.
11559         Reported by Rainer Tammer.
11560
11561 2010-07-30  Bruno Haible  <bruno@clisp.org>
11562
11563         iconv: Update regarding AIX.
11564         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
11565         AIX 7.
11566         Reported by Rainer Tammer.
11567
11568 2010-07-30  Bruno Haible  <bruno@clisp.org>
11569
11570         getopt: Update regarding AIX.
11571         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
11572         no on AIX.
11573         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
11574         Reported by Rainer Tammer.
11575
11576 2010-07-30  Bruno Haible  <bruno@clisp.org>
11577
11578         ldexpl; Update regarding AIX.
11579         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
11580         on AIX 7.
11581         Reported by Rainer Tammer.
11582
11583 2010-07-30  Bruno Haible  <bruno@clisp.org>
11584
11585         frexpl: Update regarding AIX.
11586         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
11587         on AIX 7.
11588         Reported by Rainer Tammer.
11589
11590 2010-07-30  Bruno Haible  <bruno@clisp.org>
11591
11592         open, fopen: Update regarding AIX.
11593         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
11594         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
11595         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
11596         * doc/posix-functions/fopen.texi: Likewise.
11597         Reported by Rainer Tammer.
11598
11599 2010-07-30  Bruno Haible  <bruno@clisp.org>
11600
11601         chown: Update doc regarding AIX.
11602         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
11603         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
11604         Reported by Rainer Tammer.
11605
11606 2010-07-30  Eric Blake  <eblake@redhat.com>
11607
11608         strtod: fix bug in replacement function on AIX
11609         * lib/strtod.c (strtod): Special case broken "0x" parse in
11610         underlying strtod.
11611         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
11612         * doc/posix-functions/strtod.texi (strtod): Likewise.
11613         Reported by Rainer Tammer.
11614
11615 2010-07-30  Bruno Haible  <bruno@clisp.org>
11616
11617         mbrlen: Fix cross-compilation guess for AIX.
11618         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
11619         guess. Leftover from 2008-12-22.
11620
11621 2010-07-30  Bruno Haible  <bruno@clisp.org>
11622
11623         mbrtowc: Fix cross-compilation guess for AIX.
11624         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
11625         guess. Leftover from 2008-12-21.
11626
11627 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
11628
11629         init.sh: work around trap limitation of some shells
11630         * tests/init.sh (setup_): Move exit trap outside of shell function.
11631
11632 2010-07-29  Eric Blake  <eblake@redhat.com>
11633
11634         strtod: aid debugging
11635         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
11636         understanding why strtod is rejected.
11637
11638 2010-07-28  Bruno Haible  <bruno@clisp.org>
11639
11640         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
11641         * lib/unistr/u8-chr.c: Include <string.h>.
11642         * tests/unistr/test-u8-chr.c: Likewise.
11643         * tests/unistr/test-u16-chr.c: Likewise.
11644         * tests/unistr/test-u32-chr.c: Likewise.
11645         * tests/unistr/test-u8-strchr.c: Likewise.
11646         * tests/unistr/test-u16-strchr.c: Likewise.
11647         * tests/unistr/test-u32-strchr.c: Likewise.
11648         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
11649         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
11650         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
11651         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
11652
11653 2010-07-28  Bruno Haible  <bruno@clisp.org>
11654
11655         Use spaces for indentation, not tabs.
11656         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
11657
11658 2010-07-27  Bruno Haible  <bruno@clisp.org>
11659
11660         mbspcasecmp: Fix function specification.
11661         * lib/string.in.h (mbspcasecmp): Fix specification comment.
11662         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
11663         Reported by Eric Blake <eblake@redhat.com>.
11664
11665 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
11666
11667         timespec: use cast and not conditional, as truncation isn't possible
11668         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
11669         instead of a conditional.  Comment about the situation in more detail.
11670         This undoes most of the 2009-10-29 patch.
11671
11672 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
11673
11674         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
11675         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
11676         * lib/unistr/u8-strchr.c: Likewise.
11677         * modules/unistr/u8-chr: Depend on memchr.
11678
11679         unistr/u*-strchr: add tests
11680         * modules/unistr/u8-strchr-tests: New file.
11681         * modules/unistr/u16-strchr-tests: New file.
11682         * modules/unistr/u32-strchr-tests: New file.
11683         * tests/unistr/test-strchr.h: New file.
11684         * tests/unistr/test-u8-strchr.c: New file.
11685         * tests/unistr/test-u16-strchr.c: New file.
11686         * tests/unistr/test-u32-strchr.c: New file.
11687
11688         unistr/u*-chr: test multibyte sequences more
11689         * tests/unistr/test-chr.h: Do complete testing of the characters in the
11690         test vector.
11691         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
11692         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
11693         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
11694
11695         unistr/u*-chr: test multibyte sequences
11696         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
11697
11698         unistr/u*-chr: prepare for multibyte tests
11699         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
11700         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
11701         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
11702         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
11703         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
11704         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
11705
11706 2010-07-18  Bruno Haible  <bruno@clisp.org>
11707
11708         unistr/u8-strchr: Optimize non-ASCII argument case.
11709         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
11710         because the first byte often matches anyway.
11711         Reported by Pádraig Brady <P@draigbrady.com>.
11712
11713 2010-07-15  Karl Berry  <karl@gnu.org>
11714
11715         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
11716
11717 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
11718
11719         getcwd: on Solaris, work better if ancestors are inaccessible
11720         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
11721         buffer and size, try again with a large buffer.  This works better
11722         on Solaris, since its getcwd succeeds even if the path to the root
11723         is inaccessible, and this is helpful in common cases such as .zfs
11724         hidden directories.  Problem reported by J Chapman Flack in
11725         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
11726         Use system getcwd if it's declared, not merely if it's partly
11727         working; use the partly-working test only to avoid needless effort
11728         if the system getcwd fails.
11729         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
11730         comment that was already obsolete and is now even more obsolete.
11731         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
11732         now might call strdup.
11733
11734 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
11735
11736         pthread: Add enough so that coreutils/src/sort.c compiles.
11737         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
11738         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
11739         gnulib. Include <sched.h> and <time.h>, as per POSIX.
11740         Include <sys/types.h>, in case it defines pthread_t.
11741         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
11742         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
11743         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
11744         (pthread_rwlockattr_t, pthread_spinlock_t):
11745         New typedefs, if HAVE_PTHREAD_T is not defined.
11746         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
11747         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
11748         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
11749         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
11750         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
11751         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
11752         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
11753         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
11754         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
11755         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
11756         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
11757         New macros.
11758         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
11759         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
11760         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
11761         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
11762         (pthread_spin_unlock): New dummy functions.
11763         (pthread_create): Return EAGAIN; don't set errno.
11764         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
11765         require AC_C_INLINE.
11766         * modules/pthread (Depends-on): Add sched, time.
11767         (pthread.h): Use AM_V_GEN.
11768
11769 2010-07-13  Bruno Haible  <bruno@clisp.org>
11770
11771         striconveh: Don't malloc memory if the result buffer is sufficient.
11772         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
11773         buffer if its size is sufficient.
11774         Reported by Ludovic Courtès <ludo@gnu.org>.
11775
11776 2010-07-13  Bruno Haible  <bruno@clisp.org>
11777
11778         strtod: Add safety check.
11779         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
11780
11781 2010-07-12  Bruno Haible  <bruno@clisp.org>
11782
11783         Unify tests that set gl_cv_func_ldexpl_no_libm.
11784         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
11785         gl_FUNC_LDEXPL.
11786         (gl_FUNC_LDEXPL): Invoke it.
11787         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
11788
11789 2010-07-12  Bruno Haible  <bruno@clisp.org>
11790
11791         Unify tests that set gl_cv_func_ldexp_no_libm.
11792         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
11793         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
11794         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
11795         (configure.ac): Simply invoke gl_FUNC_LDEXP.
11796         * modules/strtod (Files): Add m4/ldexp.m4.
11797
11798 2010-07-12  Bruno Haible  <bruno@clisp.org>
11799
11800         Unify tests that set gl_cv_func_frexpl_no_libm.
11801         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
11802         gl_FUNC_FREXPL_NO_LIBM.
11803         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
11804         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
11805
11806 2010-07-12  Bruno Haible  <bruno@clisp.org>
11807
11808         Unify tests that set gl_cv_func_frexp_no_libm.
11809         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
11810         gl_FUNC_FREXP_NO_LIBM.
11811         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
11812         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
11813
11814 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
11815
11816         memcoll: clarify sizes versus lengths, document better, and tweak perf
11817         * lib/memcoll.c (strcoll_loop, memcoll0):
11818         Improve quality of descriptive comments.  Name variables
11819         consistently as to whether they are lengths (which do not include
11820         terminating null) versus sizes (which do).
11821         * lib/xmemcoll.c (xmemcoll0): Likewise.
11822         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
11823         returned when s1size == 0; this is easier to compile and saves
11824         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
11825
11826 2010-07-12  Bruno Haible  <bruno@clisp.org>
11827
11828         Tests for module '_Exit'.
11829         * modules/_Exit-tests: New file.
11830         * tests/test-_Exit.sh: New file.
11831         * tests/test-_Exit.c: New file.
11832
11833         New module '_Exit'.
11834         * lib/stdlib.in.h (__attribute__): New macro.
11835         (_Exit): New declaration.
11836         * lib/_Exit.c: New file.
11837         * m4/_Exit.m4: New file.
11838         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
11839         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
11840         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
11841         * modules/_Exit: New file.
11842         * tests/test-stdlib-c++.cc (_Exit): Check signature.
11843         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
11844
11845 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
11846
11847         strtod: make it more-accurate typically, and don't require libm
11848         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
11849         Include limits.h.  Don't include string.h.
11850         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
11851         (locale_isspace): New function, so that no casts are needed to
11852         check whether *s is a space.
11853         (ldexp): Provide an unused dummy if not available.
11854         (scale_radix_exp, parse_number, underlying_strtod): New functions.
11855         (strtod): Use them.  This implementation prefers to use the
11856         underlying strtod if available, falling back on our own code
11857         only to fix known bugs.  This is more likely to produce an
11858         accurate result.  Also, it avoids the use of libm functions.
11859         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
11860         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
11861         was absent, but it caused a test failure with coreutils.
11862         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
11863         with libm.
11864         * modules/strtod (Makefile.am, Link): libm is no longer needed.
11865         * modules/strtod-tests (Makefile.am): Likewise.
11866
11867 2010-07-11  Pádraig Brady  <P@draigBrady.com>
11868             Bruno Haible  <bruno@clisp.org>
11869
11870         unistr/u8-strchr: Optimize ASCII argument case.
11871         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
11872
11873 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
11874
11875         (x)memcoll: minor tweaks
11876         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
11877         is after the type that it qualifies.
11878         (memcoll0): Likewise.
11879         * lib/memcoll.h (memcoll0): Likewise.
11880         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
11881         * lib/xmemcoll.h (xmemcoll0): Likewise.
11882         * lib/memcoll.c (memcoll0): Correct the comment.  This function
11883         differs from memcoll in that the NUL byte is part of the argument.
11884         Omit the abort-checks, as performance is a real issue here.  Plus,
11885         the checks were wrong anyway (an off-by-one error).  Omit local
11886         variable 'diff', as it's a bit clearer that way.
11887         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
11888         no longer needed.
11889
11890 2010-07-08  Chen Guo <chenguo4@yahoo.com>
11891
11892         (x)memcoll: speedup when input is known to be NUL delimited
11893         * lib/memcoll.c: Include stdlib.
11894         (memcoll0): New function.
11895         (strcoll_loop): New function, refactored for use in both memcoll
11896         and memcoll0.
11897         * lib/memcoll.h (memcoll0): Add prototype.
11898         * lib/xmemcoll.c (xmemcoll0): New function.
11899         (collate_error): New function, refactored for use in both xmemcoll
11900         and xmemcoll0.
11901         * lib/xmemcoll.h (xmemcoll0): Add prototype.
11902         * m4/memcoll.m4: add inline invocation.
11903
11904 2010-07-06  Pádraig Brady  <P@draigBrady.com>
11905
11906         * build-aux/bootstrap: Remove any local translations
11907         from the translation project synchronization directory,
11908         so that local only translations are not distributed.
11909
11910 2010-07-04  Bruno Haible  <bruno@clisp.org>
11911
11912         fsusage: Clarify which code applies to which platforms.
11913         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
11914         platform.
11915         * lib/fsusage.c (get_fs_usage): Likewise.
11916
11917 2010-07-04  Bruno Haible  <bruno@clisp.org>
11918
11919         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
11920         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
11921         Reported by Martin Lambers <marlam@marlam.de>.
11922
11923 2010-07-04  Jim Meyering  <meyering@redhat.com>
11924
11925         hash: once again explicitly disallow insertion of NULL
11926         * lib/hash.c (hash_insert0): Reinstate just-removed test:
11927         inserting a NULL pointer cannot work with these functions.
11928         Add a comment with details.
11929         This reverts part of the 2010-07-01 commit, 5bef1a35
11930         "hash: extend module to deal with non-pointer keys".
11931
11932 2010-07-01  Bruno Haible  <bruno@clisp.org>
11933
11934         stdbool: Update doc.
11935         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
11936         Info from Christian Weisgerber <naddy@mips.inka.de>.
11937
11938 2010-07-01  Jim Meyering  <meyering@redhat.com>
11939
11940         hash: extend module to deal with non-pointer keys
11941         * lib/hash.c (hash_insert0): New interface, much like hash_insert
11942         but that allows insertion of non-pointer entries.
11943         Do not disallow an ENTRY value of NULL.
11944         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
11945         * lib/hash.h (hash_insert0): Declare.
11946
11947 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
11948
11949         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
11950         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
11951         not present (i.e. with autoconf 2.59 and when using gettextize, not
11952         gnulib), require AC_GNU_SOURCE instead.
11953
11954 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
11955
11956         idpriv-drop: Fix tests.
11957         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
11958         not to the test-idpriv-droptemp program.
11959
11960 2010-06-29  Bruno Haible  <bruno@clisp.org>
11961
11962         string: Fix syntax error with g++ 2.96.
11963         * lib/string.in.h (__pure__): Remove definition.
11964         (_GL_ATTRIBUTE_PURE): New macro.
11965         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
11966         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
11967         Reported by Christian Weisgerber <naddy@mips.inka.de>.
11968
11969 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
11970
11971         unitypes: Fix bug introduced on 2010-05-18.
11972         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
11973
11974 2010-06-22  Eric Blake  <eblake@redhat.com>
11975
11976         memmem: slight optimization
11977         * lib/str-two-way.h (critical_factorization): Update comments.
11978         Reduce work during factorization phase.
11979         Reported by Carlos Bueno <carlos@bueno.org>.
11980
11981 2010-06-21  Bruno Haible  <bruno@clisp.org>
11982
11983         Fix HAVE_CALLOC_POSIX misnomer.
11984         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
11985         !HAVE_CALLOC_POSIX.
11986         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
11987         HAVE_CALLOC_POSIX.
11988         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
11989         instead of HAVE_CALLOC_POSIX.
11990         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
11991         HAVE_CALLOC_POSIX.
11992
11993         Use modern idiom for calloc() replacement.
11994         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
11995         AC_FUNC_CALLOC.
11996         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
11997         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
11998         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
11999         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
12000         (gl_REPLACE_CALLOC): New macro.
12001
12002 2010-06-21  Bruno Haible  <bruno@clisp.org>
12003
12004         Fix HAVE_REALLOC_POSIX misnomer.
12005         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
12006         !HAVE_REALLOC_POSIX.
12007         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
12008         HAVE_REALLOC_POSIX.
12009         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
12010         instead of HAVE_REALLOC_POSIX.
12011         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
12012         HAVE_REALLOC_POSIX.
12013
12014         Use modern idiom for realloc() replacement.
12015         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
12016         AC_FUNC_REALLOC.
12017         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
12018         Autoconf's AC_FUNC_REALLOC.
12019         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
12020         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
12021         (gl_REPLACE_REALLOC): New macro.
12022         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
12023
12024 2010-06-21  Bruno Haible  <bruno@clisp.org>
12025
12026         Fix HAVE_MALLOC_POSIX misnomer.
12027         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
12028         !HAVE_MALLOC_POSIX.
12029         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
12030         HAVE_MALLOC_POSIX.
12031         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
12032         instead of HAVE_MALLOC_POSIX.
12033         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
12034         HAVE_MALLOC_POSIX.
12035
12036         Use modern idiom for malloc() replacement.
12037         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
12038         AC_FUNC_MALLOC.
12039         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
12040         Autoconf's AC_FUNC_MALLOC.
12041         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
12042         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
12043         (gl_REPLACE_MALLOC): New macro.
12044         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
12045
12046 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
12047
12048         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
12049         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
12050         This macro takes 3 arguments, not 4.
12051
12052 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
12053
12054         ipv6: fix detection under mingw
12055         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
12056         in6_addr.
12057
12058 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
12059
12060         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
12061         that strtod() works when cross-compiling to a glibc version known
12062         to work.
12063
12064 2010-06-15  Bruno Haible  <bruno@clisp.org>
12065
12066         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
12067
12068 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
12069
12070         select: Correct timeout.
12071         * lib/select.c (rpl_select): Compute wait_timeout correctly.
12072
12073 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
12074
12075         git-version-gen: init shell var to avoid env var influence
12076         * build-aux/git-version-gen (v): Init shell var to empty.
12077
12078 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
12079
12080         priv-set: Don't assume that priv.h exists merely because getppriv does.
12081         See Jan Andersen's bug report about AIX 5L in
12082         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
12083         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
12084         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
12085         * lib/priv-set.h: Likewise.
12086         * tests/test-priv-set.c: Likewise.
12087
12088 2010-06-13  Bruno Haible  <bruno@clisp.org>
12089
12090         relocatable: Make it easier to test whether to install wrappers.
12091         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
12092         RELOCATABLE_VIA_WRAPPER.
12093
12094 2010-06-13  Bruno Haible  <bruno@clisp.org>
12095
12096         gnulib-tool: Display specified modules and dependencies differently.
12097         * gnulib-tool (func_show_module_list): New function.
12098         (func_import, func_create_testdir): Invoke it.
12099         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
12100
12101 2010-06-13  Bruno Haible  <bruno@clisp.org>
12102
12103         gnulib-tool: Align code of func_import and func_create_testdir.
12104         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
12105         specified_modules.
12106
12107 2010-06-12  Jim Meyering  <meyering@redhat.com>
12108
12109         test-inttostr: avoid spurious failure on Solaris 9
12110         * tests/test-inttostr.c (main): Skip the test when snprintf fails
12111         to accept "%ju".  Reported by Bruno Haible.
12112
12113 2010-06-11  Jim Meyering  <meyering@redhat.com>
12114
12115         test-sys_socket: mark variables as used more readably
12116         * tests/test-sys_socket.c (main): Mark otherwise unused variables
12117         as "used" explicitly via (void) statement casts.  This is more
12118         readable than using them in an artificial return expression.
12119         Suggestion from Bruno Haible.
12120
12121 2010-06-11  Bruno Haible  <bruno@clisp.org>
12122
12123         Avoid some more warnings from "gcc -Wwrite-strings".
12124         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
12125         to 'const char *'.
12126         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
12127         * tests/test-c-strcasestr.c (main): Likewise.
12128         * tests/test-mbscasestr1.c (main): Likewise.
12129         * tests/test-mbscasestr2.c (main): Likewise.
12130         * tests/test-memmem.c (main): Likewise.
12131         * tests/test-strstr.c (main): Likewise.
12132         * tests/test-strcasestr.c (main): Likewise.
12133
12134 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12135
12136         init.sh: change framework_failure_ to fail with status 99, not 1
12137         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
12138         automake's parallel-tests rule that this is an unexpected failure,
12139         even if the test is listed in XFAIL_TESTS.
12140
12141 2010-06-11  Jim Meyering  <meyering@redhat.com>
12142
12143         test-inttostr: avoid warnings about 4-6KB literal strings
12144         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
12145         Include "macros.h", for its definition of ASSERT.
12146         (CK): s/assert/ASSERT/
12147         * modules/inttostr-tests (Files): Add macros.h.
12148
12149         init.sh: don't use $ME_ or skip_ before they are defined
12150         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
12151         their first uses.  Also hoist their companions: warn_, fail_,
12152         framework_failure_, $stderr_fileno.  Prompted by a patch from
12153         Stefano Lattarini.
12154
12155         test-sys_socket: avoid set-but-not-used warnings from gcc
12156         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
12157         avoid warning about set-but-not-used variables.
12158
12159         test-xvasprintf: avoid 'const' discard warnings
12160         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
12161         "const" when assigning from literal strings.
12162         (test_xasprintf): Add "void" in function argument list to placate
12163         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
12164
12165         tests: avoid compilation warnings in argmatch and exclude tests...
12166         in packages that define ARGMATCH_DIE_DECL, like coreutils.
12167         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
12168         Since it always exits, declare with the "noreturn" attribute.
12169         * tests/test-argmatch.c: Likewise.
12170
12171         tests: avoid 'const' discard warnings in mbsstr tests
12172         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
12173         * tests/test-mbsstr2.c (main): Likewise.
12174
12175         test-verify: avoid warning from gcc's -Wmissing-declarations
12176         * tests/test-verify.c (function): Declare to be static.
12177
12178         test-inttostr.c: include <string.h> for use of strcmp
12179         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
12180
12181         test-linkat: avoid failed assertion on "other" architectures
12182         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
12183         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
12184         sparc: https://bugs.launchpad.net/bugs/591968
12185
12186 2010-06-11  Jim Meyering  <meyering@redhat.com>
12187
12188         printf.m4: avoid autoconf's "Expanded Before Required" warning
12189         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
12190         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
12191         autoconf warning.
12192
12193 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
12194
12195         Replacement header templates are now named with ".in", not "_".
12196         * doc/gnulib-intro.texi: Correct.
12197
12198 2010-06-10  Jim Meyering  <meyering@redhat.com>
12199
12200         inttostr-tests: depend on snprintf, not snprintf-posix
12201         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
12202         snprintf-posix, to avoid this aclocal failure:
12203           missing file gnulib-tests/vasnprintf.c
12204           configure.ac:45: error: expected source file, required through \
12205           AC_LIBSOURCES, not found
12206
12207 2010-06-10  Jim Meyering  <meyering@redhat.com>
12208
12209         inttostr: add a new function, inttostr, and tests
12210         The namesake function was not available.  The existence of the
12211         template file, inttostr.c makes its addition nontrivial.
12212         * lib/anytostr.c: Rename from inttostr.c.
12213         (anytostr): Rename from inttostr.
12214         * lib/inttostr.c: New file.
12215         * modules/inttostr (Files): Add anytostr.c.
12216         (Makefile.am): Set lib_SOURCES instead of ...
12217         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
12218         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
12219         * lib/offtostr.c: Likewise.
12220         * lib/uinttostr.c: Likewise.
12221         * lib/umaxtostr.c: Likewise.
12222         * modules/inttostr-tests: New file.
12223         * tests/test-inttostr.c: New file.  Test these functions.
12224
12225 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
12226             Bruno Haible  <bruno@clisp.org>
12227
12228         Add "Extending Gnulib" chapter to manual.
12229         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
12230         chapter.
12231         (Extending Gnulib): New chapter.
12232         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
12233         chapter.
12234
12235 2010-06-09  Bruno Haible  <bruno@clisp.org>
12236
12237         Avoid relocwrapper link errors due to gnulib replacement functions.
12238         * lib/areadlink.c: Use the system's malloc, realloc functions.
12239         (areadlink): Set errno to ENOMEM explicitly.
12240         * modules/areadlink (Depends-on): Remove malloc-posix.
12241         Reported by Ben Pfaff <blp@cs.stanford.edu>.
12242
12243 2010-06-09  Bruno Haible  <bruno@clisp.org>
12244
12245         Avoid relocwrapper link errors due to gnulib replacement functions.
12246         * lib/canonicalize-lgpl.c: Use the system's malloc function.
12247         * lib/malloca.c: Likewise.
12248         * lib/relocatable.c: Likewise.
12249         * lib/progreloc.c: Use the system's malloc, sprintf functions.
12250         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
12251         * lib/setenv.c: Use the system's malloc, realloc functions.
12252         * lib/strerror.c: Use the system's sprintf function.
12253         Reported by Ben Pfaff <blp@cs.stanford.edu>.
12254
12255 2010-06-04  Bruno Haible  <bruno@clisp.org>
12256
12257         Prefer documented low-level autoconf macro names.
12258         * m4/lib-link.m4: Use m4_translit instead of translit.
12259         * m4/environ.m4: Likewise.
12260         * m4/mathfunc.m4: Likewise.
12261         * m4/onceonly.m4: Likewise.
12262         * m4/stdint.m4: Likewise.
12263         Suggested by Eric Blake.
12264
12265 2010-06-04  Martin Lambers  <marlam@marlam.de>
12266             Bruno Haible  <bruno@clisp.org>
12267
12268         havelib: Allow library names with '+' characters.
12269         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
12270         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
12271
12272 2010-06-09  Bruno Haible  <bruno@clisp.org>
12273
12274         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
12275         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
12276         realloc failed.
12277
12278 2010-06-08  Peter Simons  <simons@cryp.to>
12279
12280         maint.mk: make the news-check rule more configurable
12281         * top/maint.mk (news-check-lines-spec): New variable.
12282         (news-check): Use "sed -n 1,10p" in place of "head".
12283
12284 2010-06-07  Jim Meyering  <meyering@redhat.com>
12285
12286         do-release-commit-and-tag: fix typo in --help
12287         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
12288
12289         regex: avoid new dead-code warning with gcc-4.6.0
12290         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
12291         if-block containing a while-loop.  It's been unused for at least
12292         5 years.
12293
12294 2010-06-05  Bruno Haible  <bruno@clisp.org>
12295
12296         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
12297         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
12298
12299 2010-06-04  Bruno Haible  <bruno@clisp.org>
12300
12301         Update to GNU gettext 0.18.1.
12302         * modules/gettext (configure.ac): Require gettext infrastructure from
12303         version 0.18.1.
12304
12305 2010-06-03  Bruno Haible  <bruno@clisp.org>
12306
12307         Don't use AC_LIBOBJ with file names in subdirectories.
12308         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
12309         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
12310         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
12311         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
12312         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
12313         gl_LIBUNISTRING_LIBSOURCE.
12314         (Makefile.am): Augment lib_SOURCES here, conditionally.
12315         * NEWS: Drop requirement for Automake option 'subdir-objects'.
12316
12317 2010-06-03  Bruno Haible  <bruno@clisp.org>
12318
12319         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
12320         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
12321         expansion does not end with a newline.
12322         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
12323         unnecessary newline.
12324
12325 2010-06-03  Bruno Haible  <bruno@clisp.org>
12326
12327         Reduce dependencies.
12328         * tests/test-quotearg.h: New file, extracted from
12329         tests/test-quotearg.c.
12330         * tests/test-quotearg-simple.c: New file, extracted from
12331         tests/test-quotearg.c.
12332         * tests/test-quotearg.c: Don't include <ctype.h>.
12333         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
12334         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
12335         use_quote_double_quotes, use_quotearg_colon): Moved to
12336         tests/test-quotearg.h.
12337         (results_g, flag_results, custom_quotes, custom_results): Moved
12338         to tests/test-quotearg-simple.c.
12339         (main): Moved the part that does not depend on gettext to
12340         tests/test-quotearg-simple.c. Return 77 if the test cannot be
12341         performed.
12342         * modules/quotearg-simple: New file.
12343         * modules/quotearg-simple-tests: New file.
12344         * modules/quotearg (Depends-on): Add quotearg-simple.
12345         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
12346         (Files): Add tests/test-quotearg.h.
12347         Reported by Paolo Bonzini.
12348
12349 2010-06-03  Bruno Haible  <bruno@clisp.org>
12350
12351         Reduce dependencies.
12352         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
12353
12354 2010-06-03  Bruno Haible  <bruno@clisp.org>
12355
12356         time: Undefine more broken macros.
12357         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
12358         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
12359         Reported by Eric Blake.
12360
12361 2010-06-03  Bruno Haible  <bruno@clisp.org>
12362
12363         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
12364         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
12365         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
12366         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
12367         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
12368         Reported by Ludovic Courtès <ludo@gnu.org>.
12369
12370 2010-06-02  Eric Blake  <eblake@redhat.com>
12371
12372         time: work with mingw + pthreads-win32 library
12373         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
12374         if timespec is defined only in pthread.h.
12375         * modules/time (Makefile.am): Substitute it.
12376         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
12377         <pthread.h>, when needed.
12378         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
12379         from the library.
12380
12381 2010-05-31  Bruno Haible  <bruno@clisp.org>
12382
12383         Avoid expanding two macros in the wrong order.
12384         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
12385         gl_LIBUNISTRING if it is defined.
12386         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
12387         autoconf >= 2.64.
12388         Reported by Ludovic Courtès <ludo@gnu.org>.
12389
12390 2010-05-27  Jim Meyering  <meyering@redhat.com>
12391
12392         maint.mk: also prohibit "#undef" of always-defined symbols
12393         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
12394         Allow more than one space before the symbol name.
12395         (sc_prohibit_always-defined_macros): Use grep's -E, now that
12396         the regexp uses alternation.
12397
12398 2010-05-26  Eric Blake  <eblake@redhat.com>
12399
12400         maint.mk: avoid echo -e
12401         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
12402         Convert all uses of echo -* to printf.
12403         Reported by Matthias Bolte.
12404
12405 2010-05-25  Bruno Haible  <bruno@clisp.org>
12406
12407         Update to GNU gettext 0.18, part 2.
12408         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
12409         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
12410
12411 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12412
12413         Add missing include in test-pwrite.c.
12414         * tests/test-pwrite.c: Include string.h, for strcmp.
12415
12416 2010-05-24  Bruno Haible  <bruno@clisp.org>
12417
12418         * NEWS: Mention requirement for Automake option 'subdir-objects'.
12419
12420 2010-05-24  Bruno Haible  <bruno@clisp.org>
12421
12422         Don't use conversion with transliteration in u{8,16,32}_strcoll.
12423         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
12424         iconveh_error argument.
12425         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
12426         U_STRCONV_TO_LOCALE.
12427         * lib/unistr/u16-strcoll.c: Likewise.
12428         * lib/unistr/u32-strcoll.c: Likewise.
12429         * modules/unistr/u8-strcoll (Depends-on): Add
12430         uniconv/u8-strconv-to-enc, localcharset. Remove
12431         uniconv/u8-strconv-to-locale.
12432         (configure.ac): Bump version number.
12433         * modules/unistr/u16-strcoll (Depends-on): Add
12434         uniconv/u16-strconv-to-enc, localcharset. Remove
12435         uniconv/u16-strconv-to-locale.
12436         (configure.ac): Bump version number.
12437         * modules/unistr/u32-strcoll (Depends-on): Add
12438         uniconv/u32-strconv-to-enc, localcharset. Remove
12439         uniconv/u32-strconv-to-locale.
12440         (configure.ac): Bump version number.
12441
12442 2010-05-24  Bruno Haible  <bruno@clisp.org>
12443
12444         Avoid a test failure on NetBSD 5.0.
12445         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
12446         an iconv() bug.
12447
12448 2010-05-24  Bruno Haible  <bruno@clisp.org>
12449
12450         Adjust #include directive style.
12451         * modules/regex (Includes): Recommend to write <regex.h>.
12452
12453 2010-05-24  Bruno Haible  <bruno@clisp.org>
12454
12455         regex: Don't require alloca.
12456         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
12457         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
12458         only inside if (0).
12459
12460 2010-05-23  Jim Meyering  <meyering@redhat.com>
12461
12462         test-renameat.c: include <sys/stat.h>
12463         * tests/test-renameat.c: Include <sys/stat.h>; required for
12464         definition of S_IS* macros.
12465
12466 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
12467
12468         Update maintainer documentation for 'relocatable-prog' module.
12469         * doc/relocatable-maint.texi: Update.
12470         Comments by Bruno Haible.
12471
12472 2010-05-23  Bruno Haible  <bruno@clisp.org>
12473
12474         git-merge-changelog: Enable --split-merged-entry by default.
12475         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
12476         (usage): Don't mention this option any more.
12477         Reported by Ralf Wildenhues.
12478
12479 2010-05-23  Jim Meyering  <meyering@redhat.com>
12480
12481         test-pwrite: do not leave behind a test file named "out"
12482         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
12483         The trivial-looking use of init.sh is really necessary.
12484         It ensures that the temporary file, "out", is created in
12485         a temporary directory, and removed upon termination.
12486         * tests/test-pwrite.sh: Re-add file.
12487         * modules/pwrite-tests: Reference it.
12488
12489 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12490
12491         Fix output redirection buglet in init.sh.
12492         * tests/init.sh: Fix redirection of stderr.
12493
12494 2010-05-20  Simon Josefsson  <simon@josefsson.org>
12495
12496         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
12497
12498 2010-05-17  Simon Josefsson  <simon@josefsson.org>
12499
12500         * modules/valgrind-tests: New file.
12501         * m4/valgrind-tests.m4: New file.
12502         * doc/valgrind-tests.texi: New file.
12503         * doc/gnulib.texi (Running self-tests under valgrind): New
12504         section.
12505
12506 2010-05-19  Bruno Haible  <bruno@clisp.org>
12507
12508         Clean up dead code in recent commit.
12509         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
12510         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
12511         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
12512         Suggested by Paolo Bonzini.
12513
12514 2010-05-19  Bruno Haible  <bruno@clisp.org>
12515
12516         Avoid valgrind error reports from libunistring.
12517         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
12518         * modules/libunistring (Files): Add it.
12519         * modules/libunistring-optional (Files): Likewise.
12520
12521 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
12522             Bruno Haible  <bruno@clisp.org>
12523
12524         New module 'libunistring-optional'.
12525         * modules/libunistring-optional: New file.
12526         * m4/libunistring-base.m4: New file.
12527         * m4/libunistring-optional.m4: New file.
12528         * lib/unicase.in.h: Renamed from lib/unicase.h.
12529         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
12530         * lib/unictype.in.h: Renamed from lib/unictype.h.
12531         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
12532         * lib/uniname.in.h: Renamed from lib/uniname.h.
12533         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
12534         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
12535         * lib/unistr.in.h: Renamed from lib/unistr.h.
12536         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
12537         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
12538         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
12539         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
12540         gl_LIBUNISTRING. If the library was found, determine the installed
12541         version and set LIBUNISTRING_VERSION.
12542         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
12543         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
12544         handle a configuration option --with-included-libunistring.
12545         * modules/libunistring (Files): Add m4/absolute-header.m4.
12546         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
12547         Add m4/libunistring-base.m4.
12548         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12549         (Makefile.am): Build unicase.h from unicase.in.h.
12550         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
12551         Add m4/libunistring-base.m4.
12552         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12553         (Makefile.am): Build uniconv.h from uniconv.in.h.
12554         * modules/unictype/base (Files): Use unictype.in.h instead of
12555         unictype.h. Add m4/libunistring-base.m4.
12556         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12557         (Makefile.am): Build unictype.h from unictype.in.h.
12558         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
12559         Add m4/libunistring-base.m4.
12560         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12561         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
12562         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
12563         Add m4/libunistring-base.m4.
12564         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12565         (Makefile.am): Build uniname.h from uniname.in.h.
12566         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
12567         Add m4/libunistring-base.m4.
12568         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12569         (Makefile.am): Build uninorm.h from uninorm.in.h.
12570         * modules/unistdio/base (Files): Use unistdio.in.h instead of
12571         unistdio.h. Add m4/libunistring-base.m4.
12572         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12573         (Makefile.am): Build unistdio.h from unistdio.in.h.
12574         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
12575         Add m4/libunistring-base.m4.
12576         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12577         (Makefile.am): Build unistr.h from unistr.in.h.
12578         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
12579         Add m4/libunistring-base.m4.
12580         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12581         (Makefile.am): Build unitypes.h from unitypes.in.h.
12582         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
12583         Add m4/libunistring-base.m4.
12584         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12585         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
12586         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
12587         uniwidth.h. Add m4/libunistring-base.m4.
12588         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
12589         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
12590         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
12591         instead of augmenting lib_SOURCES.
12592         * modules/unicase/empty-suffix-context: Likewise.
12593         * modules/unicase/locale-language: Likewise.
12594         * modules/unicase/tolower: Likewise.
12595         * modules/unicase/totitle: Likewise.
12596         * modules/unicase/toupper: Likewise.
12597         * modules/unicase/u8-casecmp: Likewise.
12598         * modules/unicase/u8-casecoll: Likewise.
12599         * modules/unicase/u8-casefold: Likewise.
12600         * modules/unicase/u8-casexfrm: Likewise.
12601         * modules/unicase/u8-ct-casefold: Likewise.
12602         * modules/unicase/u8-ct-tolower: Likewise.
12603         * modules/unicase/u8-ct-totitle: Likewise.
12604         * modules/unicase/u8-ct-toupper: Likewise.
12605         * modules/unicase/u8-is-cased: Likewise.
12606         * modules/unicase/u8-is-casefolded: Likewise.
12607         * modules/unicase/u8-is-lowercase: Likewise.
12608         * modules/unicase/u8-is-titlecase: Likewise.
12609         * modules/unicase/u8-is-uppercase: Likewise.
12610         * modules/unicase/u8-prefix-context: Likewise.
12611         * modules/unicase/u8-suffix-context: Likewise.
12612         * modules/unicase/u8-tolower: Likewise.
12613         * modules/unicase/u8-totitle: Likewise.
12614         * modules/unicase/u8-toupper: Likewise.
12615         * modules/unicase/u16-casecmp: Likewise.
12616         * modules/unicase/u16-casecoll: Likewise.
12617         * modules/unicase/u16-casefold: Likewise.
12618         * modules/unicase/u16-casexfrm: Likewise.
12619         * modules/unicase/u16-ct-casefold: Likewise.
12620         * modules/unicase/u16-ct-tolower: Likewise.
12621         * modules/unicase/u16-ct-totitle: Likewise.
12622         * modules/unicase/u16-ct-toupper: Likewise.
12623         * modules/unicase/u16-is-cased: Likewise.
12624         * modules/unicase/u16-is-casefolded: Likewise.
12625         * modules/unicase/u16-is-lowercase: Likewise.
12626         * modules/unicase/u16-is-titlecase: Likewise.
12627         * modules/unicase/u16-is-uppercase: Likewise.
12628         * modules/unicase/u16-prefix-context: Likewise.
12629         * modules/unicase/u16-suffix-context: Likewise.
12630         * modules/unicase/u16-tolower: Likewise.
12631         * modules/unicase/u16-totitle: Likewise.
12632         * modules/unicase/u16-toupper: Likewise.
12633         * modules/unicase/u32-casecmp: Likewise.
12634         * modules/unicase/u32-casecoll: Likewise.
12635         * modules/unicase/u32-casefold: Likewise.
12636         * modules/unicase/u32-casexfrm: Likewise.
12637         * modules/unicase/u32-ct-casefold: Likewise.
12638         * modules/unicase/u32-ct-tolower: Likewise.
12639         * modules/unicase/u32-ct-totitle: Likewise.
12640         * modules/unicase/u32-ct-toupper: Likewise.
12641         * modules/unicase/u32-is-cased: Likewise.
12642         * modules/unicase/u32-is-casefolded: Likewise.
12643         * modules/unicase/u32-is-lowercase: Likewise.
12644         * modules/unicase/u32-is-titlecase: Likewise.
12645         * modules/unicase/u32-is-uppercase: Likewise.
12646         * modules/unicase/u32-prefix-context: Likewise.
12647         * modules/unicase/u32-suffix-context: Likewise.
12648         * modules/unicase/u32-tolower: Likewise.
12649         * modules/unicase/u32-totitle: Likewise.
12650         * modules/unicase/u32-toupper: Likewise.
12651         * modules/unicase/ulc-casecmp: Likewise.
12652         * modules/unicase/ulc-casecoll: Likewise.
12653         * modules/unicase/ulc-casexfrm: Likewise.
12654         * modules/uniconv/u8-conv-from-enc: Likewise.
12655         * modules/uniconv/u8-conv-to-enc: Likewise.
12656         * modules/uniconv/u8-strconv-from-enc: Likewise.
12657         * modules/uniconv/u8-strconv-from-locale: Likewise.
12658         * modules/uniconv/u8-strconv-to-enc: Likewise.
12659         * modules/uniconv/u8-strconv-to-locale: Likewise.
12660         * modules/uniconv/u16-conv-from-enc: Likewise.
12661         * modules/uniconv/u16-conv-to-enc: Likewise.
12662         * modules/uniconv/u16-strconv-from-enc: Likewise.
12663         * modules/uniconv/u16-strconv-from-locale: Likewise.
12664         * modules/uniconv/u16-strconv-to-enc: Likewise.
12665         * modules/uniconv/u16-strconv-to-locale: Likewise.
12666         * modules/uniconv/u32-conv-from-enc: Likewise.
12667         * modules/uniconv/u32-conv-to-enc: Likewise.
12668         * modules/uniconv/u32-strconv-from-enc: Likewise.
12669         * modules/uniconv/u32-strconv-from-locale: Likewise.
12670         * modules/uniconv/u32-strconv-to-enc: Likewise.
12671         * modules/uniconv/u32-strconv-to-locale: Likewise.
12672         * modules/unictype/bidicategory-byname: Likewise.
12673         * modules/unictype/bidicategory-name: Likewise.
12674         * modules/unictype/bidicategory-of: Likewise.
12675         * modules/unictype/bidicategory-test: Likewise.
12676         * modules/unictype/block-list: Likewise.
12677         * modules/unictype/block-test: Likewise.
12678         * modules/unictype/category-C: Likewise.
12679         * modules/unictype/category-Cc: Likewise.
12680         * modules/unictype/category-Cf: Likewise.
12681         * modules/unictype/category-Cn: Likewise.
12682         * modules/unictype/category-Co: Likewise.
12683         * modules/unictype/category-Cs: Likewise.
12684         * modules/unictype/category-L: Likewise.
12685         * modules/unictype/category-Ll: Likewise.
12686         * modules/unictype/category-Lm: Likewise.
12687         * modules/unictype/category-Lo: Likewise.
12688         * modules/unictype/category-Lt: Likewise.
12689         * modules/unictype/category-Lu: Likewise.
12690         * modules/unictype/category-M: Likewise.
12691         * modules/unictype/category-Mc: Likewise.
12692         * modules/unictype/category-Me: Likewise.
12693         * modules/unictype/category-Mn: Likewise.
12694         * modules/unictype/category-N: Likewise.
12695         * modules/unictype/category-Nd: Likewise.
12696         * modules/unictype/category-Nl: Likewise.
12697         * modules/unictype/category-No: Likewise.
12698         * modules/unictype/category-P: Likewise.
12699         * modules/unictype/category-Pc: Likewise.
12700         * modules/unictype/category-Pd: Likewise.
12701         * modules/unictype/category-Pe: Likewise.
12702         * modules/unictype/category-Pf: Likewise.
12703         * modules/unictype/category-Pi: Likewise.
12704         * modules/unictype/category-Po: Likewise.
12705         * modules/unictype/category-Ps: Likewise.
12706         * modules/unictype/category-S: Likewise.
12707         * modules/unictype/category-Sc: Likewise.
12708         * modules/unictype/category-Sk: Likewise.
12709         * modules/unictype/category-Sm: Likewise.
12710         * modules/unictype/category-So: Likewise.
12711         * modules/unictype/category-Z: Likewise.
12712         * modules/unictype/category-Zl: Likewise.
12713         * modules/unictype/category-Zp: Likewise.
12714         * modules/unictype/category-Zs: Likewise.
12715         * modules/unictype/category-and: Likewise.
12716         * modules/unictype/category-and-not: Likewise.
12717         * modules/unictype/category-byname: Likewise.
12718         * modules/unictype/category-name: Likewise.
12719         * modules/unictype/category-none: Likewise.
12720         * modules/unictype/category-of: Likewise.
12721         * modules/unictype/category-or: Likewise.
12722         * modules/unictype/category-test: Likewise.
12723         * modules/unictype/combining-class: Likewise.
12724         * modules/unictype/ctype-alnum: Likewise.
12725         * modules/unictype/ctype-alpha: Likewise.
12726         * modules/unictype/ctype-blank: Likewise.
12727         * modules/unictype/ctype-cntrl: Likewise.
12728         * modules/unictype/ctype-digit: Likewise.
12729         * modules/unictype/ctype-graph: Likewise.
12730         * modules/unictype/ctype-lower: Likewise.
12731         * modules/unictype/ctype-print: Likewise.
12732         * modules/unictype/ctype-punct: Likewise.
12733         * modules/unictype/ctype-space: Likewise.
12734         * modules/unictype/ctype-upper: Likewise.
12735         * modules/unictype/ctype-xdigit: Likewise.
12736         * modules/unictype/decimal-digit: Likewise.
12737         * modules/unictype/digit: Likewise.
12738         * modules/unictype/mirror: Likewise.
12739         * modules/unictype/numeric: Likewise.
12740         * modules/unictype/property-alphabetic: Likewise.
12741         * modules/unictype/property-ascii-hex-digit: Likewise.
12742         * modules/unictype/property-bidi-arabic-digit: Likewise.
12743         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
12744         * modules/unictype/property-bidi-block-separator: Likewise.
12745         * modules/unictype/property-bidi-boundary-neutral: Likewise.
12746         * modules/unictype/property-bidi-common-separator: Likewise.
12747         * modules/unictype/property-bidi-control: Likewise.
12748         * modules/unictype/property-bidi-embedding-or-override: Likewise.
12749         * modules/unictype/property-bidi-eur-num-separator: Likewise.
12750         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
12751         * modules/unictype/property-bidi-european-digit: Likewise.
12752         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
12753         * modules/unictype/property-bidi-left-to-right: Likewise.
12754         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
12755         * modules/unictype/property-bidi-other-neutral: Likewise.
12756         * modules/unictype/property-bidi-pdf: Likewise.
12757         * modules/unictype/property-bidi-segment-separator: Likewise.
12758         * modules/unictype/property-bidi-whitespace: Likewise.
12759         * modules/unictype/property-byname: Likewise.
12760         * modules/unictype/property-combining: Likewise.
12761         * modules/unictype/property-composite: Likewise.
12762         * modules/unictype/property-currency-symbol: Likewise.
12763         * modules/unictype/property-dash: Likewise.
12764         * modules/unictype/property-decimal-digit: Likewise.
12765         * modules/unictype/property-default-ignorable-code-point: Likewise.
12766         * modules/unictype/property-deprecated: Likewise.
12767         * modules/unictype/property-diacritic: Likewise.
12768         * modules/unictype/property-extender: Likewise.
12769         * modules/unictype/property-format-control: Likewise.
12770         * modules/unictype/property-grapheme-base: Likewise.
12771         * modules/unictype/property-grapheme-extend: Likewise.
12772         * modules/unictype/property-grapheme-link: Likewise.
12773         * modules/unictype/property-hex-digit: Likewise.
12774         * modules/unictype/property-hyphen: Likewise.
12775         * modules/unictype/property-id-continue: Likewise.
12776         * modules/unictype/property-id-start: Likewise.
12777         * modules/unictype/property-ideographic: Likewise.
12778         * modules/unictype/property-ids-binary-operator: Likewise.
12779         * modules/unictype/property-ids-trinary-operator: Likewise.
12780         * modules/unictype/property-ignorable-control: Likewise.
12781         * modules/unictype/property-iso-control: Likewise.
12782         * modules/unictype/property-join-control: Likewise.
12783         * modules/unictype/property-left-of-pair: Likewise.
12784         * modules/unictype/property-line-separator: Likewise.
12785         * modules/unictype/property-logical-order-exception: Likewise.
12786         * modules/unictype/property-lowercase: Likewise.
12787         * modules/unictype/property-math: Likewise.
12788         * modules/unictype/property-non-break: Likewise.
12789         * modules/unictype/property-not-a-character: Likewise.
12790         * modules/unictype/property-numeric: Likewise.
12791         * modules/unictype/property-other-alphabetic: Likewise.
12792         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
12793         * modules/unictype/property-other-grapheme-extend: Likewise.
12794         * modules/unictype/property-other-id-continue: Likewise.
12795         * modules/unictype/property-other-id-start: Likewise.
12796         * modules/unictype/property-other-lowercase: Likewise.
12797         * modules/unictype/property-other-math: Likewise.
12798         * modules/unictype/property-other-uppercase: Likewise.
12799         * modules/unictype/property-paired-punctuation: Likewise.
12800         * modules/unictype/property-paragraph-separator: Likewise.
12801         * modules/unictype/property-pattern-syntax: Likewise.
12802         * modules/unictype/property-pattern-white-space: Likewise.
12803         * modules/unictype/property-private-use: Likewise.
12804         * modules/unictype/property-punctuation: Likewise.
12805         * modules/unictype/property-quotation-mark: Likewise.
12806         * modules/unictype/property-radical: Likewise.
12807         * modules/unictype/property-sentence-terminal: Likewise.
12808         * modules/unictype/property-soft-dotted: Likewise.
12809         * modules/unictype/property-space: Likewise.
12810         * modules/unictype/property-terminal-punctuation: Likewise.
12811         * modules/unictype/property-test: Likewise.
12812         * modules/unictype/property-titlecase: Likewise.
12813         * modules/unictype/property-unassigned-code-value: Likewise.
12814         * modules/unictype/property-unified-ideograph: Likewise.
12815         * modules/unictype/property-uppercase: Likewise.
12816         * modules/unictype/property-variation-selector: Likewise.
12817         * modules/unictype/property-white-space: Likewise.
12818         * modules/unictype/property-xid-continue: Likewise.
12819         * modules/unictype/property-xid-start: Likewise.
12820         * modules/unictype/property-zero-width: Likewise.
12821         * modules/unictype/scripts: Likewise.
12822         * modules/unictype/syntax-c-ident: Likewise.
12823         * modules/unictype/syntax-c-whitespace: Likewise.
12824         * modules/unictype/syntax-java-ident: Likewise.
12825         * modules/unictype/syntax-java-whitespace: Likewise.
12826         * modules/unilbrk/u8-possible-linebreaks: Likewise.
12827         * modules/unilbrk/u8-width-linebreaks: Likewise.
12828         * modules/unilbrk/u16-possible-linebreaks: Likewise.
12829         * modules/unilbrk/u16-width-linebreaks: Likewise.
12830         * modules/unilbrk/u32-possible-linebreaks: Likewise.
12831         * modules/unilbrk/u32-width-linebreaks: Likewise.
12832         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
12833         * modules/unilbrk/ulc-width-linebreaks: Likewise.
12834         * modules/uniname/uniname: Likewise.
12835         * modules/uninorm/canonical-decomposition: Likewise.
12836         * modules/uninorm/composition: Likewise.
12837         * modules/uninorm/decomposing-form: Likewise.
12838         * modules/uninorm/decomposition: Likewise.
12839         * modules/uninorm/filter: Likewise.
12840         * modules/uninorm/nfc: Likewise.
12841         * modules/uninorm/nfd: Likewise.
12842         * modules/uninorm/nfkc: Likewise.
12843         * modules/uninorm/nfkd: Likewise.
12844         * modules/uninorm/u8-normalize: Likewise.
12845         * modules/uninorm/u8-normcmp: Likewise.
12846         * modules/uninorm/u8-normcoll: Likewise.
12847         * modules/uninorm/u8-normxfrm: Likewise.
12848         * modules/uninorm/u16-normalize: Likewise.
12849         * modules/uninorm/u16-normcmp: Likewise.
12850         * modules/uninorm/u16-normcoll: Likewise.
12851         * modules/uninorm/u16-normxfrm: Likewise.
12852         * modules/uninorm/u32-normalize: Likewise.
12853         * modules/uninorm/u32-normcmp: Likewise.
12854         * modules/uninorm/u32-normcoll: Likewise.
12855         * modules/uninorm/u32-normxfrm: Likewise.
12856         * modules/unistdio/u8-asnprintf: Likewise.
12857         * modules/unistdio/u8-asprintf: Likewise.
12858         * modules/unistdio/u8-snprintf: Likewise.
12859         * modules/unistdio/u8-sprintf: Likewise.
12860         * modules/unistdio/u8-u8-asnprintf: Likewise.
12861         * modules/unistdio/u8-u8-asprintf: Likewise.
12862         * modules/unistdio/u8-u8-snprintf: Likewise.
12863         * modules/unistdio/u8-u8-sprintf: Likewise.
12864         * modules/unistdio/u8-u8-vasnprintf: Likewise.
12865         * modules/unistdio/u8-u8-vasprintf: Likewise.
12866         * modules/unistdio/u8-u8-vsnprintf: Likewise.
12867         * modules/unistdio/u8-u8-vsprintf: Likewise.
12868         * modules/unistdio/u8-vasnprintf: Likewise.
12869         * modules/unistdio/u8-vasprintf: Likewise.
12870         * modules/unistdio/u8-vsnprintf: Likewise.
12871         * modules/unistdio/u8-vsprintf: Likewise.
12872         * modules/unistdio/u16-asnprintf: Likewise.
12873         * modules/unistdio/u16-asprintf: Likewise.
12874         * modules/unistdio/u16-snprintf: Likewise.
12875         * modules/unistdio/u16-sprintf: Likewise.
12876         * modules/unistdio/u16-u16-asnprintf: Likewise.
12877         * modules/unistdio/u16-u16-asprintf: Likewise.
12878         * modules/unistdio/u16-u16-snprintf: Likewise.
12879         * modules/unistdio/u16-u16-sprintf: Likewise.
12880         * modules/unistdio/u16-u16-vasnprintf: Likewise.
12881         * modules/unistdio/u16-u16-vasprintf: Likewise.
12882         * modules/unistdio/u16-u16-vsnprintf: Likewise.
12883         * modules/unistdio/u16-u16-vsprintf: Likewise.
12884         * modules/unistdio/u16-vasnprintf: Likewise.
12885         * modules/unistdio/u16-vasprintf: Likewise.
12886         * modules/unistdio/u16-vsnprintf: Likewise.
12887         * modules/unistdio/u16-vsprintf: Likewise.
12888         * modules/unistdio/u32-asnprintf: Likewise.
12889         * modules/unistdio/u32-asprintf: Likewise.
12890         * modules/unistdio/u32-snprintf: Likewise.
12891         * modules/unistdio/u32-sprintf: Likewise.
12892         * modules/unistdio/u32-u32-asnprintf: Likewise.
12893         * modules/unistdio/u32-u32-asprintf: Likewise.
12894         * modules/unistdio/u32-u32-snprintf: Likewise.
12895         * modules/unistdio/u32-u32-sprintf: Likewise.
12896         * modules/unistdio/u32-u32-vasnprintf: Likewise.
12897         * modules/unistdio/u32-u32-vasprintf: Likewise.
12898         * modules/unistdio/u32-u32-vsnprintf: Likewise.
12899         * modules/unistdio/u32-u32-vsprintf: Likewise.
12900         * modules/unistdio/u32-vasnprintf: Likewise.
12901         * modules/unistdio/u32-vasprintf: Likewise.
12902         * modules/unistdio/u32-vsnprintf: Likewise.
12903         * modules/unistdio/u32-vsprintf: Likewise.
12904         * modules/unistdio/ulc-asnprintf: Likewise.
12905         * modules/unistdio/ulc-asprintf: Likewise.
12906         * modules/unistdio/ulc-fprintf: Likewise.
12907         * modules/unistdio/ulc-snprintf: Likewise.
12908         * modules/unistdio/ulc-sprintf: Likewise.
12909         * modules/unistdio/ulc-vasnprintf: Likewise.
12910         * modules/unistdio/ulc-vasprintf: Likewise.
12911         * modules/unistdio/ulc-vfprintf: Likewise.
12912         * modules/unistdio/ulc-vsnprintf: Likewise.
12913         * modules/unistdio/ulc-vsprintf: Likewise.
12914         * modules/unistr/u8-check: Likewise.
12915         * modules/unistr/u8-chr: Likewise.
12916         * modules/unistr/u8-cmp: Likewise.
12917         * modules/unistr/u8-cmp2: Likewise.
12918         * modules/unistr/u8-cpy: Likewise.
12919         * modules/unistr/u8-cpy-alloc: Likewise.
12920         * modules/unistr/u8-endswith: Likewise.
12921         * modules/unistr/u8-mblen: Likewise.
12922         * modules/unistr/u8-mbsnlen: Likewise.
12923         * modules/unistr/u8-mbtouc: Likewise.
12924         * modules/unistr/u8-mbtouc-unsafe: Likewise.
12925         * modules/unistr/u8-mbtoucr: Likewise.
12926         * modules/unistr/u8-move: Likewise.
12927         * modules/unistr/u8-next: Likewise.
12928         * modules/unistr/u8-prev: Likewise.
12929         * modules/unistr/u8-set: Likewise.
12930         * modules/unistr/u8-startswith: Likewise.
12931         * modules/unistr/u8-stpcpy: Likewise.
12932         * modules/unistr/u8-stpncpy: Likewise.
12933         * modules/unistr/u8-strcat: Likewise.
12934         * modules/unistr/u8-strchr: Likewise.
12935         * modules/unistr/u8-strcmp: Likewise.
12936         * modules/unistr/u8-strcoll: Likewise.
12937         * modules/unistr/u8-strcpy: Likewise.
12938         * modules/unistr/u8-strcspn: Likewise.
12939         * modules/unistr/u8-strdup: Likewise.
12940         * modules/unistr/u8-strlen: Likewise.
12941         * modules/unistr/u8-strmblen: Likewise.
12942         * modules/unistr/u8-strmbtouc: Likewise.
12943         * modules/unistr/u8-strncat: Likewise.
12944         * modules/unistr/u8-strncmp: Likewise.
12945         * modules/unistr/u8-strncpy: Likewise.
12946         * modules/unistr/u8-strnlen: Likewise.
12947         * modules/unistr/u8-strpbrk: Likewise.
12948         * modules/unistr/u8-strrchr: Likewise.
12949         * modules/unistr/u8-strspn: Likewise.
12950         * modules/unistr/u8-strstr: Likewise.
12951         * modules/unistr/u8-strtok: Likewise.
12952         * modules/unistr/u8-to-u16: Likewise.
12953         * modules/unistr/u8-to-u32: Likewise.
12954         * modules/unistr/u8-uctomb: Likewise.
12955         * modules/unistr/u16-check: Likewise.
12956         * modules/unistr/u16-chr: Likewise.
12957         * modules/unistr/u16-cmp: Likewise.
12958         * modules/unistr/u16-cmp2: Likewise.
12959         * modules/unistr/u16-cpy: Likewise.
12960         * modules/unistr/u16-cpy-alloc: Likewise.
12961         * modules/unistr/u16-endswith: Likewise.
12962         * modules/unistr/u16-mblen: Likewise.
12963         * modules/unistr/u16-mbsnlen: Likewise.
12964         * modules/unistr/u16-mbtouc: Likewise.
12965         * modules/unistr/u16-mbtouc-unsafe: Likewise.
12966         * modules/unistr/u16-mbtoucr: Likewise.
12967         * modules/unistr/u16-move: Likewise.
12968         * modules/unistr/u16-next: Likewise.
12969         * modules/unistr/u16-prev: Likewise.
12970         * modules/unistr/u16-set: Likewise.
12971         * modules/unistr/u16-startswith: Likewise.
12972         * modules/unistr/u16-stpcpy: Likewise.
12973         * modules/unistr/u16-stpncpy: Likewise.
12974         * modules/unistr/u16-strcat: Likewise.
12975         * modules/unistr/u16-strchr: Likewise.
12976         * modules/unistr/u16-strcmp: Likewise.
12977         * modules/unistr/u16-strcoll: Likewise.
12978         * modules/unistr/u16-strcpy: Likewise.
12979         * modules/unistr/u16-strcspn: Likewise.
12980         * modules/unistr/u16-strdup: Likewise.
12981         * modules/unistr/u16-strlen: Likewise.
12982         * modules/unistr/u16-strmblen: Likewise.
12983         * modules/unistr/u16-strmbtouc: Likewise.
12984         * modules/unistr/u16-strncat: Likewise.
12985         * modules/unistr/u16-strncmp: Likewise.
12986         * modules/unistr/u16-strncpy: Likewise.
12987         * modules/unistr/u16-strnlen: Likewise.
12988         * modules/unistr/u16-strpbrk: Likewise.
12989         * modules/unistr/u16-strrchr: Likewise.
12990         * modules/unistr/u16-strspn: Likewise.
12991         * modules/unistr/u16-strstr: Likewise.
12992         * modules/unistr/u16-strtok: Likewise.
12993         * modules/unistr/u16-to-u32: Likewise.
12994         * modules/unistr/u16-to-u8: Likewise.
12995         * modules/unistr/u16-uctomb: Likewise.
12996         * modules/unistr/u32-check: Likewise.
12997         * modules/unistr/u32-chr: Likewise.
12998         * modules/unistr/u32-cmp: Likewise.
12999         * modules/unistr/u32-cmp2: Likewise.
13000         * modules/unistr/u32-cpy: Likewise.
13001         * modules/unistr/u32-cpy-alloc: Likewise.
13002         * modules/unistr/u32-endswith: Likewise.
13003         * modules/unistr/u32-mblen: Likewise.
13004         * modules/unistr/u32-mbsnlen: Likewise.
13005         * modules/unistr/u32-mbtouc: Likewise.
13006         * modules/unistr/u32-mbtouc-unsafe: Likewise.
13007         * modules/unistr/u32-mbtoucr: Likewise.
13008         * modules/unistr/u32-move: Likewise.
13009         * modules/unistr/u32-next: Likewise.
13010         * modules/unistr/u32-prev: Likewise.
13011         * modules/unistr/u32-set: Likewise.
13012         * modules/unistr/u32-startswith: Likewise.
13013         * modules/unistr/u32-stpcpy: Likewise.
13014         * modules/unistr/u32-stpncpy: Likewise.
13015         * modules/unistr/u32-strcat: Likewise.
13016         * modules/unistr/u32-strchr: Likewise.
13017         * modules/unistr/u32-strcmp: Likewise.
13018         * modules/unistr/u32-strcoll: Likewise.
13019         * modules/unistr/u32-strcpy: Likewise.
13020         * modules/unistr/u32-strcspn: Likewise.
13021         * modules/unistr/u32-strdup: Likewise.
13022         * modules/unistr/u32-strlen: Likewise.
13023         * modules/unistr/u32-strmblen: Likewise.
13024         * modules/unistr/u32-strmbtouc: Likewise.
13025         * modules/unistr/u32-strncat: Likewise.
13026         * modules/unistr/u32-strncmp: Likewise.
13027         * modules/unistr/u32-strncpy: Likewise.
13028         * modules/unistr/u32-strnlen: Likewise.
13029         * modules/unistr/u32-strpbrk: Likewise.
13030         * modules/unistr/u32-strrchr: Likewise.
13031         * modules/unistr/u32-strspn: Likewise.
13032         * modules/unistr/u32-strstr: Likewise.
13033         * modules/unistr/u32-strtok: Likewise.
13034         * modules/unistr/u32-to-u16: Likewise.
13035         * modules/unistr/u32-to-u8: Likewise.
13036         * modules/unistr/u32-uctomb: Likewise.
13037         * modules/uniwbrk/u8-wordbreaks: Likewise.
13038         * modules/uniwbrk/u16-wordbreaks: Likewise.
13039         * modules/uniwbrk/u32-wordbreaks: Likewise.
13040         * modules/uniwbrk/ulc-wordbreaks: Likewise.
13041         * modules/uniwbrk/wordbreak-property: Likewise.
13042         * modules/uniwidth/u8-strwidth: Likewise.
13043         * modules/uniwidth/u8-width: Likewise.
13044         * modules/uniwidth/u16-strwidth: Likewise.
13045         * modules/uniwidth/u16-width: Likewise.
13046         * modules/uniwidth/u32-strwidth: Likewise.
13047         * modules/uniwidth/u32-width: Likewise.
13048         * modules/uniwidth/width: Likewise.
13049         * modules/unicase/cased-tests (Makefile.am): Link all test programs
13050         with $(LIBUNISTRING).
13051         * modules/unicase/ignorable-tests: Likewise.
13052         * modules/unicase/locale-language-tests: Likewise.
13053         * modules/unicase/tolower-tests: Likewise.
13054         * modules/unicase/totitle-tests: Likewise.
13055         * modules/unicase/toupper-tests: Likewise.
13056         * modules/unicase/u8-casecmp-tests: Likewise.
13057         * modules/unicase/u8-casecoll-tests: Likewise.
13058         * modules/unicase/u8-casefold-tests: Likewise.
13059         * modules/unicase/u8-is-cased-tests: Likewise.
13060         * modules/unicase/u8-is-casefolded-tests: Likewise.
13061         * modules/unicase/u8-is-lowercase-tests: Likewise.
13062         * modules/unicase/u8-is-titlecase-tests: Likewise.
13063         * modules/unicase/u8-is-uppercase-tests: Likewise.
13064         * modules/unicase/u8-tolower-tests: Likewise.
13065         * modules/unicase/u8-totitle-tests: Likewise.
13066         * modules/unicase/u8-toupper-tests: Likewise.
13067         * modules/unicase/u16-casecmp-tests: Likewise.
13068         * modules/unicase/u16-casecoll-tests: Likewise.
13069         * modules/unicase/u16-casefold-tests: Likewise.
13070         * modules/unicase/u16-is-cased-tests: Likewise.
13071         * modules/unicase/u16-is-casefolded-tests: Likewise.
13072         * modules/unicase/u16-is-lowercase-tests: Likewise.
13073         * modules/unicase/u16-is-titlecase-tests: Likewise.
13074         * modules/unicase/u16-is-uppercase-tests: Likewise.
13075         * modules/unicase/u16-tolower-tests: Likewise.
13076         * modules/unicase/u16-totitle-tests: Likewise.
13077         * modules/unicase/u16-toupper-tests: Likewise.
13078         * modules/unicase/u32-casecmp-tests: Likewise.
13079         * modules/unicase/u32-casecoll-tests: Likewise.
13080         * modules/unicase/u32-casefold-tests: Likewise.
13081         * modules/unicase/u32-is-cased-tests: Likewise.
13082         * modules/unicase/u32-is-casefolded-tests: Likewise.
13083         * modules/unicase/u32-is-lowercase-tests: Likewise.
13084         * modules/unicase/u32-is-titlecase-tests: Likewise.
13085         * modules/unicase/u32-is-uppercase-tests: Likewise.
13086         * modules/unicase/u32-tolower-tests: Likewise.
13087         * modules/unicase/u32-totitle-tests: Likewise.
13088         * modules/unicase/u32-toupper-tests: Likewise.
13089         * modules/unicase/ulc-casecmp-tests: Likewise.
13090         * modules/unicase/ulc-casecoll-tests: Likewise.
13091         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
13092         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
13093         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
13094         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
13095         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
13096         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
13097         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
13098         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
13099         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
13100         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
13101         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
13102         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
13103         * modules/unictype/bidicategory-byname-tests: Likewise.
13104         * modules/unictype/bidicategory-name-tests: Likewise.
13105         * modules/unictype/bidicategory-of-tests: Likewise.
13106         * modules/unictype/bidicategory-test-tests: Likewise.
13107         * modules/unictype/block-list-tests: Likewise.
13108         * modules/unictype/block-of-tests: Likewise.
13109         * modules/unictype/block-test-tests: Likewise.
13110         * modules/unictype/category-C-tests: Likewise.
13111         * modules/unictype/category-Cc-tests: Likewise.
13112         * modules/unictype/category-Cf-tests: Likewise.
13113         * modules/unictype/category-Cn-tests: Likewise.
13114         * modules/unictype/category-Co-tests: Likewise.
13115         * modules/unictype/category-Cs-tests: Likewise.
13116         * modules/unictype/category-L-tests: Likewise.
13117         * modules/unictype/category-Ll-tests: Likewise.
13118         * modules/unictype/category-Lm-tests: Likewise.
13119         * modules/unictype/category-Lo-tests: Likewise.
13120         * modules/unictype/category-Lt-tests: Likewise.
13121         * modules/unictype/category-Lu-tests: Likewise.
13122         * modules/unictype/category-M-tests: Likewise.
13123         * modules/unictype/category-Mc-tests: Likewise.
13124         * modules/unictype/category-Me-tests: Likewise.
13125         * modules/unictype/category-Mn-tests: Likewise.
13126         * modules/unictype/category-N-tests: Likewise.
13127         * modules/unictype/category-Nd-tests: Likewise.
13128         * modules/unictype/category-Nl-tests: Likewise.
13129         * modules/unictype/category-No-tests: Likewise.
13130         * modules/unictype/category-P-tests: Likewise.
13131         * modules/unictype/category-Pc-tests: Likewise.
13132         * modules/unictype/category-Pd-tests: Likewise.
13133         * modules/unictype/category-Pe-tests: Likewise.
13134         * modules/unictype/category-Pf-tests: Likewise.
13135         * modules/unictype/category-Pi-tests: Likewise.
13136         * modules/unictype/category-Po-tests: Likewise.
13137         * modules/unictype/category-Ps-tests: Likewise.
13138         * modules/unictype/category-S-tests: Likewise.
13139         * modules/unictype/category-Sc-tests: Likewise.
13140         * modules/unictype/category-Sk-tests: Likewise.
13141         * modules/unictype/category-Sm-tests: Likewise.
13142         * modules/unictype/category-So-tests: Likewise.
13143         * modules/unictype/category-Z-tests: Likewise.
13144         * modules/unictype/category-Zl-tests: Likewise.
13145         * modules/unictype/category-Zp-tests: Likewise.
13146         * modules/unictype/category-Zs-tests: Likewise.
13147         * modules/unictype/category-and-not-tests: Likewise.
13148         * modules/unictype/category-and-tests: Likewise.
13149         * modules/unictype/category-byname-tests: Likewise.
13150         * modules/unictype/category-name-tests: Likewise.
13151         * modules/unictype/category-none-tests: Likewise.
13152         * modules/unictype/category-of-tests: Likewise.
13153         * modules/unictype/category-or-tests: Likewise.
13154         * modules/unictype/category-test-withtable-tests: Likewise.
13155         * modules/unictype/combining-class-tests: Likewise.
13156         * modules/unictype/ctype-alnum-tests: Likewise.
13157         * modules/unictype/ctype-alpha-tests: Likewise.
13158         * modules/unictype/ctype-blank-tests: Likewise.
13159         * modules/unictype/ctype-cntrl-tests: Likewise.
13160         * modules/unictype/ctype-digit-tests: Likewise.
13161         * modules/unictype/ctype-graph-tests: Likewise.
13162         * modules/unictype/ctype-lower-tests: Likewise.
13163         * modules/unictype/ctype-print-tests: Likewise.
13164         * modules/unictype/ctype-punct-tests: Likewise.
13165         * modules/unictype/ctype-space-tests: Likewise.
13166         * modules/unictype/ctype-upper-tests: Likewise.
13167         * modules/unictype/ctype-xdigit-tests: Likewise.
13168         * modules/unictype/decimal-digit-tests: Likewise.
13169         * modules/unictype/digit-tests: Likewise.
13170         * modules/unictype/mirror-tests: Likewise.
13171         * modules/unictype/numeric-tests: Likewise.
13172         * modules/unictype/property-alphabetic-tests: Likewise.
13173         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
13174         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
13175         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
13176         * modules/unictype/property-bidi-block-separator-tests: Likewise.
13177         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
13178         * modules/unictype/property-bidi-common-separator-tests: Likewise.
13179         * modules/unictype/property-bidi-control-tests: Likewise.
13180         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
13181         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
13182         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
13183         * modules/unictype/property-bidi-european-digit-tests: Likewise.
13184         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
13185         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
13186         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
13187         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
13188         * modules/unictype/property-bidi-pdf-tests: Likewise.
13189         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
13190         * modules/unictype/property-bidi-whitespace-tests: Likewise.
13191         * modules/unictype/property-byname-tests: Likewise.
13192         * modules/unictype/property-combining-tests: Likewise.
13193         * modules/unictype/property-composite-tests: Likewise.
13194         * modules/unictype/property-currency-symbol-tests: Likewise.
13195         * modules/unictype/property-dash-tests: Likewise.
13196         * modules/unictype/property-decimal-digit-tests: Likewise.
13197         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
13198         * modules/unictype/property-deprecated-tests: Likewise.
13199         * modules/unictype/property-diacritic-tests: Likewise.
13200         * modules/unictype/property-extender-tests: Likewise.
13201         * modules/unictype/property-format-control-tests: Likewise.
13202         * modules/unictype/property-grapheme-base-tests: Likewise.
13203         * modules/unictype/property-grapheme-extend-tests: Likewise.
13204         * modules/unictype/property-grapheme-link-tests: Likewise.
13205         * modules/unictype/property-hex-digit-tests: Likewise.
13206         * modules/unictype/property-hyphen-tests: Likewise.
13207         * modules/unictype/property-id-continue-tests: Likewise.
13208         * modules/unictype/property-id-start-tests: Likewise.
13209         * modules/unictype/property-ideographic-tests: Likewise.
13210         * modules/unictype/property-ids-binary-operator-tests: Likewise.
13211         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
13212         * modules/unictype/property-ignorable-control-tests: Likewise.
13213         * modules/unictype/property-iso-control-tests: Likewise.
13214         * modules/unictype/property-join-control-tests: Likewise.
13215         * modules/unictype/property-left-of-pair-tests: Likewise.
13216         * modules/unictype/property-line-separator-tests: Likewise.
13217         * modules/unictype/property-logical-order-exception-tests: Likewise.
13218         * modules/unictype/property-lowercase-tests: Likewise.
13219         * modules/unictype/property-math-tests: Likewise.
13220         * modules/unictype/property-non-break-tests: Likewise.
13221         * modules/unictype/property-not-a-character-tests: Likewise.
13222         * modules/unictype/property-numeric-tests: Likewise.
13223         * modules/unictype/property-other-alphabetic-tests: Likewise.
13224         * modules/unictype/property-other-default-ignorable-code-point-tests:
13225         Likewise.
13226         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
13227         * modules/unictype/property-other-id-continue-tests: Likewise.
13228         * modules/unictype/property-other-id-start-tests: Likewise.
13229         * modules/unictype/property-other-lowercase-tests: Likewise.
13230         * modules/unictype/property-other-math-tests: Likewise.
13231         * modules/unictype/property-other-uppercase-tests: Likewise.
13232         * modules/unictype/property-paired-punctuation-tests: Likewise.
13233         * modules/unictype/property-paragraph-separator-tests: Likewise.
13234         * modules/unictype/property-pattern-syntax-tests: Likewise.
13235         * modules/unictype/property-pattern-white-space-tests: Likewise.
13236         * modules/unictype/property-private-use-tests: Likewise.
13237         * modules/unictype/property-punctuation-tests: Likewise.
13238         * modules/unictype/property-quotation-mark-tests: Likewise.
13239         * modules/unictype/property-radical-tests: Likewise.
13240         * modules/unictype/property-sentence-terminal-tests: Likewise.
13241         * modules/unictype/property-soft-dotted-tests: Likewise.
13242         * modules/unictype/property-space-tests: Likewise.
13243         * modules/unictype/property-terminal-punctuation-tests: Likewise.
13244         * modules/unictype/property-test-tests: Likewise.
13245         * modules/unictype/property-titlecase-tests: Likewise.
13246         * modules/unictype/property-unassigned-code-value-tests: Likewise.
13247         * modules/unictype/property-unified-ideograph-tests: Likewise.
13248         * modules/unictype/property-uppercase-tests: Likewise.
13249         * modules/unictype/property-variation-selector-tests: Likewise.
13250         * modules/unictype/property-white-space-tests: Likewise.
13251         * modules/unictype/property-xid-continue-tests: Likewise.
13252         * modules/unictype/property-xid-start-tests: Likewise.
13253         * modules/unictype/property-zero-width-tests: Likewise.
13254         * modules/unictype/scripts-tests: Likewise.
13255         * modules/unictype/syntax-c-ident-tests: Likewise.
13256         * modules/unictype/syntax-c-whitespace-tests: Likewise.
13257         * modules/unictype/syntax-java-ident-tests: Likewise.
13258         * modules/unictype/syntax-java-whitespace-tests: Likewise.
13259         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
13260         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
13261         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
13262         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
13263         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
13264         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
13265         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
13266         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
13267         * modules/uniname/uniname-tests: Likewise.
13268         * modules/uninorm/canonical-decomposition-tests: Likewise.
13269         * modules/uninorm/compat-decomposition-tests: Likewise.
13270         * modules/uninorm/composition-tests: Likewise.
13271         * modules/uninorm/decomposing-form-tests: Likewise.
13272         * modules/uninorm/decomposition-tests: Likewise.
13273         * modules/uninorm/filter-tests: Likewise.
13274         * modules/uninorm/nfc-tests: Likewise.
13275         * modules/uninorm/nfd-tests: Likewise.
13276         * modules/uninorm/nfkc-tests: Likewise.
13277         * modules/uninorm/nfkd-tests: Likewise.
13278         * modules/uninorm/u8-normcmp-tests: Likewise.
13279         * modules/uninorm/u8-normcoll-tests: Likewise.
13280         * modules/uninorm/u16-normcmp-tests: Likewise.
13281         * modules/uninorm/u16-normcoll-tests: Likewise.
13282         * modules/uninorm/u32-normcmp-tests: Likewise.
13283         * modules/uninorm/u32-normcoll-tests: Likewise.
13284         * modules/unistdio/u8-asnprintf-tests: Likewise.
13285         * modules/unistdio/u8-vasnprintf-tests: Likewise.
13286         * modules/unistdio/u8-vasprintf-tests: Likewise.
13287         * modules/unistdio/u8-vsnprintf-tests: Likewise.
13288         * modules/unistdio/u8-vsprintf-tests: Likewise.
13289         * modules/unistdio/u16-asnprintf-tests: Likewise.
13290         * modules/unistdio/u16-vasnprintf-tests: Likewise.
13291         * modules/unistdio/u16-vasprintf-tests: Likewise.
13292         * modules/unistdio/u16-vsnprintf-tests: Likewise.
13293         * modules/unistdio/u16-vsprintf-tests: Likewise.
13294         * modules/unistdio/u32-asnprintf-tests: Likewise.
13295         * modules/unistdio/u32-vasnprintf-tests: Likewise.
13296         * modules/unistdio/u32-vasprintf-tests: Likewise.
13297         * modules/unistdio/u32-vsnprintf-tests: Likewise.
13298         * modules/unistdio/u32-vsprintf-tests: Likewise.
13299         * modules/unistdio/ulc-asnprintf-tests: Likewise.
13300         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
13301         * modules/unistdio/ulc-vasprintf-tests: Likewise.
13302         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
13303         * modules/unistdio/ulc-vsprintf-tests: Likewise.
13304         * modules/unistr/u8-check-tests: Likewise.
13305         * modules/unistr/u8-chr-tests: Likewise.
13306         * modules/unistr/u8-cmp-tests: Likewise.
13307         * modules/unistr/u8-cmp2-tests: Likewise.
13308         * modules/unistr/u8-cpy-alloc-tests: Likewise.
13309         * modules/unistr/u8-cpy-tests: Likewise.
13310         * modules/unistr/u8-mblen-tests: Likewise.
13311         * modules/unistr/u8-mbsnlen-tests: Likewise.
13312         * modules/unistr/u8-mbtouc-tests: Likewise.
13313         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
13314         * modules/unistr/u8-mbtoucr-tests: Likewise.
13315         * modules/unistr/u8-move-tests: Likewise.
13316         * modules/unistr/u8-next-tests: Likewise.
13317         * modules/unistr/u8-prev-tests: Likewise.
13318         * modules/unistr/u8-set-tests: Likewise.
13319         * modules/unistr/u8-stpcpy-tests: Likewise.
13320         * modules/unistr/u8-stpncpy-tests: Likewise.
13321         * modules/unistr/u8-strcat-tests: Likewise.
13322         * modules/unistr/u8-strcmp-tests: Likewise.
13323         * modules/unistr/u8-strcoll-tests: Likewise.
13324         * modules/unistr/u8-strcpy-tests: Likewise.
13325         * modules/unistr/u8-strdup-tests: Likewise.
13326         * modules/unistr/u8-strlen-tests: Likewise.
13327         * modules/unistr/u8-strmblen-tests: Likewise.
13328         * modules/unistr/u8-strmbtouc-tests: Likewise.
13329         * modules/unistr/u8-strncat-tests: Likewise.
13330         * modules/unistr/u8-strncmp-tests: Likewise.
13331         * modules/unistr/u8-strncpy-tests: Likewise.
13332         * modules/unistr/u8-strnlen-tests: Likewise.
13333         * modules/unistr/u8-to-u16-tests: Likewise.
13334         * modules/unistr/u8-to-u32-tests: Likewise.
13335         * modules/unistr/u8-uctomb-tests: Likewise.
13336         * modules/unistr/u16-check-tests: Likewise.
13337         * modules/unistr/u16-chr-tests: Likewise.
13338         * modules/unistr/u16-cmp-tests: Likewise.
13339         * modules/unistr/u16-cmp2-tests: Likewise.
13340         * modules/unistr/u16-cpy-alloc-tests: Likewise.
13341         * modules/unistr/u16-cpy-tests: Likewise.
13342         * modules/unistr/u16-mblen-tests: Likewise.
13343         * modules/unistr/u16-mbsnlen-tests: Likewise.
13344         * modules/unistr/u16-mbtouc-tests: Likewise.
13345         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
13346         * modules/unistr/u16-mbtoucr-tests: Likewise.
13347         * modules/unistr/u16-move-tests: Likewise.
13348         * modules/unistr/u16-next-tests: Likewise.
13349         * modules/unistr/u16-prev-tests: Likewise.
13350         * modules/unistr/u16-set-tests: Likewise.
13351         * modules/unistr/u16-stpcpy-tests: Likewise.
13352         * modules/unistr/u16-stpncpy-tests: Likewise.
13353         * modules/unistr/u16-strcat-tests: Likewise.
13354         * modules/unistr/u16-strcmp-tests: Likewise.
13355         * modules/unistr/u16-strcoll-tests: Likewise.
13356         * modules/unistr/u16-strcpy-tests: Likewise.
13357         * modules/unistr/u16-strdup-tests: Likewise.
13358         * modules/unistr/u16-strlen-tests: Likewise.
13359         * modules/unistr/u16-strmblen-tests: Likewise.
13360         * modules/unistr/u16-strmbtouc-tests: Likewise.
13361         * modules/unistr/u16-strncat-tests: Likewise.
13362         * modules/unistr/u16-strncmp-tests: Likewise.
13363         * modules/unistr/u16-strncpy-tests: Likewise.
13364         * modules/unistr/u16-strnlen-tests: Likewise.
13365         * modules/unistr/u16-to-u32-tests: Likewise.
13366         * modules/unistr/u16-to-u8-tests: Likewise.
13367         * modules/unistr/u16-uctomb-tests: Likewise.
13368         * modules/unistr/u32-check-tests: Likewise.
13369         * modules/unistr/u32-chr-tests: Likewise.
13370         * modules/unistr/u32-cmp-tests: Likewise.
13371         * modules/unistr/u32-cmp2-tests: Likewise.
13372         * modules/unistr/u32-cpy-alloc-tests: Likewise.
13373         * modules/unistr/u32-cpy-tests: Likewise.
13374         * modules/unistr/u32-mblen-tests: Likewise.
13375         * modules/unistr/u32-mbsnlen-tests: Likewise.
13376         * modules/unistr/u32-mbtouc-tests: Likewise.
13377         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
13378         * modules/unistr/u32-mbtoucr-tests: Likewise.
13379         * modules/unistr/u32-move-tests: Likewise.
13380         * modules/unistr/u32-next-tests: Likewise.
13381         * modules/unistr/u32-prev-tests: Likewise.
13382         * modules/unistr/u32-set-tests: Likewise.
13383         * modules/unistr/u32-stpcpy-tests: Likewise.
13384         * modules/unistr/u32-stpncpy-tests: Likewise.
13385         * modules/unistr/u32-strcat-tests: Likewise.
13386         * modules/unistr/u32-strcmp-tests: Likewise.
13387         * modules/unistr/u32-strcoll-tests: Likewise.
13388         * modules/unistr/u32-strcpy-tests: Likewise.
13389         * modules/unistr/u32-strdup-tests: Likewise.
13390         * modules/unistr/u32-strlen-tests: Likewise.
13391         * modules/unistr/u32-strmblen-tests: Likewise.
13392         * modules/unistr/u32-strmbtouc-tests: Likewise.
13393         * modules/unistr/u32-strncat-tests: Likewise.
13394         * modules/unistr/u32-strncmp-tests: Likewise.
13395         * modules/unistr/u32-strncpy-tests: Likewise.
13396         * modules/unistr/u32-strnlen-tests: Likewise.
13397         * modules/unistr/u32-to-u16-tests: Likewise.
13398         * modules/unistr/u32-to-u8-tests: Likewise.
13399         * modules/unistr/u32-uctomb-tests: Likewise.
13400         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
13401         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
13402         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
13403         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
13404         * modules/uniwidth/u8-strwidth-tests: Likewise.
13405         * modules/uniwidth/u8-width-tests: Likewise.
13406         * modules/uniwidth/u16-strwidth-tests: Likewise.
13407         * modules/uniwidth/u16-width-tests: Likewise.
13408         * modules/uniwidth/u32-strwidth-tests: Likewise.
13409         * modules/uniwidth/u32-width-tests: Likewise.
13410         * modules/uniwidth/width-tests: Likewise.
13411
13412 2010-05-18  Richard Jones  <rjones@redhat.com>
13413
13414         doc: users.txt: list hivex
13415         * users.txt: Add hivex.
13416
13417 2010-05-18  Richard Jones  <rjones@redhat.com>
13418
13419         doc: users.txt: list febootstrap
13420         * users.txt: Add febootstrap.
13421
13422 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
13423
13424         bootstrap: fix an error when gnulib is not used as a git submodule
13425         * build-aux/bootstrap (gnulib_path): If its length is zero then
13426         assign "gnulib" to it.
13427         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
13428
13429 2010-05-16  Bruno Haible  <bruno@clisp.org>
13430
13431         Avoid autoconf warnings about AM_ICONV.
13432         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
13433         2.64.
13434
13435 2010-05-16  Bruno Haible  <bruno@clisp.org>
13436
13437         absolute-header: Make the macro usable in more situations.
13438         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
13439         from gl_ABSOLUTE_HEADER.
13440         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
13441
13442 2010-05-16  James Youngman  <jay@gnu.org>
13443
13444         doc: update users.txt
13445         * users.txt: Add CSSC.
13446
13447 2010-05-16  Jim Meyering  <meyering@redhat.com>
13448
13449         init.sh: fix an error in the previous change; add more comments
13450         * tests/init.sh: Compare exit code in loop against 9, not 2.
13451         Patch by Bruno Haible.
13452         Make the two tests more similar by adding an empty "then" clause.
13453         Add comments.
13454
13455         init.sh: avoid unnecessary shell re-exec
13456         * tests/init.sh: Improve the re-exec-required check to first test the
13457         current shell.  If it passes the test, do not search for a shell that
13458         does pass, and do not re-exec.  This test is particularly contorted to
13459         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
13460         of $(...) evokes a syntax error and causes immediate shell exit with
13461         status 2.  Bruno Haible reported that the re-exec made it impossible
13462         to single-step through any init.sh-using script.
13463
13464 2010-05-16  Bruno Haible  <bruno@clisp.org>
13465
13466         Fix collision between gnulib's and libintl's printf replacements.
13467         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
13468         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
13469         (printf): When using GNU C, map the __printf__ function to rpl_printf
13470         via __asm__. When not using GNU C, define rpl_printf instead of
13471         __printf__.
13472         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
13473         commit.
13474         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
13475         commit.
13476         * m4/asm-underscore.m4: New file.
13477         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
13478         * modules/stdio (Files): Add m4/asm-underscore.m4.
13479         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
13480         Reported by Ben Pfaff.
13481
13482 2010-05-16  Bruno Haible  <bruno@clisp.org>
13483
13484         verify: Avoid skipping the test on openSUSE 11.0.
13485         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
13486
13487 2010-05-13  Bruno Haible  <bruno@clisp.org>
13488
13489         Avoid useless warnings from G++.
13490         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
13491         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
13492         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
13493
13494 2010-05-11  Jim Meyering  <meyering@redhat.com>
13495
13496         maint.mk: tweak preceding change
13497         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
13498         regexps tighter by anchoring at EOL, and make the new group "shy"
13499         for slightly decreased overhead.
13500
13501 2010-05-11  Eric Blake  <eblake@redhat.com>
13502
13503         maint.mk: gnulib doesn't guarantee NSIG
13504         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
13505
13506 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
13507
13508         test-pwrite.c: Remove unused variable declaration.
13509         * tests/test-pwrite.c (main): Remove read_buf declaration.
13510
13511         Remove useless test-pwrite.sh file.
13512         * tests/test-pwrite.sh: Delete file.
13513         * modules/pwrite-tests: Remove references.
13514         Reported by Bruno Haible.
13515
13516 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
13517
13518         init.sh: fix a typo
13519         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
13520
13521 2010-05-10  Jim Meyering  <meyering@redhat.com>
13522
13523         maint.mk: avoid using a temporary file in the always-defined-macros check
13524         * top/maint.mk (.re-defmac): Remove rule.
13525         (gl_trap_): Remove definition.
13526         (sc_prohibit_always-defined_macros): Rewrite not to create and
13527         depend on a temporary file.  Instead, depend on GNU grep's ability
13528         to read a list of regular expressions from stdin when given "-f -".
13529
13530 2010-05-09  Bruno Haible  <bruno@clisp.org>
13531
13532         Update to GNU gettext 0.18, part 1.
13533         * m4/gettext.m4: Update to GNU gettext 0.18.
13534         * m4/intl.m4: Likewise.
13535         * m4/po.m4: Likewise.
13536         * modules/gettext (Files): Add m4/fcntl-o.m4.
13537         (configure.ac): Require gettext infrastructure from version 0.18.
13538
13539 2010-05-09  Jim Meyering  <meyering@redhat.com>
13540
13541         init.sh: enable MALLOC_PERTURB_
13542         * tests/init.sh: Enable glibc's malloc-perturbing option.
13543
13544         maint.mk: improve sc_cross_check_PATH_usage_in_tests
13545         With my recent change in init.sh from the two-line form:
13546             -#   : ${srcdir=.}
13547             -#   . "$srcdir/init.sh"; path_prepend_ .
13548             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
13549         I noticed that using the one-line form would cause this test
13550         to fail with a false-positive, or to stop working altogether,
13551         depending on whether help-version changed or all the tests did.
13552         * top/maint.mk (_hv_regex): Remove this definition.
13553         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
13554         (_hv_regex_strong): Use a stronger regex to check for conformance.
13555         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
13556         Give a separate diagnostic for lack of conforming use.
13557
13558         maint.mk: prohibit definition of symbols defined by gnulib
13559         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
13560         definition of symbols defined by gnulib.
13561
13562 2010-05-09  Bruno Haible  <bruno@clisp.org>
13563
13564         acl: Avoid test failure on Cygwin-hosted mingw.
13565         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
13566
13567 2010-05-09  Bruno Haible  <bruno@clisp.org>
13568
13569         error: Use system's fcntl function.
13570         * lib/error.c (fcntl): Undefine.
13571
13572 2010-05-09  Jim Meyering  <meyering@redhat.com>
13573
13574         verify: adjust formatting to be more consistent
13575         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
13576         argument-list '('s, and after one comma.
13577
13578 2010-05-09  Bruno Haible  <bruno@clisp.org>
13579
13580         error: More reliable output on mingw.
13581         * lib/error.c: Include <windows.h>.
13582         (is_open): New function.
13583         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
13584         defined.
13585
13586 2010-05-09  Bruno Haible  <bruno@clisp.org>
13587
13588         vasnprintf: Fix syntax errors in libintl build on mingw.
13589         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
13590         pad_ourselves and prec_ourselves after use.
13591
13592 2010-05-08  Bruno Haible  <bruno@clisp.org>
13593
13594         * lib/config.charset: Update comments for Cygwin 1.7.
13595         * lib/localcharset.c: Likewise.
13596
13597 2010-05-07  Jim Meyering  <meyering@redhat.com>
13598
13599         init.sh: improve comments
13600         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
13601         . "${srcdir=.}/init.sh"; path_prepend_ .
13602         Add a note about path_prepend_ and the alternative of using
13603         TESTS_ENVIRONMENT.
13604
13605 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
13606
13607         exclude: Unescape hashed patterns in wildcard mode.
13608         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
13609         to the hash list.
13610         * tests/test-exclude8.sh: New test case.
13611         * modules/exclude-tests: Add new test.
13612
13613 2010-05-05  Eric Blake  <eblake@redhat.com>
13614
13615         verify: automate tests
13616         * modules/verify-tests: New module.
13617         * tests/test-verify.sh: New file.
13618         * tests/test-verify.c: Guard each negative test with a unique id.
13619         Also avoid warning about unused left hand of comma expressions.
13620
13621 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
13622
13623         Further improvements to verify.h, suggested by Eric Blake.
13624         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
13625         the GL_* versions, to avoid collision with OpenGL.
13626         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
13627         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
13628         than testing merely whether it's defined.
13629
13630         Modify verify.h to pacify gcc -Wredundant_decls.
13631         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
13632         These use the prefix "GL_" since they're likely to be useful elsewhere.
13633         We may need to break them out into a different .h file.
13634         (__COUNTER__): Define to 0 if the compiler doesn't support it.
13635         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
13636         of verify_function__.
13637
13638 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
13639
13640         Tests for module pwrite.
13641         * modules/pwrite-tests: New file.
13642         * tests/test-pwrite.sh: New file.
13643         * tests/test-pwrite.c: New file.
13644
13645         New module pwrite.
13646         * lib/unistd.in.h (pwrite): New declaration.
13647         * lib/pwrite.c: New file, from glibc with modifications.
13648         * m4/pwrite.m4: New file.
13649         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
13650         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
13651         REPLACE_PWRITE.
13652         * modules/pwrite: New file.
13653         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
13654         REPLACE_PWRITE.
13655         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
13656         * doc/posix-functions/pwrite.texi: Mention the new module.
13657
13658 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
13659
13660         pread: Update documentation.
13661         * doc/posix-functions/pread.texi: Mention the 'pread' module.
13662
13663 2010-05-04  Eric Blake  <eblake@redhat.com>
13664
13665         docs: update cygwin progress
13666         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
13667         this bug.
13668         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
13669         Added in cygwin 1.7.2.
13670         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
13671         Likewise.
13672         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
13673         Likewise.
13674         * doc/glibc-functions/dup3.texi (dup3): Likewise.
13675         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
13676         * doc/glibc-functions/accept4.texi (accept4): Likewise.
13677         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
13678         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
13679         Mention nproc module.
13680         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
13681         bug in cygwin 1.7.5 addition.
13682         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
13683         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
13684         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
13685         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
13686         1.7.5.
13687         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
13688         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
13689         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
13690         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
13691         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
13692         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
13693         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
13694         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
13695         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
13696         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
13697         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
13698         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
13699         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
13700         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
13701         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
13702         Likewise.
13703         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
13704         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
13705         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
13706         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
13707         Likewise.
13708         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
13709         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
13710         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
13711         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
13712         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
13713         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
13714         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
13715         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
13716         Likewise.
13717         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
13718         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
13719         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
13720         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
13721         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
13722         Likewise.
13723         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
13724         Likewise.
13725         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
13726         Likewise.
13727         * doc/glibc-functions/xdrrec_endofrecord.texi
13728         (xdrrec_endofrecord): Likewise.
13729         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
13730         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
13731         Likewise.
13732         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
13733         Likewise.
13734
13735 2010-05-04  Jim Meyering  <meyering@redhat.com>
13736
13737         gendocs.sh: make its "-s FILE" option more useful
13738         * build-aux/gendocs.sh: When honoring the -s FILE option, update
13739         $PACKAGE to reflect the probably-different basename of "FILE".
13740
13741 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
13742
13743         bootstrap: don't ignore download_po_files failure
13744         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
13745         failure.
13746
13747 2010-05-03  Jim Meyering  <meyering@redhat.com>
13748
13749         maint.mk: allow to pass options to gendocs.sh
13750         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
13751         (gendocs_options_): New overridable variable.
13752
13753         gnu-web-doc-update: don't ignore configure or build failure
13754         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
13755
13756         announce-gen: backslash-escape '@'s in --help output
13757         * build-aux/announce-gen: Fix syntax errors.
13758
13759         maint.mk, announce-gen: allow project-specific announcement mail headers
13760         * top/maint.mk (translation_project_): Define default.
13761         (announcement_Cc_, announcement_mail_headers_): Likewise.
13762         (announcement): Invoke announce-gen with new --mail-headers option.
13763         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
13764
13765         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
13766         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
13767         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
13768         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
13769         line in the "err2" output file when running "make check" in verbose
13770         mode (i.e., with set -x enabled).
13771
13772 2010-05-03  Bruno Haible  <bruno@clisp.org>
13773
13774         wctob: Fix for weird platforms.
13775         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
13776         argument value.
13777
13778 2010-05-03  Jim Meyering  <meyering@redhat.com>
13779
13780         maint.mk: prohibit unwarranted use of <strings.h>
13781         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
13782         strings.h in a file that does not also use strcasecmp, strncasecmp,
13783         ffs or ffsll.
13784
13785         maint.mk: remove obsolete comments
13786         * top/maint.mk: Remove stale, commented-out rules.
13787
13788 2010-05-02  Bruno Haible  <bruno@clisp.org>
13789
13790         wcwidth: Declare also when it's aliased.
13791         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
13792         macro.
13793
13794 2010-05-02  Bruno Haible  <bruno@clisp.org>
13795
13796         Fix regression from 2010-04-25.
13797         * gnulib-tool (func_modules_transitive_closure): Check the status of
13798         all modules, not only of the tests that are of the form foo-tests where
13799         foo is a module.
13800
13801 2010-05-02  Bruno Haible  <bruno@clisp.org>
13802
13803         wctob: Work around nasty Cygwin 1.7.2 bug.
13804         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
13805         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
13806
13807 2010-05-01  Bruno Haible  <bruno@clisp.org>
13808
13809         fpurge: Sharper test.
13810         * tests/test-fpurge.c (main): Add one more ftell check.
13811         * modules/fpurge-tests (Depends-on): Add ftell.
13812         Suggested by Eric Blake.
13813
13814 2010-05-01  Bruno Haible  <bruno@clisp.org>
13815
13816         ftello: Another test.
13817         * tests/test-ftello3.c: New file.
13818         * modules/ftello-tests (Files): Add it.
13819         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
13820         MOSTLYCLEANFILES.
13821
13822         ftell: Another test.
13823         * tests/test-ftell3.c: New file.
13824         * modules/ftell-tests (Files): Add it.
13825         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
13826         MOSTLYCLEANFILES.
13827
13828 2010-05-01  Bruno Haible  <bruno@clisp.org>
13829
13830         ftell, ftello: Work around Solaris bug.
13831         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
13832         * lib/ftello.c: Include stdio-impl.h.
13833         (ftello): On Solaris, when _IOWRT is set, compute the result without
13834         looking at _IOREAD.
13835         * modules/ftello (Files): Add lib/stdio-impl.h.
13836         * doc/posix-functions/ftell.texi: Mention Solaris bug.
13837         * doc/posix-functions/ftello.texi: Likewise.
13838         Reported by Eric Blake.
13839
13840 2010-05-01  Bruno Haible  <bruno@clisp.org>
13841
13842         freading: Adapt to special meaning of _IOREAD flag on Solaris.
13843         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
13844         the _IOWRT flag is also set.
13845
13846 2010-05-01  Bruno Haible  <bruno@clisp.org>
13847
13848         Fix doc about a HP-UX stdio bug.
13849         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
13850         * doc/posix-functions/ftello.texi: Likewise.
13851
13852 2010-05-01  Bruno Haible  <bruno@clisp.org>
13853
13854         lseek test: Fix failure on Solaris.
13855         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
13856         output.
13857
13858 2010-04-30  Jim Meyering  <meyering@redhat.com>
13859
13860         bootstrap: don't ignore failure to generate po*/Makevars
13861         * build-aux/bootstrap (with_gettext): Don't ignore failure
13862         to create po/Makevars or runtime-po/Makevars.
13863
13864 2010-04-29  Eric Blake  <eblake@redhat.com>
13865
13866         headers: relax license to LGPLv2+
13867         * modules/fcntl-h (License): Relax license.
13868         * modules/getopt-posix (License): Likewise.
13869         * modules/locale (License): Likewise.
13870         * modules/math (License): Likewise.
13871         * modules/pty (License): Likewise.
13872         * modules/sched (License): Likewise.
13873         * modules/search (License): Likewise.
13874         * modules/spawn (License): Likewise.
13875         * modules/stdarg (License): Likewise.
13876         * modules/sysexits (License): Likewise.
13877
13878 2010-04-29  Jim Meyering  <meyering@redhat.com>
13879
13880         inttypes: relax license to LGPLv2+
13881         * modules/inttypes (License): Relax license.
13882
13883 2010-04-29  Simon Josefsson  <simon@josefsson.org>
13884
13885         * top/maint.mk (indent): Run twice to produce idempotent results.
13886
13887 2010-04-28  Bruno Haible  <bruno@clisp.org>
13888
13889         getdate: Generate getdate.c in the source directory.
13890         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
13891         MOSTLYCLEANFILES.
13892         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
13893
13894 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
13895
13896         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
13897         is not declared as a const *; avoid warnings in that case.
13898
13899 2010-04-28  Eric Blake  <eblake@redhat.com>
13900
13901         canonicalize-lgpl: avoid compiler warning
13902         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
13903         declaration' / 'extraneous semicolon' warning with some compilers.
13904         Reported by Andreas Gruenbacher.
13905
13906 2010-04-28  Jim Meyering  <meyering@redhat.com>
13907
13908         init.sh: ensure a more reliable exit status when exiting via trap
13909         * tests/init.sh (setup_): Don't rely on $? in signal handler.
13910         Inspired by patches from Dmitry V. Levin.
13911         Also trap on signal 3 (SIGQUIT).
13912
13913 2010-04-27  Bruno Haible  <bruno@clisp.org>
13914
13915         Update doc about utimes().
13916         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
13917         'utimens' module.
13918         Reported by Andreas Gruenbacher <agruen@suse.de>.
13919
13920 2010-04-27  Eric Blake  <eblake@redhat.com>
13921
13922         full-read, full-write: relax license
13923         * modules/full-read (License): Drop to LGPLv2+.
13924         * modules/full-write (License): Likewise.
13925         * modules/safe-read (License): Likewise.
13926         * modules/safe-write (License): Likewise.
13927
13928         pthread: mention library for linking
13929         * modules/pthread (Link): Mention $(LIB_PTHREAD).
13930
13931 2010-04-27  Jim Meyering  <meyering@redhat.com>
13932
13933         maint.mk: fix a bug introduced in last change
13934         * top/maint.mk (gl_assured_headers_): Now that all names are on
13935         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
13936         is not anchored to end of word, it should be adequate.
13937
13938         maint.mk: avoid side-effect in latest syntax-check
13939         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
13940         to run commands via $(shell...), and hence to incur cost only when
13941         the new rule is actually run.
13942
13943         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
13944         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
13945         and use that to create a regexp used to detect all #if HAVE_..._H uses.
13946         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
13947         (gl_assured_headers_, az_, AZ_): Define.
13948         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
13949
13950 2010-04-26  Jim Meyering  <jim@meyering.net>
13951             Bruno Haible  <bruno@clisp.org>
13952
13953         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
13954         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
13955         Prompted by an exchange with Gilles Espinasse.
13956
13957 2010-04-26  Jim Meyering  <meyering@redhat.com>
13958
13959         git-version-gen: aesthetic tweak
13960         * build-aux/git-version-gen: Use "$nl" rather than a literal,
13961         so that the command remains on a single line.
13962
13963 2010-04-26  Eric Blake  <eblake@redhat.com>
13964
13965         git-version-gen: allow use on EBCDIC hosts
13966         * build-aux/git-version-gen (dirty): Use literal rather than tying
13967         ourselves to ascii.
13968         Reported by Steve Goetze.
13969
13970 2010-04-25  Bruno Haible  <bruno@clisp.org>
13971
13972         netdb: Add support for GNULIB_POSIXCHECK.
13973         * lib/netdb.in.h: Include warn-on-use.h.
13974         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
13975         functions are used when GNULIB_POSIXCHECK is defined and the
13976         getaddrinfo module is not in use.
13977         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
13978         freeaddrinfo, gai_strerror, getnameinfo are declared.
13979         * modules/netdb (Depends-on): Add warn-on-use.
13980         (Makefile.am): Include warn-on-use.h in netdb.h.
13981
13982 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
13983
13984         build: avoid "make check" failure without .git/ directory
13985         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
13986         there is no .git/ directory.
13987
13988 2010-04-25  Bruno Haible  <bruno@clisp.org>
13989
13990         ptsname: Fix misuse of ttyname_r.
13991         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
13992         of errno.
13993
13994 2010-04-25  Bruno Haible  <bruno@clisp.org>
13995
13996         ttyname_r: Make it work on Solaris 10.
13997         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
13998         if the system function has the POSIX declaration. Test whether the
13999         function fails if the buffer is less than 128 bytes large.
14000         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
14001         system's ttyname_r function. Provide a reasonably large buffer.
14002         * modules/ttyname_r (Depends-on): Add extensions.
14003         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
14004
14005 2010-04-25  Bruno Haible  <bruno@clisp.org>
14006
14007         Use the 'extensions' module for some more functions on Solaris.
14008         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
14009         module.
14010         * doc/posix-functions/ctime_r.texi: Likewise.
14011         * doc/posix-functions/getgrgid_r.texi: Likewise.
14012         * doc/posix-functions/getgrnam_r.texi: Likewise.
14013         * doc/posix-functions/getpwnam_r.texi: Likewise.
14014         * doc/posix-functions/getpwuid_r.texi: Likewise.
14015         * doc/posix-functions/readdir_r.texi: Likewise.
14016         * doc/posix-functions/sigwait.texi: Likewise.
14017         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
14018         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
14019
14020 2010-04-25  Bruno Haible  <bruno@clisp.org>
14021
14022         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
14023         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
14024         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
14025         * lib/ttyname_r.c: Include <limits.h>.
14026         (ttyname_r): Define using the system's ttyname_r function, if it exists
14027         and not on Solaris.
14028         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
14029         set.
14030         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
14031         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
14032         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
14033         Reported by Simon Josefsson.
14034
14035 2010-04-25  Bruno Haible  <bruno@clisp.org>
14036
14037         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
14038         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
14039         * doc/posix-functions/ctime_r.texi: Likewise.
14040         * doc/posix-functions/getgrgid_r.texi: Likewise.
14041         * doc/posix-functions/getgrnam_r.texi: Likewise.
14042         * doc/posix-functions/getlogin_r.texi: Likewise.
14043         * doc/posix-functions/getpwnam_r.texi: Likewise.
14044         * doc/posix-functions/getpwuid_r.texi: Likewise.
14045         * doc/posix-functions/readdir_r.texi: Likewise.
14046         * doc/posix-functions/sigwait.texi: Likewise.
14047         * doc/posix-functions/ttyname_r.texi: Likewise.
14048         Reported by Simon Josefsson.
14049
14050 2010-04-25  Bruno Haible  <bruno@clisp.org>
14051
14052         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
14053         * gnulib-tool (func_usage): Document that --with-*-tests options apply
14054         also to --create-testdir.
14055         (func_acceptable): Don't consider the status of *-tests modules here.
14056         (func_modules_transitive_closure): Consider it here, before including a
14057         test module.
14058         (func_import, func_create_testdir): Set inc_all_direct_tests,
14059         inc_all_indirect_tests.
14060         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
14061         --create-testdir and --create-megatestdir.
14062
14063 2010-04-25  Bruno Haible  <bruno@clisp.org>
14064
14065         gnulib-tool: Add --without-*-tests options.
14066         * gnulib-tool (func_usage): Document the --without-*-tests options.
14067         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
14068         excl_unportable_tests): New variables.
14069         Fail if they are specified with --import or --update.
14070         (func_acceptable): Respect the excl_*_tests variables.
14071         (func_import): Set the excl_*_tests variables to empty.
14072
14073 2010-04-25  Simon Josefsson  <simon@josefsson.org>
14074             Bruno Haible  <bruno@clisp.org>
14075
14076         Work around a MacOS X 10.4 bug with openpty.
14077         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
14078         * tests/test-openpty.c (main): Close the master side explicitly.
14079
14080 2010-04-25  Bruno Haible  <bruno@clisp.org>
14081
14082         strnlen: Fix a C++ test error on MacOS X and Solaris.
14083         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
14084         the function is not declared.
14085         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
14086         Simon Josefsson.
14087
14088 2010-04-24  Bruno Haible  <bruno@clisp.org>
14089
14090         Avoid a gcc warning.
14091         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
14092         of correct type for %08lx directive.
14093         Reported by Eric Blake.
14094
14095 2010-04-24  Bruno Haible  <bruno@clisp.org>
14096
14097         vasnprintf: Correct errno value in case of out-of-memory.
14098         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
14099         or sprintf. Use the errno value from SNPRINTF or sprintf.
14100         Reported by Ian Beckwith <ianb@erislabs.net>.
14101
14102 2010-04-24  Bruno Haible  <bruno@clisp.org>
14103
14104         ansi-c++-opt: Find correct compiler when cross-compiling.
14105         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
14106         AC_CHECK_PROGS.
14107         Reported by Simon Josefsson.
14108
14109 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
14110
14111         vc-list-files: Add support for subversion
14112         * build-aux/vc-list-files: Use "svn list" to generate the list of
14113         files controlled by subversion.
14114
14115 2010-04-23  Jim Meyering  <meyering@redhat.com>
14116
14117         vc-list-files tests: convert to use init.sh
14118         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
14119         path_prepend_.
14120         Use Exit, not exit.
14121         Use skip_ rather than open coding it.
14122         Remove trap set-up and compare definitions.
14123         * tests/test-vc-list-files-git.sh: Likewise.
14124         * modules/vc-list-files-tests (Files): Add tests/init.sh.
14125
14126 2010-04-22  Simon Josefsson  <simon@josefsson.org>
14127
14128         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
14129         backup files.
14130
14131 2010-04-21  Simon Josefsson  <simon@josefsson.org>
14132
14133         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
14134
14135 2010-04-20  Eric Blake  <eblake@redhat.com>
14136
14137         tests: be robust to ignored SIGPIPE
14138         * tests/test-select-in.sh: Consume all output.
14139         * tests/test-lseek.sh: Check correct exit status, while avoiding
14140         EPIPE.
14141
14142 2010-04-20  Simon Josefsson  <simon@josefsson.org>
14143             Bruno Haible  <bruno@clisp.org>
14144
14145         visibility: Don't use -fvisibility if it leads to a warning.
14146         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
14147         yes, don't pretend that visibility works if it leads to a warning.
14148         Reported by Mike Gran <spk121@yahoo.com>.
14149
14150 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
14151
14152         * build-aux/bootstrap: Use "git -h" for testing for supported options
14153         instead of "git --help".  The short-form option only shows a summary,
14154         and doesn't layout the full man page.  Grep for the full option name
14155         in the summary, too.
14156
14157 2010-04-19  Bruno Haible  <bruno@clisp.org>
14158
14159         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
14160         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
14161         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
14162         mention of RELOCATABLE_STRIP.
14163         Reported by Sylvain Beucler <beuc@beuc.net>.
14164
14165 2010-04-19  Bruno Haible  <bruno@clisp.org>
14166
14167         * lib/diffseq.h: Fix typo in comment.
14168         Reported by Eric Blake.
14169
14170 2010-04-19  Bruno Haible  <bruno@clisp.org>
14171
14172         ioctl: Move autoconf macro to a .m4 file.
14173         * m4/ioctl.m4: New file, extracted from modules/ioctl.
14174         * modules/ioctl (Files): Add it.
14175         (configure.ac): Simply invoke gl_FUNC_IOCTL.
14176         Reported by Ian Beckwith <ianb@erislabs.net>.
14177
14178 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
14179             Bruno Haible  <bruno@clisp.org>
14180
14181         diffseq: Accommodate use-case with abstract arrays.
14182         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
14183         is not defined.
14184         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
14185         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
14186
14187 2010-04-18  Bruno Haible  <bruno@clisp.org>
14188
14189         * doc/posix-headers/stdbool.texi: More precise wording.
14190
14191 2010-04-17  Jim Meyering  <meyering@redhat.com>
14192
14193         maint.mk: use gnu-style indentation in an embedded perl script
14194         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
14195         Rename variable: s/two/last_two_bytes/
14196
14197 2010-04-16  Eric Blake  <eblake@redhat.com>
14198
14199         test-stdbool: skip test that fails with Solaris CC
14200         * tests/test-stdbool.c (f): Skip test that causes compilation
14201         error under buggy C++ compiler.
14202         * lib/stdbool.in.h: Document the limitation.
14203         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
14204
14205         setenv: allow compilation with C++
14206         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
14207         register keyword.
14208
14209         stdint: allow test to pass with C++
14210         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
14211
14212         getopt: allow compilation with C++
14213         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
14214         struct.
14215         * lib/getopt.c (_getopt_internal_r): Use correct type.
14216         Reported by Dagobert Michelson, via Joel E. Denny.
14217
14218 2010-04-16  Bruno Haible  <bruno@clisp.org>
14219
14220         Override netdb.h always.
14221         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
14222         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
14223         Reported by Ludovic Courtès <ludo@gnu.org>.
14224
14225 2010-04-15  Bruno Haible  <bruno@clisp.org>
14226
14227         openpty: Fix mistake from 2010-03-21.
14228         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
14229         Reported by Simon Josefsson.
14230
14231 2010-04-15  Eric Blake  <eblake@redhat.com>
14232
14233         test-forkpty: fix expected signature
14234         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
14235         Reported by Simon Josefsson.
14236
14237 2010-04-15  Jim Meyering  <meyering@redhat.com>
14238
14239         maint.mk: texinfo_suffix_re_: correct the default regexp
14240         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
14241
14242         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
14243         make it configurable via texinfo_suffix_re_.
14244
14245 2010-04-14  Eric Blake  <eblake@redhat.com>
14246
14247         strtok_r: relax license to LGPLv2+
14248         * modules/strtok_r (License): Relax license.
14249         Reported by Matthias Bolte.
14250
14251 2010-04-14  Simon Josefsson  <simon@josefsson.org>
14252
14253         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
14254         version 1.4.4 by default instead of requiring the libgcrypt
14255         version used during build.  This makes it possible to use the
14256         application with older but still binary compatible libgcrypt
14257         versions.
14258
14259 2010-04-13  Eric Blake  <eblake@redhat.com>
14260
14261         getopt-gnu: match recent glibc fixes and posix ruling
14262         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
14263         '+' handling, when requesting extensions.
14264         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
14265         'W;' handling.
14266         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
14267         * doc/posix-functions/getopt.texi (getopt): Document this.
14268         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
14269         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
14270         Likewise.
14271
14272         getopt: merge bug fixes from glibc
14273         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
14274         diagnostics.  Honor '+:' correctly.  Reject ';'.
14275
14276         getopt-posix: detect MacOS bug
14277         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
14278         optind when missing a required argument.
14279         * doc/posix-functions/getopt.texi (getopt): Document the bug.
14280         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
14281         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
14282         Likewise.
14283
14284         getopt-posix: avoid spurious failure on Solaris
14285         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
14286         an indicator that setting optind=1 is sufficient for reset.
14287
14288         getopt-posix: avoid spurious failure on FreeBSD
14289         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
14290         in POSIX mode, since the m4 test uses it.
14291
14292         gnulib-tool: silence warning on BSD sh
14293         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
14294
14295 2010-04-13  Jim Meyering  <meyering@redhat.com>
14296
14297         doc: users.txt: GNU patch now uses gnulib
14298         * users.txt: Add patch.
14299
14300 2010-04-12  Jim Meyering  <meyering@redhat.com>
14301
14302         maint.mk: generate more concise timing data for syntax-check rules
14303         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
14304         " done" from each line that reports a syntax-check test duration.
14305
14306 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
14307
14308         git-version-gen: use "git update-index..." rather than "git status"
14309         * build-aux/git-version-gen: Use git update-index --refresh, not
14310         "git status".  With some versions of git, "git status" would fail
14311         to update the index and result in an unwarranted "-dirty" suffix.
14312
14313 2010-04-11  Jim Meyering  <meyering@redhat.com>
14314
14315         openat: correct formatting (no semantic change)
14316         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
14317         Suggested by Bruno Haible.
14318
14319 2010-04-11  Bruno Haible  <bruno@clisp.org>
14320
14321         Stricter declaration checking in testdirs.
14322         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
14323         If for_tests is true, augment AM_CPPFLAGS to define
14324         GNULIB_STRICT_CHECKING.
14325         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
14326         GNULIB_STRICT_CHECKING is defined, verify that the function is
14327         declared.
14328
14329 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
14330             Bruno Haible  <bruno@clisp.org>
14331
14332         libunistring: Improve configure output.
14333         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
14334         Don't say "consider installing GNU libunistring" when checking again
14335         with libiconv.
14336
14337 2010-04-11  Bruno Haible  <bruno@clisp.org>
14338
14339         libunistring: Correct value of $LTLIBUNISTRING.
14340         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
14341         correct the value of $LTLIBUNISTRING.
14342
14343 2010-04-11  Bruno Haible  <bruno@clisp.org>
14344
14345         havelib: Add static libraries to LIBS in the right order.
14346         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
14347         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
14348
14349 2010-04-11  Bruno Haible  <bruno@clisp.org>
14350
14351         libunistring: Detect libunistring also when it depends on libiconv.
14352         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
14353         the second AC_LIB_HAVE_LINKFLAGS invocation.
14354
14355 2010-04-11  James Youngman  <jay@gnu.org>
14356
14357         close-stream: declare local scalars to be "const"
14358         * lib/close-stream.c (close_stream): Make boolean variables const
14359         to document the fact that we set but do not change them.
14360
14361 2010-04-11  Bruno Haible  <bruno@clisp.org>
14362
14363         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
14364
14365 2010-04-11  Jim Meyering  <meyering@redhat.com>
14366
14367         maint.mk: don't include dist-check.mk
14368         * top/maint.mk: Remove bogus include directive.
14369
14370         maint.mk: improve empty-line-at-EOF check
14371         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
14372         solution, rather than tail+Perl-based one.  The latter would read
14373         a few kilobytes from the end of each file, and did not handle empty
14374         files properly.
14375
14376         maint.mk: print the elapsed time for each syntax-check rule
14377         * top/maint.mk (sc_m_rules_): Save start time in a file.
14378         (sc_z_rules_): New rules: remove temp file and print elapsed time.
14379         (local-check): Interpose the .z rules
14380
14381 2010-04-11  Jim Meyering  <meyering@redhat.com>
14382
14383         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
14384         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
14385         empty file with one that ends in an empty line.
14386
14387 2010-04-10  Bruno Haible  <bruno@clisp.org>
14388
14389         mkdir: Make it work on mingw64.
14390         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
14391         * lib/mkdir.c: Update comment.
14392         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
14393
14394 2010-04-10  Bruno Haible  <bruno@clisp.org>
14395
14396         Don't override improved macro from newer autoconf.
14397         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
14398         autoconf >= 2.62.
14399         Reported by Joel E. Denny <jdenny@clemson.edu>.
14400
14401 2010-04-10  Jim Meyering  <meyering@redhat.com>
14402
14403         maint.mk: new syntax-check rule: prohibit empty lines at end of file
14404         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
14405
14406         maint.mk: correct a diagnostic
14407         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
14408         in diagnostic; now use $prohibit.
14409
14410 2010-04-10  Bruno Haible  <address@hidden>
14411
14412         fchownat: Fix a C++ test error on Solaris 8.
14413         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
14414         the function does not exist.
14415
14416 2010-04-10  Bruno Haible  <bruno@clisp.org>
14417
14418         vasnprintf: Add more tests.
14419         * tests/test-vasnprintf-posix.c: Include <errno.h>.
14420         (test_function): Test converting an invalid wide string.
14421
14422         vasnprintf: Correct handling of unconvertible wide string arguments.
14423         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
14424         VASNPRINTF.
14425         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
14426         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
14427         smaller than the expected maximum need for the directive. Set errno to
14428         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
14429         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
14430         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
14431         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
14432         * modules/vasnprintf (Files): Add m4/printf.m4.
14433         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
14434
14435 2010-04-10  Bruno Haible  <bruno@clisp.org>
14436
14437         vasnprintf: Fix crash in %ls directive.
14438         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
14439         string is passed as argument to %ls, with no precision and no width.
14440         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
14441
14442 2010-04-10  Bruno Haible  <bruno@clisp.org>
14443
14444         vasnprintf: Fix multiple test failures on mingw.
14445         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
14446         _snprintf, or snwprintf, not _snwprintf.
14447
14448 2010-04-10  Bruno Haible  <bruno@clisp.org>
14449
14450         write: Fix a C++ test error on mingw.
14451         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
14452
14453 2010-04-10  Bruno Haible  <bruno@clisp.org>
14454
14455         vasnprintf test: Reduce code duplication.
14456         * tests/test-vasnprintf.c (test_function): New function, extracted from
14457         test_vasnprintf.
14458         (test_vasnprintf, test_asnprintf): Invoke it.
14459
14460 2010-04-10  Bruno Haible  <bruno@clisp.org>
14461
14462         strnlen: Fix warning in C++ mode on MacOS X.
14463         * lib/string.in.h (strnlen): Use the modern idiom.
14464         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
14465         defining strnlen as a macro already in <config.h>.
14466         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
14467         REPLACE_STRNLEN.
14468         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
14469         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
14470
14471 2010-04-08  James Youngman  <jay@gnu.org>
14472
14473         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
14474         the example.
14475
14476 2010-04-09  Jim Meyering  <meyering@redhat.com>
14477
14478         maint.mk: print better diagnostic when there is no $(_hv_file)
14479         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
14480         announce that when $(_hv_file) (aka help-version) does not exist.
14481
14482         init.sh: run tr in the "C" locale to avoid multibyte interpretation
14483         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
14484         not try to interpret its random input bytes.  Jarno Rajahalme reported
14485         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
14486         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
14487         (mktempd_): Likewise, just in case.
14488
14489         ftruncate: add two years to projected module removal date: 2012
14490         * m4/ftruncate.m4: Adjust comments.
14491
14492         ftruncate: mark module as obsolete; even MinGW provides it, now
14493         * modules/ftruncate (Status): Obsolete.
14494         (Notice): Say that.
14495         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
14496         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
14497
14498 2010-04-08  Bruno Haible  <bruno@clisp.org>
14499
14500         Fix side effects from tests-related modules.
14501         * modules/dprintf-posix (Comment): New section.
14502         * modules/fprintf-posix (Comment): Likewise.
14503         * modules/obstack-printf-posix (Comment): Likewise.
14504         * modules/printf-posix (Comment): Likewise.
14505         * modules/snprintf-posix (Comment): Likewise.
14506         * modules/sprintf-posix (Comment): Likewise.
14507         * modules/vasnprintf-posix (Comment): Likewise.
14508         * modules/vasprintf-posix (Comment): Likewise.
14509         * modules/vdprintf-posix (Comment): Likewise.
14510         * modules/vfprintf-posix (Comment): Likewise.
14511         * modules/vprintf-posix (Comment): Likewise.
14512         * modules/vsnprintf-posix (Comment): Likewise.
14513         * modules/vsprintf-posix (Comment): Likewise.
14514         * modules/xprintf-posix (Comment): Likewise.
14515         * modules/xvasprintf-posix (Comment): Likewise.
14516         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
14517         * modules/floorf-tests (Depends-on): Likewise.
14518         * modules/round-tests (Depends-on): Likewise.
14519         * modules/roundf-tests (Depends-on): Likewise.
14520         * modules/trunc-tests (Depends-on): Likewise.
14521         * modules/truncf-tests (Depends-on): Likewise.
14522         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
14523         'fprintf-posix' module is not present.
14524         * tests/test-floorf2.c (check): Likewise.
14525         * tests/test-trunc2.c (check): Likewise.
14526         * tests/test-truncf2.c (check): Likewise.
14527         * tests/test-round2.c (equal): Likewise.
14528         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
14529
14530 2010-04-07  Karl Berry  <karl@gnu.org>
14531
14532         * config/srclist.txt,
14533         * config/srclistvars.sh,
14534         * config/srclist-update: doc fixes.
14535
14536 2010-04-07  Jim Meyering  <meyering@redhat.com>
14537
14538         maint.mk: add a PATH crosschecking syntax-check rule
14539         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
14540         Useful if you use a test like the one in help-version (coreutils,
14541         diffutils, grep, gzip) that ensures $(VERSION) matches what is
14542         printed by prog --version.
14543
14544 2010-04-06  Bruno Haible  <bruno@clisp.org>
14545
14546         Fix link error on mingw.
14547         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
14548         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
14549
14550 2010-04-06  Bruno Haible  <bruno@clisp.org>
14551
14552         Assume rmdir exists.
14553         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
14554
14555 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
14556
14557         doc: update users.txt
14558         * users.txt: Add gcal.
14559
14560 2010-04-06  Jim Meyering  <meyering@redhat.com>
14561
14562         init.sh: simply unset TMPDIR rather than risking env -i
14563         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
14564         although it probably works fine on all Unix-based systems, some
14565         systems (Cygwin?) cannot tolerate a totally cleared environment.
14566         Suggestion from Eric Blake.
14567
14568 2010-04-06  Jim Meyering  <meyering@redhat.com>
14569
14570         init.sh: portability fix: use env's POSIX-specified -i option not -u
14571         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
14572         than unportable env -u.  Solaris 5.11's env lacks support for -u.
14573
14574 2010-04-05  Bruno Haible  <bruno@clisp.org>
14575
14576         btowc: Work around Cygwin 1.7.2 bug.
14577         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
14578         does not map NUL to 0.
14579         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
14580
14581 2010-04-05  Bruno Haible  <bruno@clisp.org>
14582
14583         Make the multithread modules work on Cygwin 1.7.2.
14584         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
14585         imported symbols can be declared weak, so that it returns "no" on
14586         Cygwin 1.7.2.
14587
14588 2010-04-05  Bruno Haible  <bruno@clisp.org>
14589
14590         Use the module 'strncat'.
14591         * modules/unistr/u8-strncat (Depends-on): Add strncat.
14592
14593         Tests for module 'strncat'.
14594         * modules/strncat-tests: New file.
14595         * tests/test-strncat.c: New file.
14596
14597         New module 'strncat'.
14598         * lib/string.in.h (strncat): New declaration.
14599         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
14600         * m4/strncat.m4: New file, based on m4/memchr.m4.
14601         * modules/strncat: New file.
14602         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
14603         is declared.
14604         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
14605         REPLACE_STRNCAT.
14606         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
14607         REPLACE_STRNCAT.
14608         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
14609         module.
14610         * tests/test-string-c++.cc: Check signature of strncat.
14611
14612 2010-04-05  Jim Meyering  <meyering@redhat.com>
14613
14614         xstrtoumax-tests: convert to use init.sh
14615         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
14616         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
14617         Use Exit, not exit.
14618         Remove uses of $EXEEXT and "./" to run a program in the current dir.
14619
14620         xstrtoimax-tests: convert to use init.sh
14621         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
14622         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
14623         Use Exit, not exit.
14624         Remove uses of $EXEEXT and "./" to run a program in the current dir.
14625
14626 2010-04-05  Bruno Haible  <bruno@clisp.org>
14627
14628         sys_socket: Avoid #define replacements in C++ mode.
14629         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
14630         warning to the function if possible, rather than #defining the symbol
14631         to a dysfunctional alias.
14632
14633 2010-04-05  Bruno Haible  <bruno@clisp.org>
14634
14635         fseeko: Fix C++ test error on mingw.
14636         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
14637         gl_FUNC_FSEEKO.
14638         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
14639         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
14640         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
14641         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
14642
14643 2010-04-05  Bruno Haible  <bruno@clisp.org>
14644
14645         duplocale: Improve test output.
14646         * tests/test-duplocale.c (main): Print reason for skipped test.
14647
14648 2010-04-05  Bruno Haible  <bruno@clisp.org>
14649
14650         Assume rmdir exists.
14651         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
14652         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
14653
14654 2010-04-05  Bruno Haible  <bruno@clisp.org>
14655
14656         Fix link error on Solaris 8 with cc.
14657         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
14658
14659 2010-04-05  Bruno Haible  <bruno@clisp.org>
14660
14661         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
14662         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
14663
14664 2010-04-05  Bruno Haible  <bruno@clisp.org>
14665
14666         vasprintf: Update documentation.
14667         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
14668
14669 2010-04-05  Bruno Haible  <bruno@clisp.org>
14670
14671         ptsname: Improve test.
14672         * tests/test-ptsname.c (main): Also try the various master names of BSD
14673         systems.
14674
14675 2010-04-05  Bruno Haible  <bruno@clisp.org>
14676
14677         memchr: Avoid a possible C++ test error.
14678         * lib/string.in.h (memchr): Provide declaration if function is missing.
14679         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
14680         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
14681         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
14682         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
14683
14684 2010-04-05  Bruno Haible  <bruno@clisp.org>
14685
14686         strtok_r: Improve idiom.
14687         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
14688         AC_LIBOBJ is used.
14689
14690 2010-04-05  Bruno Haible  <bruno@clisp.org>
14691
14692         strdup: Improve idiom.
14693         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
14694         AC_LIBOBJ is used.
14695         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
14696         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
14697         when AC_LIBOBJ is used.
14698
14699 2010-04-05  Bruno Haible  <bruno@clisp.org>
14700
14701         mbsinit, mbrtowc, wcrtomb: Improve idioms.
14702         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
14703         don't set REPLACE_MBSINIT to 1.
14704         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
14705         don't set REPLACE_MBRTOWC to 1.
14706         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
14707         exist, don't set REPLACE_MBSRTOWCS to 1.
14708         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
14709         exist, don't set REPLACE_MBSNRTOWCS to 1.
14710         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
14711         don't set REPLACE_WCRTOMB to 1.
14712         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
14713         exist, don't set REPLACE_WCSRTOMBS to 1.
14714         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
14715         exist, don't set REPLACE_WCSNRTOMBS to 1.
14716
14717 2010-04-05  Bruno Haible  <bruno@clisp.org>
14718
14719         ldexpl: Improve idiom.
14720         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
14721         make sure to set HAVE_DECL_LDEXPL to 0.
14722
14723 2010-04-05  Jim Meyering  <meyering@redhat.com>
14724
14725         xstrtol-tests: convert to use init.sh
14726         * modules/xstrtol-tests (Files): Add tests/init.sh.
14727         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
14728         Use Exit, not exit.
14729         Remove uses of $EXEEXT and "./" to run a program in the current dir.
14730
14731         atexit-tests: convert to use init.sh
14732         * modules/atexit-tests (Files): Add tests/init.sh.
14733         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
14734         Use Exit, not exit.
14735         Remove uses of $EXEEXT and "./" to run a program in the current dir.
14736
14737         init.sh: fix typo
14738         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
14739
14740         init.sh: make it easier for a test script to write to the tty, ...
14741         when using automake's parallel-tests mode.
14742         * tests/init.sh (stderr_fileno_): Define overridable variable.
14743         (warn_): New function, to use it.
14744         (fail_, skip_, framework_failure_): Use warn_.
14745
14746 2010-04-04  Bruno Haible  <bruno@clisp.org>
14747
14748         btowc: Avoid warning.
14749         * lib/btowc.c: Include <stdlib.h>.
14750         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
14751
14752 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
14753             Bruno Haible  <bruno@clisp.org>
14754
14755         wchar: Port to NetBSD 1.5.
14756         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
14757         * lib/wctype.in.h (WEOF): Likewise.
14758
14759 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
14760             Bruno Haible  <bruno@clisp.org>
14761
14762         Port extended stdio to NetBSD 1.5.
14763         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
14764         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
14765         older.
14766
14767 2010-04-04  Bruno Haible  <bruno@clisp.org>
14768
14769         string: Remove unused substitution.
14770         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
14771         HAVE_DECL_STRERROR.
14772         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
14773
14774 2010-04-04  Bruno Haible  <bruno@clisp.org>
14775
14776         strtod: Avoid a possible C++ test error.
14777         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
14778         set REPLACE_STRTOD.
14779
14780 2010-04-04  Bruno Haible  <bruno@clisp.org>
14781
14782         strerror: Update documentation.
14783         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
14784
14785 2010-04-04  Bruno Haible  <bruno@clisp.org>
14786
14787         stdio: Fix some C++ test errors on Solaris 8 with GCC.
14788         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
14789         _GL_CXXALIAS_SYS_CAST.
14790
14791 2010-04-04  Bruno Haible  <bruno@clisp.org>
14792
14793         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
14794         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
14795         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
14796         REPLACE_FREXPL to 1.
14797         * doc/posix-functions/frexpl.texi: Update documentation.
14798
14799 2010-04-04  Bruno Haible  <bruno@clisp.org>
14800
14801         math: Fix some C++ test errors on Solaris 8 and Cygwin.
14802         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
14803
14804 2010-04-04  Bruno Haible  <bruno@clisp.org>
14805
14806         Implement nanosleep for native Windows.
14807         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
14808
14809 2010-04-04  Bruno Haible  <bruno@clisp.org>
14810
14811         math: Fix some C++ test errors on Solaris 8.
14812         * lib/math.in.h (truncf, trunc): Use simpler idiom.
14813
14814 2010-04-04  Bruno Haible  <bruno@clisp.org>
14815
14816         math: Fix some C++ test errors on Cygwin.
14817         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
14818         truncl): Provide declaration if the system does not have it.
14819         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
14820         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
14821         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
14822         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
14823         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
14824         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
14825         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
14826         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
14827         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
14828         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
14829         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
14830         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
14831         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
14832         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
14833         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
14834         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
14835         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
14836         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
14837         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
14838         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
14839         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
14840         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
14841
14842 2010-04-04  Bruno Haible  <bruno@clisp.org>
14843
14844         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
14845         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
14846         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
14847         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
14848         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
14849         * m4/isinf.m4 (gl_ISINF): Likewise.
14850         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14851
14852 2010-04-04  Bruno Haible  <bruno@clisp.org>
14853
14854         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
14855         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14856
14857 2010-04-04  Bruno Haible  <bruno@clisp.org>
14858
14859         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
14860         * modules/tmpfile (configure.ac): Update.
14861
14862         tmpfile: Fix C++ test error on mingw.
14863         * lib/stdio.in.h (tmpfile): New declaration.
14864         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
14865         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
14866         * modules/tmpfile (Depends-on): Add stdio.
14867         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
14868         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
14869         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
14870         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
14871         REPLACE_TMPFILE.
14872         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
14873
14874 2010-04-04  Bruno Haible  <bruno@clisp.org>
14875
14876         ioctl: Fix C++ test error on mingw.
14877         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
14878         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
14879         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
14880
14881 2010-04-03  Bruno Haible  <bruno@clisp.org>
14882
14883         wcwidth: Fix C++ test error on mingw.
14884         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
14885         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
14886         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
14887
14888 2010-04-03  Bruno Haible  <bruno@clisp.org>
14889
14890         nanosleep: Fix C++ test error on mingw.
14891         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
14892         * lib/time.in.h (nanosleep): Use modern idiom.
14893         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
14894         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
14895         REPLACE_NANOSLEEP to 1.
14896         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
14897         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
14898
14899 2010-04-03  Bruno Haible  <bruno@clisp.org>
14900
14901         strptime: Fix C++ test error on mingw.
14902         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
14903         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
14904         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
14905         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
14906         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
14907         not REPLACE_STRPTIME.
14908         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
14909         REPLACE_STRPTIME.
14910
14911 2010-04-03  Bruno Haible  <bruno@clisp.org>
14912
14913         timegm: Fix C++ test error on mingw.
14914         * lib/time.in.h (timegm): Use modern idiom.
14915         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
14916         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
14917         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
14918         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
14919
14920 2010-04-03  Bruno Haible  <bruno@clisp.org>
14921
14922         timegm: Assume declaration if function exists.
14923         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
14924         if it exists. Don't clobber ac_cv_func_timegm.
14925
14926 2010-04-03  Bruno Haible  <bruno@clisp.org>
14927
14928         time_r: Fix C++ test error on mingw.
14929         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
14930         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
14931         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
14932         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
14933         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
14934
14935 2010-04-03  Bruno Haible  <bruno@clisp.org>
14936
14937         time_r: Minor updates.
14938         * modules/time_r (Description): Mention the provided functions.
14939         * lib/time_r.c: Don't include <string.h>.
14940         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
14941         * doc/posix-functions/localtime_r.texi: Likewise.
14942
14943 2010-04-03  Bruno Haible  <bruno@clisp.org>
14944
14945         time: Fix regression introduced on 2010-03-08.
14946         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
14947         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
14948
14949 2010-04-03  Jim Meyering  <meyering@redhat.com>
14950
14951         maint.mk: don't silently disable project-specific syntax-check rules
14952         * top/maint.mk (_prohibit_regexp): Define, to help people realize
14953         that they need to convert their project-specific syntax-check rules
14954         to use the new _sc_search_regexp.
14955
14956 2010-04-03  Bruno Haible  <bruno@clisp.org>
14957
14958         fchdir: Fix regression introduced on 2010-03-08.
14959         * lib/unistd.in.h (fchdir): Fix declaration.
14960         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
14961         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
14962         REPLACE_FCHDIR.
14963         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
14964         REPLACE_FCHDIR.
14965
14966 2010-04-03  Bruno Haible  <bruno@clisp.org>
14967
14968         getpagesize: Fix C++ test error on mingw.
14969         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
14970         system does not declare the function.
14971         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
14972         declared.
14973         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14974         HAVE_DECL_GETPAGESIZE.
14975         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
14976
14977 2010-04-03  Bruno Haible  <bruno@clisp.org>
14978
14979         stdio: Make C++ tests work on mingw.
14980         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
14981         does not declare the function.
14982
14983 2010-04-03  Bruno Haible  <bruno@clisp.org>
14984
14985         ftello: Fix C++ test error on mingw.
14986         * lib/stdio.in.h (ftello): Use modern idiom.
14987         * lib/ftello.c (ftello): Renamed from rpl_ftello.
14988         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
14989         is missing and that it needs to be replaced.
14990         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
14991         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
14992         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
14993
14994 2010-04-03  Bruno Haible  <bruno@clisp.org>
14995
14996         fseeko: Fix C++ test error on mingw.
14997         * lib/stdio.in.h (fseeko): Use modern idiom.
14998         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
14999         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
15000         is missing and that it needs to be replaced.
15001         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
15002         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
15003         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
15004
15005 2010-04-03  Bruno Haible  <bruno@clisp.org>
15006
15007         mkstemp: Fix C++ test error on mingw.
15008         * lib/stdlib.in.h (mkstemp): Use modern idiom.
15009         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
15010         function is missing and that it needs to be replaced.
15011         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
15012         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
15013
15014 2010-04-03  Bruno Haible  <bruno@clisp.org>
15015
15016         stpncpy: Fix C++ test error on mingw.
15017         * lib/string.in.h (stpncpy): Use modern idiom.
15018         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
15019         function is missing and that it needs to be replaced.
15020         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
15021         REPLACE_STPNCPY.
15022         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
15023
15024 2010-04-03  Bruno Haible  <bruno@clisp.org>
15025
15026         sys_stat: Fix C++ test error on mingw.
15027         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
15028         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
15029
15030 2010-04-03  Bruno Haible  <bruno@clisp.org>
15031
15032         pty: Update doc.
15033         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
15034
15035 2010-04-03  Bruno Haible  <bruno@clisp.org>
15036
15037         unistd: Fix C++ test error on mingw.
15038         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
15039
15040 2010-04-03  Bruno Haible  <bruno@clisp.org>
15041
15042         Update doc regarding mingw.
15043         * doc/glibc-functions/openpty.texi: Update regarding mingw.
15044         * doc/glibc-functions/login_tty.texi: Likewise.
15045         * doc/glibc-functions/forkpty.texi: Likewise.
15046
15047 2010-04-03  Bruno Haible  <bruno@clisp.org>
15048
15049         stdlib: Avoid compilation failure of c-strtold on mingw.
15050         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
15051
15052 2010-04-03  Bruno Haible  <bruno@clisp.org>
15053
15054         locale: Make C++ tests work on Cygwin and mingw.
15055         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
15056         cannot provide the function.
15057         Reported by Simon Josefsson.
15058
15059 2010-04-03  Bruno Haible  <bruno@clisp.org>
15060
15061         localename: Port to MacOS X 10.6.
15062         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
15063         memory layout of the locales in MacOS X 10.6 as well.
15064         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
15065
15066 2010-04-02  Bruno Haible  <bruno@clisp.org>
15067
15068         gnulib-tool: Ensure that long-running tests are executed last.
15069         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
15070         running tests after the one for the other tests.
15071
15072 2010-04-02  Bruno Haible  <bruno@clisp.org>
15073
15074         gnulib-tool: Ensure the tests in the main directory are executed first.
15075         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
15076         start with the current directory.
15077
15078 2010-04-02  Bruno Haible  <bruno@clisp.org>
15079
15080         Tests for module 'havelib', moved here from GNU gettext.
15081         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
15082         modifications.
15083         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
15084         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
15085         with modifications.
15086         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
15087         modifications.
15088         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
15089         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
15090         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
15091         with modifications.
15092         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
15093         with modifications.
15094         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
15095         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
15096         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
15097         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
15098         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
15099         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
15100         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
15101         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
15102         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
15103         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
15104         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
15105         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
15106         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
15107         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
15108         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
15109         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
15110         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
15111         with modifications.
15112         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
15113         with modifications.
15114         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
15115         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
15116         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
15117         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
15118         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
15119         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
15120         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
15121         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
15122         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
15123         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
15124         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
15125         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
15126         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
15127         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
15128         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
15129         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
15130         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
15131         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
15132         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
15133         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
15134         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
15135         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
15136         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
15137         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
15138         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
15139         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
15140         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
15141         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
15142         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
15143         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
15144         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
15145         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
15146         * tests/havelib/rpathx/rpathx.c: New file, from
15147         gettext/autoconf-lib-link.
15148         * tests/havelib/rpathx/Makefile.am: New file, from
15149         gettext/autoconf-lib-link.
15150         * tests/havelib/rpathx/configure.ac: New file, from
15151         gettext/autoconf-lib-link with modifications.
15152         * tests/havelib/rpathy/rpathy.c: New file, from
15153         gettext/autoconf-lib-link.
15154         * tests/havelib/rpathy/Makefile.am: New file, from
15155         gettext/autoconf-lib-link.
15156         * tests/havelib/rpathy/configure.ac: New file, from
15157         gettext/autoconf-lib-link with modifications.
15158         * tests/havelib/rpathz/rpathz.c: New file, from
15159         gettext/autoconf-lib-link.
15160         * tests/havelib/rpathz/Makefile.am: New file, from
15161         gettext/autoconf-lib-link.
15162         * tests/havelib/rpathz/configure.ac: New file, from
15163         gettext/autoconf-lib-link with modifications.
15164         * tests/havelib/rpathlx/usex.c: New file, from
15165         gettext/autoconf-lib-link.
15166         * tests/havelib/rpathlx/Makefile.am: New file, from
15167         gettext/autoconf-lib-link.
15168         * tests/havelib/rpathlx/configure.ac: New file, from
15169         gettext/autoconf-lib-link with modifications.
15170         * tests/havelib/rpathly/usey.c: New file, from
15171         gettext/autoconf-lib-link.
15172         * tests/havelib/rpathly/Makefile.am: New file, from
15173         gettext/autoconf-lib-link.
15174         * tests/havelib/rpathly/configure.ac: New file, from
15175         gettext/autoconf-lib-link with modifications.
15176         * tests/havelib/rpathlz/usez.c: New file, from
15177         gettext/autoconf-lib-link.
15178         * tests/havelib/rpathlz/Makefile.am: New file, from
15179         gettext/autoconf-lib-link.
15180         * tests/havelib/rpathlz/configure.ac: New file, from
15181         gettext/autoconf-lib-link with modifications.
15182         * tests/havelib/rpathlyx/usey.c: New file, from
15183         gettext/autoconf-lib-link.
15184         * tests/havelib/rpathlyx/Makefile.am: New file, from
15185         gettext/autoconf-lib-link.
15186         * tests/havelib/rpathlyx/configure.ac: New file, from
15187         gettext/autoconf-lib-link with modifications.
15188         * tests/havelib/rpathlzyx/usez.c: New file, from
15189         gettext/autoconf-lib-link.
15190         * tests/havelib/rpathlzyx/Makefile.am: New file, from
15191         gettext/autoconf-lib-link.
15192         * tests/havelib/rpathlzyx/configure.ac: New file, from
15193         gettext/autoconf-lib-link with modifications.
15194         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
15195         with modifications.
15196
15197 2010-04-02  Bruno Haible  <bruno@clisp.org>
15198
15199         gnulib-tool: Create distributed built sources also for the tests.
15200         * gnulib-tool (func_create_testdir): Also generate distributed built
15201         sources in the tests directory.
15202
15203 2010-04-02  Bruno Haible  <bruno@clisp.org>
15204
15205         gnulib-tool: Obey user's environment variables.
15206         * gnulib-tool (func_create_testdir): When creating built sources,
15207         respect the environment variables for autoconf, automake, etc. given by
15208         the user.
15209
15210 2010-04-02  Bruno Haible  <bruno@clisp.org>
15211
15212         gnulib-tool: Provide the value of --m4-base to modules.
15213         * gnulib-tool (func_import, func_create_testdir): Emit a definition
15214         of gl_m4_base.
15215
15216 2010-04-02  Eric Blake  <eblake@redhat.com>
15217
15218         maint.mk: fix some fallout
15219         * NEWS: Document the incompatible change, and its effect on cfg.mk.
15220         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
15221
15222 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
15223
15224         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
15225         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
15226         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
15227         (sc_cast_of_x_alloc_return_value): Likewise.
15228         (sc_cast_of_alloca_return_value): Likewise.
15229         (sc_space_tab): Likewise.
15230         (sc_prohibit_atoi_atof): Likewise.
15231         (sc_prohibit_magic_number_exit): Likewise.
15232         (sc_error_exit_success): Likewise.
15233         (sc_file_system): Likewise.
15234         (sc_prohibit_have_config_h): Likewise.
15235         (sc_require_config_h): Likewise.
15236         (sc_prohibit_HAVE_MBRTOWC): Likewise.
15237         (sc_obsolete_symbols): Likewise.
15238         (sc_changelog): Likewise.
15239         (sc_program_name): Likewise.
15240         (sc_the_the): Likewise.
15241         (sc_trailing_blank): Likewise.
15242         (sc_two_space_separator_in_usage): Likewise.
15243         (sc_useless_cpp_parens): Likewise.
15244         (sc_GPL_version): Likewise.
15245         (sc_GFDL_version): Likewise.
15246         (sc_texinfo_acronym): Likewise.
15247         (sc_prohibit_cvs_keyword): Likewise.
15248         (sc_prohibit_stat_st_blocks): Likewise.
15249         (sc_prohibit_S_IS_definition): Likewise.
15250         (sc_redundant_const): Likewise.
15251         (sc_makefile_TAB_only_indentation): Likewise.
15252         (sc_m4_quote_check): Likewise.
15253         (sc_makefile_path_separator_check): Likewise.
15254         (sc_copyright_check): Likewise.
15255         (sc_Wundef_boolean): Likewise.
15256         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
15257
15258         maint.mk: match 0 or more whitespace-before-function-call '('
15259         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
15260         that have zero or two-and-more spaces between the function name
15261         and the open parenthesis.
15262         (sc_error_message_warn_fatal): Likewise.
15263         (sc_error_message_uppercase): Likewise.
15264         (sc_error_message_period): Likewise.
15265
15266 2010-03-31  Eric Blake  <eblake@redhat.com>
15267
15268         maint.mk: check for [ as well as test
15269         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
15270         Based on a libvirt report by Matthias Bolte.
15271
15272         gnumakefile: don't squelch _version output
15273         * top/GNUmakefile (_version): Create one-shot dependency rather
15274         than using $(shell) when version must be regenerated.
15275         (_autoreconf): Run verbosely, by default.
15276
15277         sys_time: avoid compiler warnings
15278         * lib/sys_time.in.h (includes): Ensure gcc pragma is
15279         unconditional, fixing regression from 2010-03-29.
15280         Reported by Simon Josefsson.
15281
15282 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
15283
15284         maint.mk: s/_header_without_use/_sc_header_without_use/
15285         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
15286         (sc_prohibit_assert_without_use): Use the new name.
15287         (sc_prohibit_close_stream_without_use): Likewise.
15288         (sc_prohibit_getopt_without_use): Likewise.
15289         (sc_prohibit_quotearg_without_use): Likewise.
15290         (sc_prohibit_quote_without_use): Likewise.
15291         (sc_prohibit_long_options_without_use): Likewise.
15292         (sc_prohibit_inttostr_without_use): Likewise.
15293         (sc_prohibit_ignore_value_without_use): Likewise.
15294         (sc_prohibit_error_without_use): Likewise.
15295         (sc_prohibit_xalloc_without_use): Likewise.
15296         (sc_prohibit_hash_without_use): Likewise.
15297         (sc_prohibit_hash_pjw_without_use): Likewise.
15298         (sc_prohibit_safe_read_without_use): Likewise.
15299         (sc_prohibit_argmatch_without_use): Likewise.
15300         (sc_prohibit_canonicalize_without_use): Likewise.
15301         (sc_prohibit_root_dev_ino_without_use): Likewise.
15302         (sc_prohibit_openat_without_use): Likewise.
15303         (sc_prohibit_c_ctype_without_use): Likewise.
15304         (sc_prohibit_signal_without_use): Likewise.
15305         (sc_prohibit_intprops_without_use): Likewise.
15306
15307 2010-03-30  Eric Blake  <eblake@redhat.com>
15308
15309         maint: improve module indicators
15310         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
15311         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
15312         columns, and avoid extra macro expansion.
15313
15314         fdopendir: work around FreeBSD bug
15315         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
15316         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
15317         * modules/dirent (Makefile.am): Substitute it.
15318         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
15319         declaration.
15320         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
15321         fix.
15322         Reported by Christian Weisgerber <naddy@mips.inka.de>.
15323
15324 2010-03-29  Bruno Haible  <bruno@clisp.org>
15325
15326         Emit #pragma system_header after the inclusion guard, not before.
15327         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
15328         guard that spans the entire file, not before. This enables an
15329         optimization in GCC's preprocessor.
15330         * lib/ctype.in.h: Likewise.
15331         * lib/dirent.in.h: Likewise.
15332         * lib/errno.in.h: Likewise.
15333         * lib/float.in.h: Likewise.
15334         * lib/getopt.in.h: Likewise.
15335         * lib/iconv.in.h: Likewise.
15336         * lib/langinfo.in.h: Likewise.
15337         * lib/locale.in.h: Likewise.
15338         * lib/math.in.h: Likewise.
15339         * lib/netdb.in.h: Likewise.
15340         * lib/netinet_in.in.h: Likewise.
15341         * lib/pty.in.h: Likewise.
15342         * lib/sched.in.h: Likewise.
15343         * lib/se-selinux.in.h: Likewise.
15344         * lib/search.in.h: Likewise.
15345         * lib/spawn.in.h: Likewise.
15346         * lib/stdarg.in.h: Likewise.
15347         * lib/stdint.in.h: Likewise.
15348         * lib/string.in.h: Likewise.
15349         * lib/strings.in.h: Likewise.
15350         * lib/sys_file.in.h: Likewise.
15351         * lib/sys_ioctl.in.h: Likewise.
15352         * lib/sys_time.in.h: Likewise.
15353         * lib/sys_times.in.h: Likewise.
15354         * lib/sys_utsname.in.h: Likewise.
15355         * lib/sys_wait.in.h: Likewise.
15356         * lib/sysexits.in.h: Likewise.
15357         * lib/wctype.in.h: Likewise.
15358
15359 2010-03-28  James Youngman  <jay@gnu.org>
15360
15361         save-cwd: don't leak a file descriptor when the caller execs.
15362         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
15363         saved file descriptor.
15364         * modules/save-cwd (Depends-on): Depend on cloexec.
15365
15366 2010-03-29  Bruno Haible  <bruno@clisp.org>
15367
15368         Remove vestiges of fts-lgpl module.
15369         * lib/fts_.h: Assume GNULIB_FTS is 1.
15370         * lib/fts.c: Likewise.
15371         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
15372
15373 2010-03-28  Bruno Haible  <bruno@clisp.org>
15374
15375         Fix definition of tests witness macro.
15376         * gnulib-tool (func_import): Fix definition of witness macro.
15377
15378 2010-03-28  Bruno Haible  <bruno@clisp.org>
15379
15380         Fix ioctl's protoype on glibc systems.
15381         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
15382         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
15383         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
15384         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
15385         signature. If not, arrange to replace the ioctl function.
15386         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
15387         REPLACE_IOCTL.
15388         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
15389         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
15390         Reported by Ludovic Courtès <ludo@gnu.org>.
15391
15392 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
15393
15394         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
15395         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
15396         made it so grep -r --include=GLOB* ... did not work.
15397
15398 2010-03-26  Jim Meyering  <meyering@redhat.com>
15399             Eric Blake  <eblake@redhat.com>
15400
15401         maint.mk: prohibit use of test's -o and -a operators
15402         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
15403
15404 2010-03-28  Bruno Haible  <bruno@clisp.org>
15405
15406         Remove unused GNULIB_XYZ macro definitions.
15407         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
15408         invocation.
15409
15410 2010-03-28  Bruno Haible  <bruno@clisp.org>
15411
15412         Mark privileged tests modules.
15413         * modules/idpriv-drop-tests (Status): New section.
15414         * modules/idpriv-droptemp-tests (Status): New section.
15415
15416 2010-03-28  Bruno Haible  <bruno@clisp.org>
15417
15418         Split C++ tests into separate tests modules.
15419         * modules/dirent-c++-tests: New file, extracted from
15420         modules/dirent-tests.
15421         * modules/dirent-tests: Depend on it.
15422         * modules/fcntl-h-c++-tests: New file, extracted from
15423         modules/fcntl-h-tests.
15424         * modules/fcntl-h-tests: Depend on it.
15425         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
15426         * modules/glob-tests: Depend on it.
15427         * modules/iconv-h-c++-tests: New file, extracted from
15428         modules/iconv-h-tests.
15429         * modules/iconv-h-tests: Depend on it.
15430         * modules/langinfo-c++-tests: New file, extracted from
15431         modules/langinfo-tests.
15432         * modules/langinfo-tests: Depend on it.
15433         * modules/locale-c++-tests: New file, extracted from
15434         modules/locale-tests.
15435         * modules/locale-tests: Depend on it.
15436         * modules/math-c++-tests: New file, extracted from modules/math-tests.
15437         * modules/math-tests: Depend on it.
15438         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
15439         * modules/pty-tests: Depend on it.
15440         * modules/search-c++-tests: New file, extracted from
15441         modules/search-tests.
15442         * modules/search-tests: Depend on it.
15443         * modules/signal-c++-tests: New file, extracted from
15444         modules/signal-tests.
15445         * modules/signal-tests: Depend on it.
15446         * modules/spawn-c++-tests: New file, extracted from
15447         modules/spawn-tests.
15448         * modules/spawn-tests: Depend on it.
15449         * modules/stdio-c++-tests: New file, extracted from
15450         modules/stdio-tests.
15451         * modules/stdio-tests: Depend on it.
15452         * modules/stdlib-c++-tests: New file, extracted from
15453         modules/stdlib-tests.
15454         * modules/stdlib-tests: Depend on it.
15455         * modules/string-c++-tests: New file, extracted from
15456         modules/string-tests.
15457         * modules/string-tests: Depend on it.
15458         * modules/sys_ioctl-c++-tests: New file, extracted from
15459         modules/sys_ioctl-tests.
15460         * modules/sys_ioctl-tests: Depend on it.
15461         * modules/sys_select-c++-tests: New file, extracted from
15462         modules/sys_select-tests.
15463         * modules/sys_select-tests: Depend on it.
15464         * modules/sys_socket-c++-tests: New file, extracted from
15465         modules/sys_socket-tests.
15466         * modules/sys_socket-tests: Depend on it.
15467         * modules/sys_stat-c++-tests: New file, extracted from
15468         modules/sys_stat-tests.
15469         * modules/sys_stat-tests: Depend on it.
15470         * modules/sys_time-c++-tests: New file, extracted from
15471         modules/sys_time-tests.
15472         * modules/sys_time-tests: Depend on it.
15473         * modules/time-c++-tests: New file, extracted from modules/time-tests.
15474         * modules/time-tests: Depend on it.
15475         * modules/unistd-c++-tests: New file, extracted from
15476         modules/unistd-tests.
15477         * modules/unistd-tests: Depend on it.
15478         * modules/wchar-c++-tests: New file, extracted from
15479         modules/wchar-tests.
15480         * modules/wchar-tests: Depend on it.
15481         * modules/wctype-c++-tests: New file, extracted from
15482         modules/wctype-tests.
15483         * modules/wctype-tests: Depend on it.
15484         Reported by Simon Josefsson.
15485
15486 2010-03-28  Bruno Haible  <bruno@clisp.org>
15487
15488         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
15489         * gnulib-tool (func_exists_module): New function, extracted from
15490         func_verify_module.
15491         (func_verify_module): Use it.
15492         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
15493         'foo' only if 'foo' exists.
15494         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
15495         module.
15496
15497 2010-03-28  Bruno Haible  <bruno@clisp.org>
15498
15499         gnulib-tool: Add support for special categories of tests.
15500         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
15501         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
15502         (func_usage): Document them.
15503         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
15504         inc_unportable_tests, inc_all_tests): New variables.
15505         (func_acceptable): Consider these variables.
15506         (func_modules_transitive_closure): Make it work when the 'Status' field
15507         consists of multiple words.
15508         (func_import): Store and restore the values of inc_cxx_tests,
15509         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
15510         inc_all_tests in gnulib-comp.m4.
15511         (func_create_testdir): Set inc_all_tests to true.
15512         * doc/gnulib.texi (Extra tests modules): New section.
15513         Suggested by Jim Meyering.
15514
15515 2010-03-28  Bruno Haible  <bruno@clisp.org>
15516
15517         ansi-c++-opt: Allow turning off the C++ build by default.
15518         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
15519         gl_CXX_CHOICE_DEFAULT_NO is defined.
15520         Requested by Eric Blake.
15521
15522 2010-03-28  Bruno Haible  <bruno@clisp.org>
15523
15524         unistd: Avoid #define replacements in C++ mode.
15525         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
15526         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
15527         setsockopt, shutdown, select): In C++, attach a warning to the function
15528         if possible, rather than #defining the symbol to a dysfunctional alias.
15529         Reported by John W. Eaton <jwe@gnu.org>.
15530
15531 2010-03-28  Bruno Haible  <bruno@clisp.org>
15532
15533         Fix link errors on mingw.
15534         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
15535         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
15536         $(LIBSOCKET).
15537         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
15538         $(LIBSOCKET).
15539
15540 2010-03-28  Bruno Haible  <bruno@clisp.org>
15541             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15542
15543         lib-ignore: Determine different options for different compilers.
15544         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
15545         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
15546         Add comments.
15547         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
15548         * NEWS: Mention the change.
15549
15550 2010-03-27  Bruno Haible  <bruno@clisp.org>
15551
15552         Remove unused GNULIB_XYZ macro definitions.
15553         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
15554         * modules/fseek (configure.ac): Likewise.
15555         * modules/ioctl (configure.ac): Likewise.
15556         * modules/open (configure.ac): Likewise.
15557         * modules/stdlib-safer (configure.ac): Likewise.
15558
15559 2010-03-27  Bruno Haible  <bruno@clisp.org>
15560
15561         Add a remark about certain modules.
15562         * modules/malloc (Comment): New section.
15563         * modules/realloc (Comment): Likewise.
15564         * modules/sigpipe (Comment): Likewise.
15565
15566 2010-03-27  Bruno Haible  <bruno@clisp.org>
15567
15568         Resolve conflict between the two kinds of module indicators.
15569         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
15570         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
15571         * modules/canonicalize (configure.ac): Invoke
15572         gl_MODULE_INDICATOR_FOR_TESTS.
15573         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
15574         GNULIB_XYZ.
15575         * tests/test-dirent-c++.cc: Likewise.
15576         * tests/test-dirent-safer.c: Likewise.
15577         * tests/test-dup2.c: Likewise.
15578         * tests/test-fchdir.c: Likewise.
15579         * tests/test-fcntl-h-c++.cc: Likewise.
15580         * tests/test-getopt.c: Likewise.
15581         * tests/test-getopt.h: Likewise.
15582         * tests/test-langinfo-c++.cc: Likewise.
15583         * tests/test-locale-c++.cc: Likewise.
15584         * tests/test-math-c++.cc: Likewise.
15585         * tests/test-pty-c++.cc: Likewise.
15586         * tests/test-search-c++.cc: Likewise.
15587         * tests/test-signal-c++.cc: Likewise.
15588         * tests/test-spawn-c++.cc: Likewise.
15589         * tests/test-stdio-c++.cc: Likewise.
15590         * tests/test-stdlib-c++.cc: Likewise.
15591         * tests/test-string-c++.cc: Likewise.
15592         * tests/test-sys_ioctl-c++.cc: Likewise.
15593         * tests/test-sys_select-c++.cc: Likewise.
15594         * tests/test-sys_socket-c++.cc: Likewise.
15595         * tests/test-sys_stat-c++.cc: Likewise.
15596         * tests/test-sys_time-c++.cc: Likewise.
15597         * tests/test-time-c++.cc: Likewise.
15598         * tests/test-unistd-c++.cc: Likewise.
15599         * tests/test-wchar-c++.cc: Likewise.
15600         * tests/uninorm/test-u8-nfc.c: Likewise.
15601         * tests/uninorm/test-u8-nfd.c: Likewise.
15602         * tests/uninorm/test-u8-nfkc.c: Likewise.
15603         * tests/uninorm/test-u8-nfkd.c: Likewise.
15604         * tests/uninorm/test-u16-nfc.c: Likewise.
15605         * tests/uninorm/test-u16-nfd.c: Likewise.
15606         * tests/uninorm/test-u16-nfkc.c: Likewise.
15607         * tests/uninorm/test-u16-nfkd.c: Likewise.
15608         * tests/uninorm/test-u32-nfc.c: Likewise.
15609         * tests/uninorm/test-u32-nfc-big.c: Likewise.
15610         * tests/uninorm/test-u32-nfd.c: Likewise.
15611         * tests/uninorm/test-u32-nfd-big.c: Likewise.
15612         * tests/uninorm/test-u32-nfkc.c: Likewise.
15613         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
15614         * tests/uninorm/test-u32-nfkd.c: Likewise.
15615         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
15616         * tests/uninorm/test-u32-normalize-big.c: Likewise.
15617
15618 2010-03-27  Bruno Haible  <bruno@clisp.org>
15619
15620         Distinguish two kinds of module indicators.
15621         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
15622         gl_MODULE_INDICATOR.
15623         (gl_MODULE_INDICATOR): New macro.
15624         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
15625         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
15626         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
15627         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
15628         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
15629         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
15630         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
15631         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
15632         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
15633         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
15634         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
15635         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
15636         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
15637         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
15638         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
15639         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
15640         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
15641         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
15642         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
15643         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
15644         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
15645         * modules/cloexec (configure.ac): Likewise.
15646         * modules/getopt-gnu (configure.ac): Likewise.
15647         * modules/uninorm/u8-normalize (configure.ac): Likewise.
15648         * modules/uninorm/u16-normalize (configure.ac): Likewise.
15649         * modules/uninorm/u32-normalize (configure.ac): Likewise.
15650         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
15651
15652 2010-03-27  Bruno Haible  <bruno@clisp.org>
15653
15654         New module description field 'Comment'.
15655         * gnulib-tool: New option --extract-comment.
15656         (func_usage): Document it.
15657         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
15658         (func_get_comment): New function.
15659         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
15660
15661 2010-03-27  Bruno Haible  <bruno@clisp.org>
15662
15663         Addendum to 2010-02-07 commit.
15664         * gnulib-tool (func_usage): Document --extract-applicability option.
15665
15666 2010-03-27  Bruno Haible  <bruno@clisp.org>
15667
15668         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
15669         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
15670         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
15671         rather than link errors.
15672
15673 2010-03-27  Bruno Haible  <bruno@clisp.org>
15674
15675         Avoid side effects from tests-related modules on the compilation of lib.
15676         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
15677         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
15678         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
15679         parameter. Emit into AM_CPPFLAGS a definition of the designated C
15680         macro.
15681         (func_import): Define a witness macro. Assign it a value that depends
15682         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
15683         tests-related modules.
15684         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
15685         Reported by Jim Meyering.
15686
15687 2010-03-27  Bruno Haible  <bruno@clisp.org>
15688
15689         Factorize common .m4 code.
15690         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
15691         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
15692         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
15693         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
15694         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
15695         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
15696         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
15697         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
15698         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
15699         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
15700         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
15701         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
15702         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
15703         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
15704         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
15705         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
15706         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
15707         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
15708         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
15709         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
15710         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
15711         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
15712         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
15713         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
15714         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
15715         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
15716         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
15717         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
15718         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
15719         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
15720         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
15721         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
15722
15723 2010-03-27  Bruno Haible  <bruno@clisp.org>
15724
15725         Fix a compilation error on Cygwin with g++ >= 4.3.
15726         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
15727         if it is undefined or if we alias it to chmod.
15728         (lstat): Don't warn about the use of this function if it is undefined
15729         or if we alias it to stat.
15730         Reported by Simon Josefsson.
15731
15732 2010-03-27  Bruno Haible  <bruno@clisp.org>
15733
15734         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
15735         * modules/getlogin (configure.ac): Update.
15736
15737         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
15738         * modules/getlogin_r (configure.ac): Update.
15739
15740         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
15741         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
15742         * modules/inet_ntop (configure.ac): Update.
15743
15744         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
15745         * modules/inet_pton (configure.ac): Update.
15746
15747         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
15748         * modules/mbslen (configure.ac): Update.
15749
15750         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
15751         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
15752         * modules/forkpty (configure.ac): Update.
15753         * modules/openpty (configure.ac): Update.
15754
15755 2010-03-26  Simon Josefsson  <simon@josefsson.org>
15756
15757         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
15758         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
15759
15760 2010-03-25  Eric Blake  <eblake@redhat.com>
15761
15762         maint: use pragma consistently across replacement headers
15763         * lib/ctype.in.h (system_header): Hoist for consistent placement.
15764         * lib/dirent.in.h (system_header): Likewise.
15765         * lib/errno.in.h (system_header): Likewise.
15766         * lib/float.in.h (system_header): Likewise.
15767         * lib/getopt.in.h (system_header): Likewise.
15768         * lib/iconv.in.h (system_header): Likewise.
15769         * lib/inttypes.in.h (system_header): Likewise.
15770         * lib/langinfo.in.h (system_header): Likewise.
15771         * lib/locale.in.h (system_header): Likewise.
15772         * lib/math.in.h (system_header): Likewise.
15773         * lib/netdb.in.h (system_header): Likewise.
15774         * lib/netinet_in.in.h (system_header): Likewise.
15775         * lib/pty.in.h (system_header): Likewise.
15776         * lib/sched.in.h (system_header): Likewise.
15777         * lib/se-selinux.in.h (system_header): Likewise.
15778         * lib/search.in.h (system_header): Likewise.
15779         * lib/spawn.in.h (system_header): Likewise.
15780         * lib/stdarg.in.h (system_header): Likewise.
15781         * lib/stdint.in.h (system_header): Likewise.
15782         * lib/string.in.h (system_header): Likewise.
15783         * lib/strings.in.h (system_header): Likewise.
15784         * lib/sys_file.in.h (system_header): Likewise.
15785         * lib/sys_ioctl.in.h (system_header): Likewise.
15786         * lib/sys_socket.in.h (system_header): Likewise.
15787         * lib/sys_times.in.h (system_header): Likewise.
15788         * lib/sys_utsname.in.h (system_header): Likewise.
15789         * lib/sys_wait.in.h (system_header): Likewise.
15790         * lib/sysexits.in.h (system_header): Likewise.
15791         * lib/unistd.in.h (system_header): Likewise.
15792         * lib/wctype.in.h (system_header): Likewise.
15793
15794         arpa/inet: fix mingw compilation warning
15795         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
15796         Reported by Matthew Bolte.
15797
15798 2010-03-25  Bruno Haible  <bruno@clisp.org>
15799
15800         Avoid collision between gnulib wrapper and libintl wrapper.
15801         * lib/printf.c (printf): Don't define if a printf wrapper is already
15802         defined in intl/printf.c.
15803         Reported by Michel Boaventura <michel@michelboaventura.com>.
15804
15805 2010-03-25  Bruno Haible  <bruno@clisp.org>
15806
15807         Use ANSI C.
15808         * lib/readutmp.h (getutent): Provide ANSI C prototype.
15809
15810 2010-03-25  Bruno Haible  <bruno@clisp.org>
15811
15812         Minor formatting changes.
15813         * lib/acosl.c: Insert space before function argument list.
15814         * lib/argz.c: Likewise.
15815         * lib/asinl.c: Likewise.
15816         * lib/expl.c: Likewise.
15817         * lib/gen-uni-tables.c: Likewise.
15818         * lib/gettext.h: Likewise.
15819         * lib/glthread/lock.h: Likewise.
15820         * lib/tanl.c: Likewise.
15821         * lib/uniname/uniname.c: Likewise.
15822         * tests/test-idpriv-drop.c: Likewise.
15823         * tests/test-idpriv-droptemp.c: Likewise.
15824         * tests/test-lock.c: Likewise.
15825         * tests/test-tls.c: Likewise.
15826         * lib/argp-help.c: Insert space before function-like macro argument
15827         list.
15828         * lib/memcmp.c: Likewise.
15829         * tests/test-base64.c: Likewise.
15830         * lib/localename.c: Insert space before sizeof's argument list.
15831         * lib/safe-alloc.h: Likewise.
15832         * lib/file-set.h: Insert space before macro argument list.
15833         * tests/test-argp.c: Likewise.
15834         * lib/argp-namefrob.h: Insert space before function parameter list.
15835         * lib/getaddrinfo.c: Likewise.
15836         * lib/netdb.in.h: Likewise.
15837         * lib/parse-duration.h: Likewise.
15838         * lib/parse-duration.c: Likewise.
15839         * lib/poll.c: Likewise.
15840         * lib/select.c: Likewise.
15841         * lib/trim.h: Likewise.
15842         * tests/test-usleep.c: Likewise.
15843         * lib/ldexpl.c: Insert space before function parameter list and before
15844         function argument list.
15845         * lib/logl.c: Likewise.
15846         * lib/sqrtl.c: Likewise.
15847         * lib/trim.c: Likewise.
15848         * lib/cosl.c: Use GNU style indentation. Insert space before function
15849         argument list.
15850         * lib/sinl.c: Likewise.
15851         * lib/tsearch.c: Insert space after 'for'.
15852         Reported by Jim Meyering.
15853
15854 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
15855
15856         * maint.mk (sc_Wundef_boolean): Check for the presence of the
15857         config header before grepping, as it's not present before
15858         autoreconf/configure are run.  Reported by Simon Josefsson.
15859
15860 2010-03-23  Bruno Haible  <bruno@clisp.org>
15861
15862         pt_chown: Make it work with automake < 1.11.
15863         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
15864         Reported by Simon Josefsson.
15865
15866 2010-03-23  Bruno Haible  <bruno@clisp.org>
15867
15868         pt_chown: Don't depend on GPLed modules.
15869         * lib/pt_chown.c: Don't include idpriv.h.
15870         (main): Don't drop privileges.
15871         * modules/pt_chown (Depends-on): Remove idpriv-drop.
15872         Reported by Simon Josefsson.
15873
15874 2010-03-24  Simon Josefsson  <simon@josefsson.org>
15875
15876         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
15877         suggestions from karl@freefriends.org (Karl Berry).
15878
15879 2010-03-22  Eric Blake  <eblake@redhat.com>
15880
15881         gethostname: further tweaks
15882         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
15883         are overriding gethostname.
15884         Suggested by Bruno Haible.
15885
15886 2010-03-21  Bruno Haible  <bruno@clisp.org>
15887
15888         Fix comments.
15889         * lib/forkpty.c (rpl_forkpty): Fix comment.
15890         * lib/openpty.c (rpl_openpty): Likewise.
15891         Reported by Eric Blake.
15892
15893 2010-03-22  Eric Blake  <eblake@redhat.com>
15894
15895         gethostname: fix build on mingw
15896         * lib/unistd.in.h (includes): Work around fact that mingw
15897         <winsock2.h> re-includes <unistd.h>, by avoiding any
15898         redeclarations if we are being included by <winsock2.h>.
15899         Reported by Matthias Bolte.
15900
15901 2010-03-21  Bruno Haible  <bruno@clisp.org>
15902
15903         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
15904         * lib/forkpty.c (forkpty): New replacement function, from glibc with
15905         modifications.
15906         * lib/pty.in.h (forkpty): Update declaration. Add comments.
15907         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
15908         provide the replacement.
15909         * modules/forkpty (Depends-on): Add openpty, login_tty.
15910         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
15911         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
15912         * doc/glibc-functions/forkpty.texi: More supported platforms.
15913         * config/srclist.txt: Add forkpty.c (commented).
15914
15915 2010-03-21  Bruno Haible  <bruno@clisp.org>
15916
15917         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
15918         (Makefile.am): Verify that PTY_LIB is defined.
15919
15920         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
15921
15922 2010-03-21  Bruno Haible  <bruno@clisp.org>
15923
15924         Tests for module 'login_tty'.
15925         * modules/login_tty-tests: New file.
15926         * tests/test-login_tty.c: New file.
15927
15928         New module 'login_tty'.
15929         * lib/login_tty.c: New file.
15930         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
15931         * modules/login_tty: New file.
15932         * doc/glibc-functions/login_tty.texi: Mention the new module.
15933
15934 2010-03-21  Bruno Haible  <bruno@clisp.org>
15935
15936         login_tty: Documentation.
15937         * doc/glibc-functions/login_tty.texi: New file.
15938         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
15939
15940 2010-03-21  Bruno Haible  <bruno@clisp.org>
15941
15942         pty: Consistent macro naming.
15943         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
15944         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
15945         * modules/pty (configure.ac): Update.
15946
15947 2010-03-21  Bruno Haible  <bruno@clisp.org>
15948
15949         Tests for openpty: Make stricter.
15950         * tests/test-openpty.c (main): Add test of canonical processing and
15951         erase.
15952         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
15953
15954         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
15955         * lib/openpty.c (openpty): New replacement function.
15956         * lib/pty.in.h: Include <termios.h>.
15957         (openpty): Update declaration. Add comments.
15958         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
15959         is not declared, arrange to provide the replacement. Check for _getpty
15960         and posix_openpt.
15961         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
15962         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
15963         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
15964         * modules/pty-tests (test_pty_c___LDADD): New variable.
15965         * doc/glibc-functions/openpty.texi: More supported platforms.
15966
15967 2010-03-21  Bruno Haible  <bruno@clisp.org>
15968
15969         setenv: Tweaks.
15970         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
15971         the test program.
15972         * doc/posix-functions/setenv.texi: Update platforms list.
15973
15974 2010-03-21  Bruno Haible  <bruno@clisp.org>
15975
15976         New module 'unlockpt'.
15977         * lib/unlockpt.c: New file, from glibc with modifications.
15978         * m4/unlockpt.m4: New file.
15979         * modules/unlockpt: New file.
15980         * lib/stdlib.in.h (unlockpt): New declaration.
15981         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
15982         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
15983         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
15984         HAVE_UNLOCKPT.
15985         * doc/posix-functions/unlockpt.texi: Mention the new module.
15986         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
15987         * config/srclist.txt: Add unlockpt.c (commented).
15988
15989 2010-03-21  Jim Meyering  <meyering@redhat.com>
15990
15991         maint.mk: prohibit inclusion of "intprops.h" without use
15992         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
15993
15994 2010-03-21  Bruno Haible  <bruno@clisp.org>
15995
15996         New module 'grantpt'.
15997         * lib/grantpt.c: New file, from glibc with modifications.
15998         * m4/grantpt.m4: New file.
15999         * modules/grantpt: New file.
16000         * lib/stdlib.in.h (grantpt): New declaration.
16001         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
16002         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
16003         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
16004         HAVE_GRANTPT.
16005         * doc/posix-functions/grantpt.texi: Mention the new module.
16006         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
16007         * config/srclist.txt: Add grantpt.c (commented).
16008
16009 2010-03-21  Bruno Haible  <bruno@clisp.org>
16010
16011         New module 'pt_chown'.
16012         * lib/pt_chown.c: New file, from glibc with modifications.
16013         * lib/pty-private.h: New file, from glibc with modifications.
16014         * modules/pt_chown: New file.
16015         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
16016
16017 2010-03-21  Bruno Haible  <bruno@clisp.org>
16018
16019         Tests for module 'ptsname'.
16020         * modules/ptsname-tests: New file.
16021         * tests/test-ptsname.c: New file.
16022
16023         New module 'ptsname'.
16024         * lib/ptsname.c: New file, from glibc with modifications.
16025         * m4/ptsname.m4: New file.
16026         * modules/ptsname: New file.
16027         * lib/stdlib.in.h (ptsname): New declaration.
16028         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
16029         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
16030         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
16031         HAVE_PTSNAME.
16032         * doc/posix-functions/ptsname.texi: Mention the new module.
16033         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
16034         * config/srclist.txt: Add ptsname.c (commented).
16035
16036 2010-03-21  Bruno Haible  <bruno@clisp.org>
16037
16038         Tests for module 'ttyname_r'.
16039         * modules/ttyname_r-tests: New file.
16040         * tests/test-ttyname_r.c: New file.
16041
16042         New module 'ttyname_r'.
16043         * lib/ttyname_r.c: New file.
16044         * m4/ttyname_r.m4: New file.
16045         * modules/ttyname_r: New file.
16046         * lib/unistd.in.h (ttyname_r): New declaration.
16047         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
16048         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
16049         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
16050         HAVE_TTYNAME_R.
16051         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
16052         * doc/posix-functions/ttyname_r.texi: Mention the new module.
16053
16054 2010-03-20  Bruno Haible  <bruno@clisp.org>
16055
16056         signal: Undefine macro definitions in C++ mode.
16057         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
16058         sigfillset): Undefine macro definitions from the system header in C++
16059         mode.
16060         Reported by John W. Eaton <jwe@gnu.org>.
16061
16062 2010-03-20  Bruno Haible  <bruno@clisp.org>
16063
16064         Ensure no #include statements inside extern "C" { ... }.
16065         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
16066         contain #include statements.
16067         * lib/time.in.h: Likewise.
16068
16069 2010-03-20  Bruno Haible  <bruno@clisp.org>
16070
16071         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
16072         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
16073         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
16074         Reported by John W. Eaton <jwe@gnu.org>.
16075
16076 2010-03-20  Bruno Haible  <bruno@clisp.org>
16077
16078         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
16079         Reported by Jim Meyering.
16080
16081 2010-03-20  Bruno Haible  <bruno@clisp.org>
16082
16083         pipe: Set errno upon failure.
16084         * lib/pipe.h: Specify that when -1 is returned, errno is set.
16085         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
16086         errno value in error message.
16087
16088 2010-03-20  Bruno Haible  <bruno@clisp.org>
16089             Jim Meyering  <meyering@redhat.com>
16090
16091         lchown: Avoid "unused variable" warning.
16092         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
16093
16094 2010-03-20  Bruno Haible  <bruno@clisp.org>
16095
16096         Work around unlink() bug on MacOS X 10.5.6.
16097         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
16098         attempting to unlink a parent directory.
16099         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
16100         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
16101         activate for the replacement function.
16102         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
16103
16104 2010-03-20  Bruno Haible  <bruno@clisp.org>
16105
16106         Fix link errors on Solaris 8.
16107         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
16108         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
16109
16110 2010-03-19  Jim Meyering  <meyering@redhat.com>
16111
16112         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
16113         The _LIBC implementation of build_range_exp correctly honors the
16114         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
16115         However, the non-_LIBC implementation would ignore that syntax-bit
16116         flag and return REG_ERANGE unconditionally.
16117         This change makes it honor that flag.
16118         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
16119         Make two pointer parameters "const".
16120         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
16121         (parse_bracket_exp): Update caller.
16122
16123         regex.m4: correct the reversed range endpoint ([b-a]) test
16124         * m4/regex.m4: When requiring that [b-a] evoke failure,
16125         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
16126         test pass once again for x86-based systems.
16127
16128 2010-03-19  Bruno Haible  <bruno@clisp.org>
16129
16130         scandir: Fix link error on Solaris 8.
16131         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
16132         macros.
16133
16134 2010-03-19  Bruno Haible  <bruno@clisp.org>
16135
16136         getusershell: Fix documentation.
16137         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
16138         module.
16139         * doc/glibc-functions/setusershell.texi: Likewise.
16140
16141         getusershell: Provide declaration, missing on Solaris 9.
16142         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
16143         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
16144         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
16145         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
16146         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16147         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
16148         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
16149         HAVE_GETUSERSHELL.
16150         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
16151
16152 2010-03-19  Bruno Haible  <bruno@clisp.org>
16153
16154         wctype: Provide iswblank function.
16155         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
16156         exists and is fine.
16157         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
16158         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
16159         * tests/test-wctype.c (main): Re-enable the iswblank tests.
16160         * doc/posix-functions/iswblank.texi: Update.
16161
16162 2010-03-19  Bruno Haible  <bruno@clisp.org>
16163
16164         Tests of module 'pty' in C++ mode.
16165         * modules/pty-tests: New file.
16166         * tests/test-pty-c++.cc: New file.
16167         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
16168
16169 2010-03-19  Eric Blake  <eblake@redhat.com>
16170
16171         logb: fix documentation
16172         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
16173         1.5 declaration bug.
16174
16175         forkpty, openpty: prefer glibc's const-safe prototype
16176         * lib/forkpty.c (rpl_forkpty): New file.
16177         * lib/openpty.c (rpl_openpty): Likewise.
16178         * modules/forkpty (Files): Distribute it.
16179         * modules/openpty (Files): Likewise.
16180         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
16181         check...
16182         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
16183         replacement for for non-const BSD signature.
16184         * modules/pty (Makefile.am): Substitute witnesses.
16185         * lib/pty.in.h (forkpty, openpty): Declare replacements.
16186         * tests/test-forkpty.c: Update signature check.
16187         * tests/test-openpty.c: Likewise.
16188         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
16189         * doc/glibc-functions/openpty.texi (openpty): Likewise.
16190
16191         forkpty, openpty: split functions into new modules
16192         * modules/pty (Makefile.am): Substitute new witnesses.
16193         (Libraries): Move library detection...
16194         * modules/forkpty: ...into new module.
16195         * modules/openpty: Another new module.
16196         * modules/pty-tests: Rename and split...
16197         * modules/forkpty-tests: ...to this...
16198         * modules/openpty-tests: ...and this.
16199         * tests/test-pty.c: Rename and split...
16200         * tests/test-forkpty.c: ...to this...
16201         * tests/test-openpty.c: ...and this.
16202         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
16203         (gl_PTY): Split library searching...
16204         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
16205         (gl_FORKPTY, gl_OPENPTY): New macros.
16206         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
16207         * NEWS: Mention the split.
16208         * MODULES.html.sh (Misc): Document the modules.
16209         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
16210         * doc/glibc-functions/openpty.texi (openpty): Likewise.
16211
16212         pty: improve replacement header
16213         * lib/pty.in.h: New file.
16214         * modules/pty (Files): Ship it.
16215         (Makefile.am): Always build replacement.
16216         * m4/pty.m4: Rename...
16217         * m4/pty_h.m4: ...to this.
16218         (gl_PTY): Modernize setting of witness macros; update check of
16219         forkpty to take proper advantage of cache.
16220         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
16221
16222         getopt: avoid compiler warning
16223         * lib/getopt.c (attribute_hidden): Remove unused macro.
16224
16225 2010-03-18  Bruno Haible  <bruno@clisp.org>
16226
16227         Fix link errors on Solaris 8.
16228         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
16229         * modules/search-tests (test_search_c___LDADD): Likewise.
16230         * modules/signal-tests (test_signal_c___LDADD): Likewise.
16231         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
16232         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
16233         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
16234         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
16235         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
16236         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
16237
16238 2010-03-18  Bruno Haible  <bruno@clisp.org>
16239
16240         Fix bug introduced on 2010-03-14.
16241         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
16242         (gl_SPAWN_H): Require it.
16243         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
16244         Reported by Simon Josefsson.
16245
16246 2010-03-18  Bruno Haible  <bruno@clisp.org>
16247
16248         Fix typo introduced on 2009-12-31.
16249         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
16250         posix_spawn_file_actions_adddup2.
16251
16252 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
16253         and Eric Blake  <eblake@redhat.com>
16254
16255         test-vc-list-files-git: make more robust
16256         * tests/test-vc-list-files-git.sh: Unset problematic environment
16257         variables.  Chain commands together.
16258
16259 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
16260
16261         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
16262         `AC_CHECK_DECL' invocation.
16263
16264 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
16265
16266         * lib/inttostr.c (inttostr): Make sure the invocation of verify
16267         appears before executable statements. Suggested by Petr Sumbera
16268         <Petr.Sumbera@Sun.COM>.
16269
16270 2010-03-14  Bruno Haible  <bruno@clisp.org>
16271
16272         * tests/test-flock.c (test_exclusive): Comment out a test that causes
16273         portability problems. Instead use a simpler test.
16274         (main): Check that invalid arguments are rejected only on Linux.
16275
16276 2010-03-14  Bruno Haible  <bruno@clisp.org>
16277
16278         Fix bug introduced on 2009-12-31.
16279         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
16280         gl_PREREQ_SYS_H_WINSOCK2 always.
16281         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
16282         SYS_SOCKET_H variable.
16283         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
16284         Update comments.
16285         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
16286         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
16287         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
16288         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
16289         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
16290
16291 2010-03-14  Bruno Haible  <bruno@clisp.org>
16292
16293         Fix values returned by sinl, cosl.
16294         * lib/trigl.h: Add specification comments.
16295         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
16296         that combines the values from the precomputed table with the values of
16297         the Chebyshev polynomials.
16298
16299 2010-03-14  Bruno Haible  <bruno@clisp.org>
16300
16301         Fix compilation error when modules 'posix_spawn[p]' are not used.
16302         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
16303         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
16304
16305 2010-03-14  Bruno Haible  <bruno@clisp.org>
16306
16307         Fix compilation error on mingw when module 'time_r' is not used.
16308         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
16309         is 1.
16310         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
16311         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
16312         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
16313         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
16314
16315 2010-03-14  Bruno Haible  <bruno@clisp.org>
16316
16317         Fix compilation error with Sun C.
16318         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
16319         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
16320         instead of GCC specific ULONG_LONG_MAX.
16321         * lib/xstrtoll.c: Likewise.
16322         * lib/xstrtoull.c: Likewise.
16323
16324 2010-03-13  Bruno Haible  <bruno@clisp.org>
16325
16326         Allow the user to disable C++ code and tests.
16327         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
16328         (gl_PROG_ANSI_CXX): Require it.
16329
16330 2010-03-13  Bruno Haible  <bruno@clisp.org>
16331
16332         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
16333         cases.
16334
16335 2010-03-13  Bruno Haible  <bruno@clisp.org>
16336
16337         Test that gnulib does not break the standard C++ headers.
16338         * tests/test-locale-c++2.cc: New file.
16339         * modules/locale-tests (Files): Add it.
16340         (Makefile.am): Compile it for test-locale-c++.
16341         * tests/test-math-c++2.cc: New file.
16342         * modules/math-tests (Files): Add it.
16343         (Makefile.am): Compile it for test-math-c++.
16344         * tests/test-signal-c++2.cc: New file.
16345         * modules/signal-tests (Files): Add it.
16346         (Makefile.am): Compile it for test-signal-c++.
16347         * tests/test-stdio-c++2.cc: New file.
16348         * modules/stdio-tests (Files): Add it.
16349         (Makefile.am): Compile it for test-stdio-c++.
16350         * tests/test-stdlib-c++2.cc: New file.
16351         * modules/stdlib-tests (Files): Add it.
16352         (Makefile.am): Compile it for test-stdlib-c++.
16353         * tests/test-string-c++2.cc: New file.
16354         * modules/string-tests (Files): Add it.
16355         (Makefile.am): Compile it for test-string-c++.
16356         * tests/test-time-c++2.cc: New file.
16357         * modules/time-tests (Files): Add it.
16358         (Makefile.am): Compile it for test-time-c++.
16359         Reported by John W. Eaton <jwe@gnu.org>.
16360
16361 2010-03-13  Bruno Haible  <bruno@clisp.org>
16362
16363         * gnulib-tool (func_usage): Clarify which options are available for
16364         --create-testdir and --create-megatestdir.
16365
16366 2010-03-13  Bruno Haible  <bruno@clisp.org>
16367
16368         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
16369         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
16370         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
16371         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
16372         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
16373         when appropriate.
16374         Reported by Jim Meyering.
16375
16376 2010-03-12  Simon Josefsson  <simon@josefsson.org>
16377
16378         * gnulib-tool (func_import): Explain origin of code.
16379
16380 2010-03-12  Bruno Haible  <bruno@clisp.org>
16381
16382         Fix problem with automake's definition of CXXLINK.
16383         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
16384         Reported by Simon Josefsson and Ludovic Courtès.
16385
16386 2010-03-12  Bruno Haible  <bruno@clisp.org>
16387
16388         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
16389         stable releases.
16390
16391 2010-03-11  Bruno Haible  <bruno@clisp.org>
16392
16393         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
16394         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
16395         whether the system provides one variant or multiple variants of the
16396         function.
16397         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
16398         C++ compilers.
16399         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
16400         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
16401         Reported by Jim Meyering.
16402
16403 2010-03-09  Simon Josefsson  <simon@josefsson.org>
16404
16405         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
16406
16407 2010-03-08  Bruno Haible  <bruno@clisp.org>
16408
16409         gnulib-tool: Add support for --libtool in --create-testdir.
16410         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
16411         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
16412
16413 2010-03-08  Eric Blake  <eblake@redhat.com>
16414
16415         gnulib-tool.texi: mention possibility of git submodule
16416         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
16417         submodules.
16418         * doc/.gitignore: Ignore another generated file.
16419
16420 2010-03-08  Karl Berry  <karl@gnu.org>
16421
16422         * doc/gnulib-tool.texi (VCS Issues): Mention third option
16423         of committing gnulib files while skipping others.
16424
16425 2010-03-07  Bruno Haible  <bruno@clisp.org>
16426
16427         Tests of module 'wctype' in C++ mode.
16428         * tests/test-wctype-c++.cc: New file.
16429         * modules/wctype-tests (Files): Add it and tests/signature.h.
16430         (Depends-on): Add ansi-c++-opt.
16431         (Makefile.am): Arrange to compile and run test-wctype-c++.
16432
16433         Tests of module 'wchar' in C++ mode.
16434         * tests/test-wchar-c++.cc: New file.
16435         * modules/wchar-tests (Files): Add it and tests/signature.h.
16436         (Depends-on): Add ansi-c++-opt.
16437         (Makefile.am): Arrange to compile and run test-wchar-c++.
16438         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
16439         gl_MODULE_INDICATOR.
16440
16441         Tests of module 'unistd' in C++ mode.
16442         * tests/test-unistd-c++.cc: New file.
16443         * modules/unistd-tests (Files): Add it and tests/signature.h.
16444         (Depends-on): Add ansi-c++-opt.
16445         (Makefile.am): Arrange to compile and run test-unistd-c++.
16446         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
16447         gl_MODULE_INDICATOR.
16448
16449         Tests of module 'time' in C++ mode.
16450         * tests/test-time-c++.cc: New file.
16451         * modules/time-tests (Files): Add it and tests/signature.h.
16452         (Depends-on): Add ansi-c++-opt.
16453         (Makefile.am): Arrange to compile and run test-time-c++.
16454         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
16455
16456         Tests of module 'sys_time' in C++ mode.
16457         * tests/test-sys_time-c++.cc: New file.
16458         * modules/sys_time-tests (Files): Add it and tests/signature.h.
16459         (Depends-on): Add ansi-c++-opt.
16460         (Makefile.am): Arrange to compile and run test-sys_time-c++.
16461         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
16462         gl_MODULE_INDICATOR.
16463
16464         Tests of module 'sys_stat' in C++ mode.
16465         * tests/test-sys_stat-c++.cc: New file.
16466         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
16467         (Depends-on): Add ansi-c++-opt.
16468         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
16469         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
16470         gl_MODULE_INDICATOR.
16471
16472         Tests of module 'sys_socket' in C++ mode.
16473         * tests/test-sys_socket-c++.cc: New file.
16474         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
16475         (Depends-on): Add ansi-c++-opt.
16476         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
16477         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
16478         gl_MODULE_INDICATOR.
16479
16480         Tests of module 'sys_select' in C++ mode.
16481         * tests/test-sys_select-c++.cc: New file.
16482         * modules/sys_select-tests (Files): Add it and tests/signature.h.
16483         (Depends-on): Add ansi-c++-opt.
16484         (Makefile.am): Arrange to compile and run test-sys_select-c++.
16485         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
16486         gl_MODULE_INDICATOR.
16487
16488         Tests of module 'sys_ioctl' in C++ mode.
16489         * tests/test-sys_ioctl-c++.cc: New file.
16490         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
16491         (Depends-on): Add ansi-c++-opt.
16492         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
16493         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
16494         gl_MODULE_INDICATOR.
16495
16496         Tests of module 'string' in C++ mode.
16497         * tests/test-string-c++.cc: New file.
16498         * modules/string-tests (Files): Add it and tests/signature.h.
16499         (Depends-on): Add ansi-c++-opt.
16500         (Makefile.am): Arrange to compile and run test-string-c++.
16501         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
16502         gl_MODULE_INDICATOR.
16503
16504         Tests of module 'stdlib' in C++ mode.
16505         * tests/test-stdlib-c++.cc: New file.
16506         * modules/stdlib-tests (Files): Add it and tests/signature.h.
16507         (Depends-on): Add ansi-c++-opt.
16508         (Makefile.am): Arrange to compile and run test-stdlib-c++.
16509         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
16510         gl_MODULE_INDICATOR.
16511
16512         Tests of module 'stdio' in C++ mode.
16513         * tests/test-stdio-c++.cc: New file.
16514         * modules/stdio-tests (Files): Add it and tests/signature.h.
16515         (Depends-on): Add ansi-c++-opt.
16516         (Makefile.am): Arrange to compile and run test-stdio-c++.
16517         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
16518         gl_MODULE_INDICATOR.
16519
16520         Tests of module 'spawn' in C++ mode.
16521         * tests/test-spawn-c++.cc: New file.
16522         * modules/spawn-tests (Files): Add it and tests/signature.h.
16523         (Depends-on): Add ansi-c++-opt.
16524         (Makefile.am): Arrange to compile and run test-spawn-c++.
16525         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
16526         gl_MODULE_INDICATOR.
16527
16528         Tests of module 'signal' in C++ mode.
16529         * tests/test-signal-c++.cc: New file.
16530         * modules/signal-tests (Files): Add it and tests/signature.h.
16531         (Depends-on): Add ansi-c++-opt.
16532         (Makefile.am): Arrange to compile and run test-signal-c++.
16533         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
16534         gl_MODULE_INDICATOR.
16535
16536         Tests of module 'search' in C++ mode.
16537         * tests/test-search-c++.cc: New file.
16538         * modules/search-tests (Files): Add it and tests/signature.h.
16539         (Depends-on): Add ansi-c++-opt.
16540         (Makefile.am): Arrange to compile and run test-search-c++.
16541         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
16542         gl_MODULE_INDICATOR.
16543
16544         Tests of module 'math' in C++ mode.
16545         * tests/test-math-c++.cc: New file.
16546         * modules/math-tests (Files): Add it and tests/signature.h.
16547         (Depends-on): Add ansi-c++-opt.
16548         (Makefile.am): Arrange to compile and run test-math-c++.
16549         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
16550
16551         Tests of module 'locale' in C++ mode.
16552         * tests/test-locale-c++.cc: New file.
16553         * modules/locale-tests (Files): Add it and tests/signature.h.
16554         (Depends-on): Add ansi-c++-opt.
16555         (Makefile.am): Arrange to compile and run test-locale-c++.
16556         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
16557         gl_MODULE_INDICATOR.
16558
16559         Tests of module 'langinfo' in C++ mode.
16560         * tests/test-langinfo-c++.cc: New file.
16561         * modules/langinfo-tests (Files): Add it and tests/signature.h.
16562         (Depends-on): Add ansi-c++-opt.
16563         (Makefile.am): Arrange to compile and run test-langinfo-c++.
16564         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
16565         gl_MODULE_INDICATOR.
16566
16567         Tests of module 'iconv-h' in C++ mode.
16568         * tests/test-iconv-h-c++.cc: New file.
16569         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
16570         (Depends-on): Add ansi-c++-opt.
16571         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
16572
16573         Tests of module 'glob' in C++ mode.
16574         * tests/test-glob-c++.cc: New file.
16575         * modules/glob-tests (Files): Add it.
16576         (Depends-on): Add ansi-c++-opt.
16577         (Makefile.am): Arrange to compile and run test-glob-c++.
16578
16579         Tests of module 'fcntl-h' in C++ mode.
16580         * tests/test-fcntl-h-c++.cc: New file.
16581         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
16582         (Depends-on): Add ansi-c++-opt.
16583         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
16584         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
16585         gl_MODULE_INDICATOR.
16586
16587         Tests of module 'dirent' in C++ mode.
16588         * tests/test-dirent-c++.cc: New file.
16589         * modules/dirent-tests (Files): Add it and tests/signature.h.
16590         (Depends-on): Add ansi-c++-opt.
16591         (Makefile.am): Arrange to compile and run test-dirent-c++.
16592         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
16593         gl_MODULE_INDICATOR.
16594
16595         New module 'ansi-c++-opt'.
16596         * modules/ansi-c++-opt: New file.
16597         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
16598
16599         Document C++ namespace mode.
16600         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
16601
16602         wctype: Avoid #define replacements in C++ mode.
16603         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
16604         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
16605         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
16606         In C++, define a namespaced alias symbol.
16607         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
16608         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
16609         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
16610         rule.
16611
16612         wchar: Avoid #define replacements in C++ mode.
16613         * lib/wchar.in.h: Include c++defs.h.
16614         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
16615         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
16616         symbol.
16617         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
16618         * modules/wchar (Depends-on): Add c++defs.
16619         (Makefile.am): Update wchar.h rule.
16620
16621         unistd: Avoid #define replacements in C++ mode.
16622         * lib/unistd.in.h: Include c++defs.h.
16623         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
16624         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
16625         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
16626         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
16627         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
16628         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
16629         symbol.
16630         (environ): Update.
16631         * modules/unistd (Depends-on): Add c++defs.
16632         (Makefile.am): Update unistd.h rule.
16633
16634         time: Avoid #define replacements in C++ mode.
16635         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
16636         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
16637         define a namespaced alias symbol.
16638         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
16639         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
16640         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
16641         * modules/time (Depends-on): Add c++defs, warn-on-use.
16642         (Makefile.am): Update time.h rule.
16643         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
16644         * modules/nanosleep (configure.ac): Likewise.
16645         * modules/strptime (configure.ac): Likewise.
16646         * modules/timegm (configure.ac): Likewise.
16647
16648         sys_time: Avoid #define replacements in C++ mode.
16649         * lib/sys_time.in.h: Include c++defs.h.
16650         (gettimeofday): In C++, define a namespaced alias symbol.
16651         * modules/sys_time (Depends-on): Add c++defs.
16652         (Makefile.am): Update sys/time.h rule.
16653
16654         sys_stat: Avoid #define replacements in C++ mode.
16655         * lib/sys_stat.in.h: Include c++defs.h.
16656         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
16657         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
16658         namespaced alias symbol.
16659         In C++, define a namespaced alias symbol.
16660         * modules/sys_stat (Depends-on): Add c++defs.
16661         (Makefile.am): Update sys/stat.h rule.
16662
16663         sys_socket: Avoid #define replacements in C++ mode.
16664         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
16665         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
16666         definitions also when the system has a <sys/socket.h>.
16667         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
16668         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
16669         In C++, define a namespaced alias symbol.
16670         * modules/sys_socket (Depends-on): Add c++defs.
16671         (Makefile.am): Update sys/socket.h rule.
16672
16673         sys_select: Avoid #define replacements in C++ mode.
16674         * lib/sys_select.in.h: Include c++defs.h. Enable the function
16675         definitions also when the system has a <sys/select.h>.
16676         (select): In C++, define a namespaced alias symbol.
16677         * modules/sys_select (Depends-on): Add c++defs.
16678         (Makefile.am): Update sys/select.h rule.
16679
16680         sys_ioctl: Avoid #define replacements in C++ mode.
16681         * lib/sys_ioctl.in.h: Include c++defs.h.
16682         (ioctl): In C++, define a namespaced alias symbol.
16683         * modules/sys_ioctl (Depends-on): Add c++defs.
16684         (Makefile.am): Update sys/ioctl.h rule.
16685
16686         string: Avoid #define replacements in C++ mode.
16687         * lib/string.in.h: Include c++defs.h.
16688         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
16689         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
16690         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
16691         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
16692         strsignal, strverscmp): In C++, define a namespaced alias symbol.
16693         * modules/string (Depends-on): Add c++defs.
16694         (Makefile.am): Update string.h rule.
16695
16696         stdlib: Avoid #define replacements in C++ mode.
16697         * lib/stdlib.in.h: Include c++defs.h.
16698         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
16699         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
16700         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
16701         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
16702         symbol.
16703         * modules/stdlib (Depends-on): Add c++defs.
16704         (Makefile.am): Update stdlib.h rule.
16705
16706         stdio: Avoid #define replacements in C++ mode.
16707         * lib/stdio.in.h: Include c++defs.h.
16708         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
16709         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
16710         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
16711         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
16712         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
16713         namespaced alias symbol.
16714         * modules/stdio (Depends-on): Add c++defs.
16715         (Makefile.am): Update stdio.h rule.
16716
16717         spawn: Avoid #define replacements in C++ mode.
16718         * lib/spawn.in.h: Include c++defs.h.
16719         (posix_spawn, posix_spawnp, posix_spawnattr_init,
16720         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
16721         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
16722         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
16723         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
16724         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
16725         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
16726         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
16727         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
16728         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
16729         In C++, define a namespaced alias symbol.
16730         * modules/spawn (Depends-on): Add c++defs.
16731         (Makefile.am): Update spawn.h rule.
16732
16733         signal: Avoid #define replacements in C++ mode.
16734         * lib/signal.in.h: Include c++defs.h.
16735         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
16736         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
16737         namespaced alias symbol.
16738         * modules/signal (Depends-on): Add c++defs.
16739         (Makefile.am): Update signal.h rule.
16740
16741         search: Avoid #define replacements in C++ mode.
16742         * lib/search.in.h: Include c++defs.h.
16743         (_gl_search_compar_fn, _gl_search_action_fn): New types.
16744         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
16745         symbol.
16746         * modules/search (Depends-on): Add c++defs.
16747         (Makefile.am): Update search.h rule.
16748
16749         math: Avoid #define replacements in C++ mode.
16750         * lib/math.in.h: Include c++defs.h.
16751         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
16752         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
16753         trunc, truncl): In C++, define a namespaced alias symbol.
16754         * modules/math (Depends-on): Add c++defs.
16755         (Makefile.am): Update math.h rule.
16756
16757         locale: Avoid #define replacements in C++ mode.
16758         * lib/locale.in.h: Include c++defs.h.
16759         (duplocale): In C++, define a namespaced alias symbol.
16760         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
16761         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
16762         * modules/locale (Depends-on): Add c++defs.
16763         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
16764
16765         langinfo: Avoid #define replacements in C++ mode.
16766         * lib/langinfo.in.h: Include c++defs.h.
16767         (nl_langinfo): In C++, define a namespaced alias symbol.
16768         * modules/langinfo (Depends-on): Add c++defs.
16769         (Makefile.am): Update langinfo.h rule.
16770
16771         iconv-h: Avoid #define replacements in C++ mode.
16772         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
16773         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
16774         symbol.
16775         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
16776         whenever iconv is present.
16777         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
16778         (Makefile.am): Update iconv.h rule.
16779
16780         glob: Avoid #define replacements in C++ mode.
16781         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
16782         (_gl_glob_errfunc_fn): New type.
16783         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
16784         symbol.
16785         * modules/glob (Depends-on): Add c++defs, warn-on-use.
16786         (Makefile.am): Update glob.h rule.
16787
16788         fcntl-h: Avoid #define replacements in C++ mode.
16789         * lib/fcntl.in.h: Include c++defs.h.
16790         (fcntl, open, openat): In C++, define a namespaced alias symbol.
16791         * modules/fcntl-h (Depends-on): Add c++defs.
16792         (Makefile.am): Update fcntl.h rule.
16793
16794         dirent: Avoid #define replacements in C++ mode.
16795         * lib/dirent.in.h: Include c++defs.h.
16796         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
16797         namespaced alias symbol.
16798         (dirfd): Update declaration.
16799         * modules/dirent (Depends-on): Add c++defs.
16800         (Makefile.am): Update dirent.h rule.
16801
16802         ctype: Make it usable in C++ code.
16803         * lib/ctype.in.h: Include c++defs.h.
16804         (isblank): Declare as extern "C".
16805         * modules/ctype (Depends-on): Add c++defs.
16806         (Makefile.am): Update ctype.h rule.
16807
16808         New module 'c++defs'.
16809         * modules/c++defs: New file.
16810         * build-aux/c++defs.h: New file.
16811         Reported by John W. Eaton <jwe@gnu.org>.
16812
16813 2010-03-07  Bruno Haible  <bruno@clisp.org>
16814
16815         logb: Provide missing declaration for Cygwin.
16816         * lib/math.in.h (logb): New declaration.
16817         * m4/logb.m4: New file.
16818         * modules/logb (Files): Add m4/logb.m4.
16819         (Depends-on): Add math.
16820         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
16821         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
16822         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
16823         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
16824         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
16825
16826 2010-03-07  Bruno Haible  <bruno@clisp.org>
16827
16828         Fix test-cond link error.
16829         * tests/test-cond.c: Include <stdio.h>.
16830
16831 2010-03-07  Bruno Haible  <bruno@clisp.org>
16832
16833         Fix test-dirent-safer link error.
16834         * modules/dirent-safer-tests (Makefile.am): Define
16835         test_dirent_safer_LDADD.
16836
16837 2010-03-07  Bruno Haible  <bruno@clisp.org>
16838
16839         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
16840         among default module list.
16841
16842 2010-03-07  Bruno Haible  <bruno@clisp.org>
16843
16844         Fix link error on platforms with GNU libiconv.
16845         * modules/unistr/u8-strcoll-tests (Makefile): Define
16846         test_u8_strcoll_LDADD.
16847         * modules/unistr/u16-strcoll-tests (Makefile): Define
16848         test_u16_strcoll_LDADD.
16849         * modules/unistr/u32-strcoll-tests (Makefile): Define
16850         test_u32_strcoll_LDADD.
16851
16852 2010-03-07  Bruno Haible  <bruno@clisp.org>
16853
16854         Use POSIX declarations for socket functions.
16855         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
16856         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
16857         rpl_sendto): Change declaration to match POSIX.
16858         * lib/connect.c (rpl_connect): Likewise.
16859         * lib/accept.c (rpl_accept): Likewise.
16860         * lib/bind.c (rpl_bind): Likewise.
16861         * lib/getpeername.c (rpl_getpeername): Likewise.
16862         * lib/getsockname.c (rpl_getsockname): Likewise.
16863         * lib/recv.c (rpl_recv): Likewise.
16864         * lib/send.c (rpl_send): Likewise.
16865         * lib/recvfrom.c (rpl_recvfrom): Likewise.
16866         * lib/sendto.c (rpl_sendto): Likewise.
16867
16868 2010-03-06  Bruno Haible  <bruno@clisp.org>
16869
16870         Clarify access, euidaccess, faccessat.
16871         * doc/posix-functions/faccessat.texi: Mention security problem under
16872         "Other problems", not "Portability problems".
16873         * doc/posix-functions/access.texi: Likewise. Mention a related security
16874         problem.
16875         * doc/glibc-functions/euidaccess.texi: Mention security problems.
16876         * lib/euidaccess.c: Add comments about platforms.
16877         * lib/unistd.in.h (access, euidaccess): Add warnings.
16878
16879 2010-03-07  Bruno Haible  <bruno@clisp.org>
16880
16881         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
16882         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
16883         (POSIX_SPAWN_SETSCHEDULER): Likewise.
16884         (POSIX_SPAWN_USEVFORK): Define in a way that works when
16885         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
16886         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
16887         declare when POSIX_SPAWN_SETSCHEDULER is zero.
16888         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
16889         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
16890         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
16891         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
16892         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
16893         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
16894         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
16895         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
16896         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
16897         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
16898         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
16899         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
16900         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
16901         Likewise.
16902         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
16903         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
16904         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
16905         Likewise.
16906         * tests/test-spawn.c (main): Make it work when
16907         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
16908
16909 2010-03-07  Bruno Haible  <bruno@clisp.org>
16910
16911         Fix incorrect Makefile.am generation in German locale.
16912         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
16913         Execute sed command with character range in C locale.
16914
16915 2010-03-06  Bruno Haible  <bruno@clisp.org>
16916
16917         Tests for module 'iconv-h'.
16918         * modules/iconv-h-tests: New file.
16919         * tests/test-iconv-h.c: New file.
16920
16921         New module 'iconv-h'.
16922         * modules/iconv-h: New file.
16923         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
16924         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
16925         (configure.ac): Remove gl_ICONV_H.
16926         (Makefile.am): Remove rule for iconv.h.
16927
16928 2010-03-06  Bruno Haible  <bruno@clisp.org>
16929
16930         More consistent naming of *.m4 files.
16931         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
16932         * modules/wctype (Files): Update.
16933
16934         More consistent naming of *.m4 files.
16935         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
16936         * modules/wchar (Files): Update.
16937
16938 2010-03-06  Jim Meyering  <meyering@redhat.com>
16939
16940         euidaccess: relax license to LGPLv2+
16941         * modules/euidaccess (License): Relax to LGPLv2+.
16942
16943 2010-03-06  Bruno Haible  <bruno@clisp.org>
16944
16945         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
16946         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
16947         (Makefile.am): Augment lib_SOURCES instead.
16948
16949 2010-03-04  Jim Meyering  <meyering@redhat.com>
16950
16951         utime: remove obsolete module
16952         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
16953         unnecessary for years, and has been marked as obsolete for 10 months.
16954         * modules/utime: Remove file.
16955         * lib/utime.c: Remove file.
16956         * m4/utime.m4: Remove file.
16957         * m4/utimes-null.m4: Remove file.
16958         * doc/posix-functions/utime.texi (utime): Remove reference to
16959         the module.  Move the sole "fixed by gnulib" item into the
16960         "problems not fixed by Gnulib" list.
16961         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
16962
16963 2010-03-05  Simon Josefsson  <simon@josefsson.org>
16964
16965         * modules/exit (License): Relax license to LGPLv2+.
16966         (Status): Mark as obsolete.
16967         * NEWS: Mention deprecated 'exit' module.
16968         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
16969         of now obsolete 'exit'.
16970
16971 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16972
16973         fts-lgpl: remove unused module
16974         * modules/fts-lgpl: Remove.
16975         * MODULES.html.sh (func_all_modules): Adjust.
16976         * check-module (find_included_lib_files): Adjust.
16977         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
16978
16979 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
16980
16981         copy-acl: enhance Solaris ACL error handling
16982         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
16983         * lib/set-mode-acl.c (qset_acl): Likewise.
16984
16985 2010-03-02  Bruno Haible  <bruno@clisp.org>
16986
16987         spawn: Don't override the system defined values on FreeBSD 8.
16988         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
16989         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
16990         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
16991         if HAVE_POSIX_SPAWN is 1.
16992         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
16993
16994 2010-03-01  Bruno Haible  <bruno@clisp.org>
16995
16996         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
16997         regarding Automake.
16998
16999 2010-02-25  Bruno Haible  <bruno@clisp.org>
17000
17001         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
17002         * gnulib-tool: Define 'echo' as a function only before the ksh alias
17003         setting, not afterwards.
17004         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
17005
17006 2010-02-24  Eric Blake  <eblake@redhat.com>
17007
17008         bootstrap, git-version-gen: use timestamp
17009         * build-aux/git-version-gen (scriptversion): Force UTC.
17010         * build-aux/bootstrap (scriptversion): New variable.
17011
17012         bootstrap: allow older git
17013         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
17014         older than 1.6.4.  Requested by the libvirt project.
17015
17016 2010-02-23  Eric Blake  <eblake@redhat.com>
17017
17018         warn-on-use: work with old autoconf
17019         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
17020         AS_VAR semantics of autoconf 2.60.
17021         Reported by Bruno Haible.
17022
17023         bootstrap: improve some comments
17024         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
17025         clarification comments.
17026
17027         gettimeofday: provide correct function
17028         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
17029         when replacement is declared, otherwise provide gettimeofday.
17030         Reported by Michael Goffioul.
17031
17032 2010-02-23  Jim Meyering  <meyering@redhat.com>
17033
17034         lib-ignore: relax license to "unlimited", not LGPLv2+
17035         * modules/lib-ignore (License): Relax to "unlimited".
17036
17037 2010-02-23  Jim Meyering  <meyering@redhat.com>
17038
17039         lib-ignore: relax license to LGPLv2+
17040         * modules/lib-ignore (License): Relax to LGPLv2+.
17041
17042 2010-02-22  Eric Blake  <eblake@redhat.com>
17043
17044         lseek: avoid bash 3.2 broken pipe bug
17045         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
17046         warning from bash 3.2.
17047         Reported by Ben Pfaff, with analysis from Bruno Haible.
17048
17049         bootstrap: support non-FSF copyright holder
17050         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
17051         bootstrap.conf override of COPYRIGHT_HOLDER.
17052         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
17053
17054         bootstrap: interoperate with gettext 0.14.1
17055         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
17056
17057         bootstrap: allow for alternate submodule location
17058         * build-aux/bootstrap (gnulib_path): New variable; use instead of
17059         hardcoding submodule location.
17060         (gnulib_mk): Allow direct use of Makefile.am.
17061
17062         bootstrap: use GNULIB_SRCDIR to reduce disk usage
17063         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
17064         rather than reconfiguring where the submodule points.
17065
17066         gettimeofday: restore support for platforms that lack function
17067         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
17068         replacement if function is missing.
17069         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
17070         * modules/sys_time (Makefile.am): Substitute it.
17071         * lib/sys_time.in.h (gettimeofday): Check it.
17072         Reported by Michael Goffioul.
17073
17074 2010-02-21  Bruno Haible  <bruno@clisp.org>
17075
17076         * lib/stdio.in.h (obstack_printf): Fix typo.
17077
17078 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
17079
17080         vc-list-files: use bzr ls's -R option
17081         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
17082         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
17083
17084 2010-02-21  Jim Meyering  <meyering@redhat.com>
17085
17086         init.sh: fix EXEEXT shims to work also for names like test-prog
17087         * tests/init.sh: Re-exec a better shell, when needed.
17088         If the current shell lacks support for posix $(...), an init.sh-using
17089         test will now try to find a shell that supports that.  If EXEEXT is
17090         nonempty, we also require support for hyphen-in-alias-name and shell
17091         substitutions like ${var#glob}.  Failure to find such a shell results
17092         in a skipped test.
17093
17094 2010-02-21  Bruno Haible  <bruno@clisp.org>
17095
17096         Really work around around "broken pipe" error message from bash 3.2.
17097         * gnulib-tool (func_reset_sigpipe): Remove function.
17098         (echo): In bash 3.2, define to a function that uses printf.
17099         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
17100
17101 2010-02-20  Bruno Haible  <bruno@clisp.org>
17102
17103         Restore support for automake 1.9.6 with autoconf 2.61.
17104         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
17105         Reported by James Youngman <jay@gnu.org>.
17106
17107 2010-02-20  Bruno Haible  <bruno@clisp.org>
17108
17109         Improve *printf warning condition.
17110         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
17111         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
17112         and the function is overridden due to SIGPIPE emulation.
17113
17114 2010-02-20  Bruno Haible  <bruno@clisp.org>
17115
17116         * lib/stdio.in.h: Tweak comments.
17117
17118 2010-02-19  Bruno Haible  <bruno@clisp.org>
17119
17120         Make it easier to find modules. New gnulib-tool option '--find'.
17121         * gnulib-tool: New option --find.
17122         (func_usage): Document it.
17123         (func_sanitize_modulelist): New function, extracted from
17124         func_all_modules.
17125         (func_all_modules): Invoke it.
17126         * doc/gnulib-tool.texi (Which modules?): New node.
17127
17128 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
17129
17130         * lib/sys_select.in.h: Provide select replacement even if
17131         sys/select.h exists on a system, for Interix.
17132
17133 2010-02-18  Jim Meyering  <meyering@redhat.com>
17134
17135         init.sh: don't use $(...) just yet
17136         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
17137         to accommodate e.g., Solaris' /bin/sh.
17138
17139 2010-02-17  Bruno Haible  <bruno@clisp.org>
17140
17141         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
17142         Reported by Ludovic Courtès <ludo@gnu.org>.
17143
17144 2010-02-16  Simon Josefsson  <simon@josefsson.org>
17145
17146         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
17147         linking with -lintl.
17148
17149 2010-02-17  Simon Josefsson  <simon@josefsson.org>
17150
17151         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
17152         if not provided by the system's netdb.h.  Reported by
17153         ludo@gnu.org (Ludovic Courtès).
17154
17155 2010-02-15  Jim Meyering  <meyering@redhat.com>
17156
17157         init.sh: improve portability and efficiency
17158         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
17159         "dummy" in a for loop.
17160         Use '!', not '^' to select the complement of a character set used
17161         in a "case" statement.
17162         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
17163         Suggestions from Eric Blake.
17164
17165         init.sh: automatically accommodate programs with the .exe suffix
17166         Automatically arrange for an invocation of "prog" to execute the
17167         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
17168         may use the simpler "prog", yet still work when built on a system
17169         that requires specifying the added suffix.
17170         Do this by constructing a function named "prog" that invokes
17171         "prog.exe" for each .exe file in selected directories.
17172         * tests/init.sh (find_exe_basenames_): New function.
17173         (create_exe_shim_functions_): New function.
17174         (path_prepend_): Use it.
17175
17176         maint.mk: mark syntax-check sc_*.m rules as .PHONY
17177         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
17178         "make -t syntax-check" doesn't create a ton of sc_*.m files.
17179
17180 2010-02-14  Jim Meyering  <meyering@redhat.com>
17181
17182         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
17183         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
17184         (sc_prohibit_hash_pjw_without_use): New rule.
17185
17186         maint.mk: allow the default upload destination dir to be overridden
17187         * top/maint.mk (upload_dest_dir_): Define with a default that
17188         preserves the status quo.
17189         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
17190         Reported by Peter Simons.
17191
17192         maint.mk: prohibit inclusion of "hash.h" without_use
17193         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
17194
17195 2010-02-10  Jim Meyering  <meyering@redhat.com>
17196
17197         maint.mk: prohibit inclusion of "ignore-value.h" without_use
17198         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
17199
17200 2010-02-09  Eric Blake  <ebb9@byu.net>
17201         and Bruno Haible  <bruno@clisp.org>
17202
17203         obstack-printf-posix: ensure declaration
17204         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
17205         extracted from gl_FUNC_OBSTACK_PRINTF.
17206         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
17207         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
17208         Likewise.
17209         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
17210         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
17211         0.
17212
17213 2010-02-08  Bruno Haible  <bruno@clisp.org>
17214
17215         gnulib-tool: Fix typo in 2010-02-07 commit.
17216         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
17217         Reported by Eric Blake.
17218
17219 2010-02-07  Bruno Haible  <bruno@clisp.org>
17220
17221         gnulib-tool: Fix up caching patches.
17222         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
17223         option --no-cache. Use associative arrays when supported by the shell.
17224         (sed_comments): New variable.
17225         (modcache): Renamed from do_cache.
17226         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
17227         abbreviate unnecessarily.
17228         (have_associative): New variable.
17229         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
17230         way also for ksh and zsh.
17231         (func_init_sed_convert_to_cache_statements): New function, extracted
17232         from func_cache_lookup_module. Add support for associative arrays.
17233         Don't set the c_MODULE_cached variable here. Ignore all lines before
17234         the first field header. Remove only the final newline, not all trailing
17235         newlines. Support empty fields correctly. Limit the use of 'eval' to
17236         assignments.
17237         (func_get_description, func_get_status, func_get_notice,
17238         func_get_applicability, func_get_filelist, func_get_dependencies,
17239         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
17240         func_get_automake_snippet, func_get_include_directive,
17241         func_get_link_directive, func_get_license, func_get_maintainer):
17242         Update documentation. List the unoptimized code first. Add support for
17243         associative arrays. Limit the use of 'eval' to assignments.
17244         (func_get_applicability): Undo stylistic pessimisations.
17245         (func_get_automake_snippet, func_get_include_directive): Reduce code
17246         duplication.
17247         (func_modules_transitive_closure, func_modules_add_dummy,
17248         func_modules_notice, func_modules_to_filelist, func_add_file,
17249         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
17250         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
17251         func_create_testdir, func_create_megatestdir): Update documentation.
17252
17253 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17254
17255         * gnulib-tool (func_cache_lookup_module): Store the module name
17256         belonging to the cache variable; error out if two different
17257         module names map to the same cache variable name.
17258
17259 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17260
17261         gnulib-tool: Make caching optional.
17262         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
17263         Update matching short versions of --no-changelog.
17264         (func_usage): Update.
17265         (sed_extract_cache_prog): Renamed from ...
17266         (sed_extract_prog): ... this; revert to old extraction script.
17267         (func_get_description, func_get_status)
17268         (func_get_notice, func_get_applicability, func_get_filelist)
17269         (func_get_dependencies, func_get_autoconf_early_snippet)
17270         (func_get_autoconf_snippet, func_get_automake_snippet)
17271         (func_get_include_directive, func_get_link_directive)
17272         (func_get_license, func_get_maintainer): If $do_cache is false,
17273         use old, non-caching extraction scripts.
17274         Suggestion by Bruno Haible.
17275
17276 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17277
17278         gnulib-tool: cache module metainformation.
17279         * gnulib-tool (sed_extract_prog): Match newline before each
17280         header, and rewrite header to a shell variable suffix.
17281         (func_cache_var, func_cache_lookup_module): New functions,
17282         to turn a module name into a cache variable prefix, and to
17283         look up and cache module metainformation.
17284         (func_get_description, func_get_status)
17285         (func_get_notice, func_get_applicability, func_get_filelist)
17286         (func_get_dependencies, func_get_autoconf_early_snippet)
17287         (func_get_autoconf_snippet, func_get_automake_snippet)
17288         (func_get_include_directive, func_get_link_directive)
17289         (func_get_license, func_get_maintainer): Use
17290         func_cache_lookup_module.
17291
17292 2010-02-07  Bruno Haible  <bruno@clisp.org>
17293
17294         fnctl: Fix missing dependency.
17295         * modules/fcntl (Depends-on): Add getdtablesize.
17296         Reported by John W. Eaton <jwe@gnu.org>.
17297
17298 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
17299
17300         Argp: fix recognition of short alias options.
17301
17302         * lib/argp-parse.c (convert_options): Fix improper use of
17303         `|' between character values.
17304         * tests/test-argp.c (group1_option): New alias option
17305         --read (-r).
17306         (group1_parser): Special handling for 'r'.
17307         (test15): New test case.
17308         (test_fun): Add test15.
17309         * tests/test-argp-2.sh: Update expected --help and --usage
17310         outputs.
17311
17312 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
17313
17314         * tests/test-argp.c: Fix indentation.
17315
17316 2010-02-04  Eric Blake  <ebb9@byu.net>
17317
17318         gettimeofday: expose type of second argument
17319         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
17320         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
17321         * tests/test-gettimeofday.c: Use it to silence warning.
17322         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
17323         the issue.
17324
17325 2010-02-03  Jim Meyering  <meyering@redhat.com>
17326
17327         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
17328         * lib/regcomp.c (TYPE_SIGNED): Define.
17329         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
17330
17331         regcomp.c: avoid a new -Wshadow warning
17332         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
17333
17334 2010-02-01  Jim Meyering  <meyering@redhat.com>
17335
17336         removing useless parentheses in cpp #define directives
17337         For motivation, see commit c0221df4, "define STREQ(a,b)
17338         consistently, removing useless parentheses"
17339         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
17340         * lib/mountlist.c (MNT_IGNORE): Likewise.
17341         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
17342
17343 2010-02-01  Eric Blake  <ebb9@byu.net>
17344
17345         sys_time: use link-warning
17346         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
17347         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
17348         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
17349         * modules/sys_time (Depends-on): Add warn-on-use.
17350         (Makefile.am): Always build replacement.
17351         (configure.ac): Update substitutions.
17352         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
17353         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
17354         bother with SYS_TIME_H.
17355         * modules/gettimeofday (configure.ac): Declare indicator.
17356         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
17357         in use.
17358
17359         closein-tests: silence compiler warning
17360         * tests/test-closein.c (main): Ignore fread result.
17361         * modules/closein-tests (Depends-on): Add ignore-value.
17362
17363         tests: silence warning about system return
17364         * tests/test-areadlink-with-size.c (main): Ignore system result.
17365         * tests/test-areadlink.c (main): Likewise.
17366         * tests/test-areadlinkat-with-size.c (main): Likewise.
17367         * tests/test-areadlinkat.c (main): Likewise.
17368         * tests/test-canonicalize-lgpl.c (main): Likewise.
17369         * tests/test-canonicalize.c (main): Likewise.
17370         * tests/test-chown.c (main): Likewise.
17371         * tests/test-fchownat.c (main): Likewise.
17372         * tests/test-fdutimensat.c (main): Likewise.
17373         * tests/test-fstatat.c (main): Likewise.
17374         * tests/test-futimens.c (main): Likewise.
17375         * tests/test-lchown.c (main): Likewise.
17376         * tests/test-link.c (main): Likewise.
17377         * tests/test-linkat.c (main): Likewise.
17378         * tests/test-lstat.c (main): Likewise.
17379         * tests/test-mkdir.c (main): Likewise.
17380         * tests/test-mkdirat.c (main): Likewise.
17381         * tests/test-mkfifo.c (main): Likewise.
17382         * tests/test-mkfifoat.c (main): Likewise.
17383         * tests/test-mknod.c (main): Likewise.
17384         * tests/test-readlink.c (main): Likewise.
17385         * tests/test-remove.c (main): Likewise.
17386         * tests/test-rename.c (main): Likewise.
17387         * tests/test-renameat.c (main): Likewise.
17388         * tests/test-rmdir.c (main): Likewise.
17389         * tests/test-symlink.c (main): Likewise.
17390         * tests/test-symlinkat.c (main): Likewise.
17391         * tests/test-unlink.c (main): Likewise.
17392         * tests/test-unlinkat.c (main): Likewise.
17393         * tests/test-utimens.c (main): Likewise.
17394         * tests/test-utimensat.c (main): Likewise.
17395         * modules/areadlink-tests (Depends-on): Add ignore-value.
17396         * modules/areadlink-with-size-tests (Depends-on): Likewise.
17397         * modules/areadlinkat-tests (Depends-on): Likewise.
17398         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
17399         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
17400         * modules/canonicalize-tests (Depends-on): Likewise.
17401         * modules/chown-tests (Depends-on): Likewise.
17402         * modules/fdutimensat-tests (Depends-on): Likewise.
17403         * modules/futimens-tests (Depends-on): Likewise.
17404         * modules/lchown-tests (Depends-on): Likewise.
17405         * modules/link-tests (Depends-on): Likewise.
17406         * modules/linkat-tests (Depends-on): Likewise.
17407         * modules/lstat-tests (Depends-on): Likewise.
17408         * modules/mkdir-tests (Depends-on): Likewise.
17409         * modules/mkfifo-tests (Depends-on): Likewise.
17410         * modules/mkfifoat-tests (Depends-on): Likewise.
17411         * modules/mknod-tests (Depends-on): Likewise.
17412         * modules/openat-tests (Depends-on): Likewise.
17413         * modules/readlink-tests (Depends-on): Likewise.
17414         * modules/remove-tests (Depends-on): Likewise.
17415         * modules/rename-tests (Depends-on): Likewise.
17416         * modules/renameat-tests (Depends-on): Likewise.
17417         * modules/rmdir-tests (Depends-on): Likewise.
17418         * modules/symlink-tests (Depends-on): Likewise.
17419         * modules/symlinkat-tests (Depends-on): Likewise.
17420         * modules/unlink-tests (Depends-on): Likewise.
17421         * modules/utimens-tests (Depends-on): Likewise.
17422         * modules/utimensat-tests (Depends-on): Likewise.
17423
17424 2010-01-31  Bruno Haible  <bruno@clisp.org>
17425
17426         Perform the same test for many <math.h> functions.
17427         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
17428         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
17429         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
17430         of gl_MATHFUNC.
17431         * modules/acos (configure.ac): Likewise.
17432         * modules/asin (configure.ac): Likewise.
17433         * modules/atan (configure.ac): Likewise.
17434         * modules/atan2 (configure.ac): Likewise.
17435         * modules/cbrt (configure.ac): Likewise.
17436         * modules/copysign (configure.ac): Likewise.
17437         * modules/cos (configure.ac): Likewise.
17438         * modules/cosh (configure.ac): Likewise.
17439         * modules/erf (configure.ac): Likewise.
17440         * modules/erfc (configure.ac): Likewise.
17441         * modules/exp (configure.ac): Likewise.
17442         * modules/fmod (configure.ac): Likewise.
17443         * modules/hypot (configure.ac): Likewise.
17444         * modules/j0 (configure.ac): Likewise.
17445         * modules/j1 (configure.ac): Likewise.
17446         * modules/jn (configure.ac): Likewise.
17447         * modules/lgamma (configure.ac): Likewise.
17448         * modules/log (configure.ac): Likewise.
17449         * modules/log10 (configure.ac): Likewise.
17450         * modules/log1p (configure.ac): Likewise.
17451         * modules/pow (configure.ac): Likewise.
17452         * modules/remainder (configure.ac): Likewise.
17453         * modules/sin (configure.ac): Likewise.
17454         * modules/sinh (configure.ac): Likewise.
17455         * modules/tan (configure.ac): Likewise.
17456         * modules/tanh (configure.ac): Likewise.
17457         * modules/y0 (configure.ac): Likewise.
17458         * modules/y1 (configure.ac): Likewise.
17459         * modules/yn (configure.ac): Likewise.
17460         Suggested by Paolo Bonzini.
17461
17462 2010-01-31  Bruno Haible  <bruno@clisp.org>
17463
17464         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
17465
17466 2010-01-31  Bruno Haible  <bruno@clisp.org>
17467
17468         Work around getdelim() bug on FreeBSD 8.0.
17469         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
17470         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
17471         not work.
17472         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
17473         is 1.
17474         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
17475         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
17476         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
17477         a non-zero size.
17478         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
17479
17480 2010-01-31  Bruno Haible  <bruno@clisp.org>
17481
17482         Work around getline() bug on FreeBSD 8.0.
17483         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
17484         and a non-zero size.
17485         * tests/test-getline.c (main): Likewise.
17486         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
17487         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
17488
17489 2010-01-28  Eric Blake  <ebb9@byu.net>
17490
17491         regex: fix build failure
17492         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
17493         platforms.
17494
17495 2010-01-28  Jim Meyering  <meyering@redhat.com>
17496
17497         regex: do not ignore memory allocation failure
17498         * lib/regex_internal.c (create_cd_newstate): Detect
17499         re_node_set_init_copy failure.   Extracted from glibc commit
17500         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
17501
17502         regex: sync more white-space changes from libc
17503         * lib/regex_internal.c: White-space only changes.
17504         * lib/regexec.c: Likewise.
17505
17506         regex: add many uses of __attribute_warn_unused_result__
17507         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
17508         * lib/regexec.c: Likewise.
17509         Extracted from a messy glibc commit.
17510
17511         regcomp.c: spelling and merge-artifact from glibc
17512         * lib/regcomp.c: Merge remainder of glibc's
17513         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
17514
17515         regcomp.c: sync white-space changes from glibc
17516         * lib/regcomp.c: Merge to accommodate white space
17517         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
17518
17519         regcomp.c: do not ignore internal return values
17520         * lib/regcomp.c: Do not ignore internal return values.
17521         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
17522         but without its white-space changes and spelling fixes.
17523
17524         regex_internal.h: define __attribute_warn_unused_result__
17525         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
17526
17527         maint: add a syntax-check rule to check for vulnerable Makefile.in
17528         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
17529
17530 2010-01-27  Jim Meyering  <meyering@redhat.com>
17531
17532         ncftpput-ftp: clean up spaces
17533         * build-aux/ncftpput-ftp: Make Copyright line consistent.
17534         Remove trailing blanks.
17535
17536 2010-01-27  Simon Josefsson  <simon@josefsson.org>
17537
17538         * build-aux/git-version-gen: Fix copyright statement.
17539         * build-aux/gnupload: Likewise.
17540         * tests/test-arcfour.c: Likewise.
17541         * tests/test-arctwo.c: Likewise.
17542         * tests/test-count-one-bits.c: Likewise.
17543         * tests/test-crc.c: Likewise.
17544         * tests/test-des.c: Likewise.
17545         * tests/test-gc-arcfour.c: Likewise.
17546         * tests/test-gc-arctwo.c: Likewise.
17547         * tests/test-gc-des.c: Likewise.
17548         * tests/test-gc-hmac-md5.c: Likewise.
17549         * tests/test-gc-hmac-sha1.c: Likewise.
17550         * tests/test-gc-md2.c: Likewise.
17551         * tests/test-gc-md4.c: Likewise.
17552         * tests/test-gc-md5.c: Likewise.
17553         * tests/test-gc-pbkdf2-sha1.c: Likewise.
17554         * tests/test-gc-rijndael.c: Likewise.
17555         * tests/test-gc-sha1.c: Likewise.
17556         * tests/test-gc.c: Likewise.
17557         * tests/test-gethostname.c: Likewise.
17558         * tests/test-gettimeofday.c: Likewise.
17559         * tests/test-hash.c: Likewise.
17560         * tests/test-hmac-md5.c: Likewise.
17561         * tests/test-hmac-sha1.c: Likewise.
17562         * tests/test-md2.c: Likewise.
17563         * tests/test-md4.c: Likewise.
17564         * tests/test-md5.c: Likewise.
17565         * tests/test-memchr.c: Likewise.
17566         * tests/test-memchr2.c: Likewise.
17567         * tests/test-memcmp.c: Likewise.
17568         * tests/test-memmem.c: Likewise.
17569         * tests/test-memrchr.c: Likewise.
17570         * tests/test-rawmemchr.c: Likewise.
17571         * tests/test-read-file.c: Likewise.
17572         * tests/test-rijndael.c: Likewise.
17573         * tests/test-sockets.c: Likewise.
17574         * tests/test-strchrnul.c: Likewise.
17575         * tests/test-strstr.c: Likewise.
17576         * tests/test-strtod.c: Likewise.
17577         * build-aux/ncftpput-ftp: Likewise.
17578
17579 2010-01-26  Eric Blake  <ebb9@byu.net>
17580
17581         ignore-value: update recommended header name
17582         * modules/ignore-value (Include): Only use <> for headers that
17583         exist in glibc.
17584
17585 2010-01-26  Jim Meyering  <meyering@redhat.com>
17586
17587         test-userspec.c: avoid compiler warnings
17588         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
17589         and "initialization discards qualifiers..." warnings.
17590         Put the first "uid" in its own scope, and make char* members "const".
17591
17592 2010-01-25  Bruno Haible  <bruno@clisp.org>
17593
17594         gnulib-tool: Make warning diagnostics consistent.
17595         * gnulib-tool (func_warning): New function.
17596         Use it everywhere where gnulib-tool produces output to stderr and it is
17597         not a fatal error.
17598
17599 2010-01-25  Bruno Haible  <bruno@clisp.org>
17600
17601         Fix test dependencies.
17602         * modules/xstrtol-tests (Depends-on): Add inttypes.
17603         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
17604
17605 2010-01-25 Pádraig Brady <P@draigBrady.com>
17606
17607         syntax-check: detect incorrect boolean macro values in config.h
17608         * modules/maintainer-makefile (configure.ac): Parameterize the location
17609         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
17610         The logic is from Eric Blake and the location indicated by Jim Meyering.
17611         Note the more natural CONFIG_HEADER name is prohibited by automake
17612         for backwards compatibility reasons.
17613         * top/maint.mk (sc_Wundef_boolean): New rule.
17614
17615 2010-01-25  Jim Meyering  <meyering@redhat.com>
17616
17617         bootstrap: detect MacOS 10.6's shasum, too
17618         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
17619         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
17620
17621 2010-01-23  Jim Meyering  <meyering@redhat.com>
17622
17623         xstrtoll: new module
17624         * modules/xstrtoll: New file.
17625         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
17626         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
17627         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
17628         ./configure fails if you use this module and lack "long long".
17629         * modules/xstrtoll-tests: New module.
17630         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
17631         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
17632         new init.sh-based test framework.
17633
17634 2010-01-24  Bruno Haible  <bruno@clisp.org>
17635
17636         Tests for module 'yn'.
17637         * modules/yn-tests: New file.
17638         * tests/test-yn.c: New file.
17639
17640         Tests for module 'y1'.
17641         * modules/y1-tests: New file.
17642         * tests/test-y1.c: New file.
17643
17644         Tests for module 'y0'.
17645         * modules/y0-tests: New file.
17646         * tests/test-y0.c: New file.
17647
17648         Tests for module 'tanh'.
17649         * modules/tanh-tests: New file.
17650         * tests/test-tanh.c: New file.
17651
17652         Tests for module 'tan'.
17653         * modules/tan-tests: New file.
17654         * tests/test-tan.c: New file.
17655
17656         Tests for module 'sqrt'.
17657         * modules/sqrt-tests: New file.
17658         * tests/test-sqrt.c: New file.
17659
17660         Tests for module 'sinh'.
17661         * modules/sinh-tests: New file.
17662         * tests/test-sinh.c: New file.
17663
17664         Tests for module 'sin'.
17665         * modules/sin-tests: New file.
17666         * tests/test-sin.c: New file.
17667
17668         Tests for module 'rint'.
17669         * modules/rint-tests: New file.
17670         * tests/test-rint.c: New file.
17671
17672         Tests for module 'remainder'.
17673         * modules/remainder-tests: New file.
17674         * tests/test-remainder.c: New file.
17675
17676         Tests for module 'pow'.
17677         * modules/pow-tests: New file.
17678         * tests/test-pow.c: New file.
17679
17680         Tests for module 'nextafter'.
17681         * modules/nextafter-tests: New file.
17682         * tests/test-nextafter.c: New file.
17683
17684         Tests for module 'modf'.
17685         * modules/modf-tests: New file.
17686         * tests/test-modf.c: New file.
17687
17688         Tests for module 'logb'.
17689         * modules/logb-tests: New file.
17690         * tests/test-logb.c: New file.
17691
17692         Tests for module 'log1p'.
17693         * modules/log1p-tests: New file.
17694         * tests/test-log1p.c: New file.
17695
17696         Tests for module 'log10'.
17697         * modules/log10-tests: New file.
17698         * tests/test-log10.c: New file.
17699
17700         Tests for module 'log'.
17701         * modules/log-tests: New file.
17702         * tests/test-log.c: New file.
17703
17704         Tests for module 'lgamma'.
17705         * modules/lgamma-tests: New file.
17706         * tests/test-lgamma.c: New file.
17707
17708         Tests for module 'ldexp'.
17709         * modules/ldexp-tests: New file.
17710         * tests/test-ldexp.c: New file.
17711
17712         Tests for module 'jn'.
17713         * modules/jn-tests: New file.
17714         * tests/test-jn.c: New file.
17715
17716         Tests for module 'j1'.
17717         * modules/j1-tests: New file.
17718         * tests/test-j1.c: New file.
17719
17720         Tests for module 'j0'.
17721         * modules/j0-tests: New file.
17722         * tests/test-j0.c: New file.
17723
17724         Tests for module 'hypot'.
17725         * modules/hypot-tests: New file.
17726         * tests/test-hypot.c: New file.
17727
17728         Tests for module 'fmod'.
17729         * modules/fmod-tests: New file.
17730         * tests/test-fmod.c: New file.
17731
17732         Tests for module 'fabs'.
17733         * modules/fabs-tests: New file.
17734         * tests/test-fabs.c: New file.
17735
17736         Tests for module 'exp'.
17737         * modules/exp-tests: New file.
17738         * tests/test-exp.c: New file.
17739
17740         Tests for module 'erfc'.
17741         * modules/erfc-tests: New file.
17742         * tests/test-erfc.c: New file.
17743
17744         Tests for module 'erf'.
17745         * modules/erf-tests: New file.
17746         * tests/test-erf.c: New file.
17747
17748         Tests for module 'cosh'.
17749         * modules/cosh-tests: New file.
17750         * tests/test-cosh.c: New file.
17751
17752         Tests for module 'cos'.
17753         * modules/cos-tests: New file.
17754         * tests/test-cos.c: New file.
17755
17756         Tests for module 'copysign'.
17757         * modules/copysign-tests: New file.
17758         * tests/test-copysign.c: New file.
17759
17760         Tests for module 'cbrt'.
17761         * modules/cbrt-tests: New file.
17762         * tests/test-cbrt.c: New file.
17763
17764         Tests for module 'atan2'.
17765         * modules/atan2-tests: New file.
17766         * tests/test-atan2.c: New file.
17767
17768         Tests for module 'atan'.
17769         * modules/atan-tests: New file.
17770         * tests/test-atan.c: New file.
17771
17772         Tests for module 'asin'.
17773         * modules/asin-tests: New file.
17774         * tests/test-asin.c: New file.
17775
17776         Tests for module 'acos'.
17777         * modules/acos-tests: New file.
17778         * tests/test-acos.c: New file.
17779
17780 2010-01-24  Bruno Haible  <bruno@clisp.org>
17781
17782         Fix tests for common <math.h> functions.
17783         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
17784         code snippet that references the function pointer, rather than merely
17785         calling the function. Substitute the FUNC_LIBM variable.
17786         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
17787         * modules/acos (configure.ac): Likewise.
17788         * modules/asin (configure.ac): Likewise.
17789         * modules/atan (configure.ac): Likewise.
17790         * modules/atan2 (configure.ac): Likewise.
17791         * modules/cbrt (configure.ac): Likewise.
17792         * modules/copysign (configure.ac): Likewise.
17793         * modules/cos (configure.ac): Likewise.
17794         * modules/cosh (configure.ac): Likewise.
17795         * modules/erf (configure.ac): Likewise.
17796         * modules/erfc (configure.ac): Likewise.
17797         * modules/exp (configure.ac): Likewise.
17798         * modules/fabs (configure.ac): Likewise.
17799         * modules/fmod (configure.ac): Likewise.
17800         * modules/hypot (configure.ac): Likewise.
17801         * modules/j0 (configure.ac): Likewise.
17802         * modules/j1 (configure.ac): Likewise.
17803         * modules/jn (configure.ac): Likewise.
17804         * modules/ldexp (configure.ac): Likewise.
17805         * modules/lgamma (configure.ac): Likewise.
17806         * modules/log (configure.ac): Likewise.
17807         * modules/log10 (configure.ac): Likewise.
17808         * modules/log1p (configure.ac): Likewise.
17809         * modules/logb (configure.ac): Likewise.
17810         * modules/modf (configure.ac): Likewise.
17811         * modules/nextafter (configure.ac): Likewise.
17812         * modules/pow (configure.ac): Likewise.
17813         * modules/remainder (configure.ac): Likewise.
17814         * modules/rint (configure.ac): Likewise.
17815         * modules/sin (configure.ac): Likewise.
17816         * modules/sinh (configure.ac): Likewise.
17817         * modules/tan (configure.ac): Likewise.
17818         * modules/tanh (configure.ac): Likewise.
17819         * modules/y0 (configure.ac): Likewise.
17820         * modules/y1 (configure.ac): Likewise.
17821         * modules/yn (configure.ac): Likewise.
17822
17823 2010-01-24  Bruno Haible  <bruno@clisp.org>
17824
17825         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
17826         * tests/test-acosl.c (x): New variable.
17827         (main): Store argument in x and fetch it from x.
17828         * tests/test-asinl.c (x): New variable.
17829         (main): Store argument in x and fetch it from x.
17830         * tests/test-atanl.c (x): New variable.
17831         (main): Store argument in x and fetch it from x.
17832         * tests/test-cosl.c (x): New variable.
17833         (main): Store argument in x and fetch it from x.
17834         * tests/test-expl.c (x): New variable.
17835         (main): Store argument in x and fetch it from x.
17836         * tests/test-logl.c (x): New variable.
17837         (main): Store argument in x and fetch it from x.
17838         * tests/test-sinl.c (x): New variable.
17839         (main): Store argument in x and fetch it from x.
17840         * tests/test-sqrtl.c (x): New variable.
17841         (main): Store argument in x and fetch it from x.
17842         * tests/test-tanl.c (x): New variable.
17843         (main): Store argument in x and fetch it from x.
17844
17845 2010-01-24  Bruno Haible  <bruno@clisp.org>
17846
17847         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
17848         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
17849         assignments to the initial TESTS_ENVIRONMENT.
17850         * doc/gnulib.texi (Unit test modules): Document it.
17851         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
17852         TESTS_ENVIRONMENT.
17853         * modules/btowc-tests (Makefile.am): Likewise.
17854         * modules/c-stack-tests (Makefile.am): Likewise.
17855         * modules/c-strcase-tests (Makefile.am): Likewise.
17856         * modules/copy-file-tests (Makefile.am): Likewise.
17857         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
17858         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
17859         * modules/mbrtowc-tests (Makefile.am): Likewise.
17860         * modules/mbscasecmp-tests (Makefile.am): Likewise.
17861         * modules/mbscasestr-tests (Makefile.am): Likewise.
17862         * modules/mbschr-tests (Makefile.am): Likewise.
17863         * modules/mbscspn-tests (Makefile.am): Likewise.
17864         * modules/mbsinit-tests (Makefile.am): Likewise.
17865         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
17866         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
17867         * modules/mbspbrk-tests (Makefile.am): Likewise.
17868         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
17869         * modules/mbsrchr-tests (Makefile.am): Likewise.
17870         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
17871         * modules/mbsspn-tests (Makefile.am): Likewise.
17872         * modules/mbsstr-tests (Makefile.am): Likewise.
17873         * modules/nl_langinfo-tests (Makefile.am): Likewise.
17874         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
17875         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
17876         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
17877         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
17878         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
17879         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
17880         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
17881         * modules/wcrtomb-tests (Makefile.am): Likewise.
17882         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
17883         * modules/wcsrtombs-tests (Makefile.am): Likewise.
17884         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
17885         assignments from TESTS_ENVIRONMENT.
17886         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
17887         augmentation.
17888         * modules/argp-version-etc-tests (Makefile.am): Likewise.
17889         * modules/atexit-tests (Makefile.am): Likewise.
17890         * modules/binary-io-tests (Makefile.am): Likewise.
17891         * modules/closein-tests (Makefile.am): Likewise.
17892         * modules/dprintf-posix-tests (Makefile.am): Likewise.
17893         * modules/exclude-tests (Makefile.am): Likewise.
17894         * modules/fflush-tests (Makefile.am): Likewise.
17895         * modules/fpending-tests (Makefile.am): Likewise.
17896         * modules/fprintf-posix-tests (Makefile.am): Likewise.
17897         * modules/freadahead-tests (Makefile.am): Likewise.
17898         * modules/freadptr-tests (Makefile.am): Likewise.
17899         * modules/freadseek-tests (Makefile.am): Likewise.
17900         * modules/fseek-tests (Makefile.am): Likewise.
17901         * modules/fseeko-tests (Makefile.am): Likewise.
17902         * modules/ftell-tests (Makefile.am): Likewise.
17903         * modules/ftello-tests (Makefile.am): Likewise.
17904         * modules/idpriv-drop-tests (Makefile.am): Likewise.
17905         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
17906         * modules/lseek-tests (Makefile.am): Likewise.
17907         * modules/parse-duration-tests (Makefile.am): Likewise.
17908         * modules/perror-tests (Makefile.am): Likewise.
17909         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
17910         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
17911         * modules/pipe-tests (Makefile.am): Likewise.
17912         * modules/pread-tests (Makefile.am): Likewise.
17913         * modules/printf-posix-tests (Makefile.am): Likewise.
17914         * modules/select-tests (Makefile.am): Likewise.
17915         * modules/sigpipe-tests (Makefile.am): Likewise.
17916         * modules/tsearch-tests (Makefile.am): Likewise.
17917         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
17918         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
17919         * modules/uniname/uniname-tests (Makefile.am): Likewise.
17920         * modules/uniwidth/width-tests (Makefile.am): Likewise.
17921         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
17922         * modules/version-etc-tests (Makefile.am): Likewise.
17923         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
17924         * modules/vprintf-posix-tests (Makefile.am): Likewise.
17925         * modules/xalloc-die-tests (Makefile.am): Likewise.
17926         * modules/xprintf-posix-tests (Makefile.am): Likewise.
17927         * modules/xstrtoimax-tests (Makefile.am): Likewise.
17928         * modules/xstrtol-tests (Makefile.am): Likewise.
17929         * modules/xstrtoumax-tests (Makefile.am): Likewise.
17930         * modules/yesno-tests (Makefile.am): Likewise.
17931         Suggested by Jim Meyering.
17932
17933 2010-01-24  Bruno Haible  <bruno@clisp.org>
17934
17935         More documentation.
17936         * doc/gnulib.texi (Writing modules): New chapter.
17937         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
17938         the new chapter.
17939
17940 2010-01-24  Jim Meyering  <meyering@redhat.com>
17941
17942         maint.mk: do not prepend "./" after filtering
17943         * top/maint.mk (_prepend_srcdir_prefix): New variable
17944         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
17945         "./" when $(srcdir) is ".".
17946
17947         define STREQ(a,b) consistently, removing useless parentheses
17948         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
17949         since the only risk is that "a" or "b" contains an unparenthesized
17950         comma, but if either did that, STREQ would have 3 or more arguments.
17951         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
17952         * lib/fts.c (STREQ): Remove unnecessary parentheses.
17953         * lib/hash-triple.c (STREQ): Likewise.
17954         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
17955         * lib/getugroups.c (STREQ): Likewise.
17956
17957 2010-01-23  Jim Meyering  <meyering@redhat.com>
17958
17959         maint.mk: fix syntax-check in a non-srcdir build directory
17960         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
17961         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
17962
17963 2010-01-22  Jim Meyering  <meyering@redhat.com>
17964
17965         userspec: add unit tests
17966         * tests/test-userspec.c: New file.
17967         * modules/userspec-tests: Likewise.
17968
17969 2010-01-21  Jim Meyering  <meyering@redhat.com>
17970
17971         maint.mk: handle source file names containing "." robustly
17972         * top/maint.mk (_dot_escaped_srcdir): Define.
17973         (VC_LIST): Use it in LHS of sed substitution.
17974
17975 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
17976
17977         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
17978         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
17979         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
17980         from a non-srcdir build.
17981
17982 2010-01-20  Eric Blake  <ebb9@byu.net>
17983
17984         warn-on-use: use instead of link-warning
17985         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
17986         * modules/unistd (Depends-on, Makefile.am): Likewise.
17987         * modules/arpa_inet (Depends-on): Replace link-warning with
17988         warn-on-use.
17989         (Makefile.am): Update rules accordingly.
17990         * modules/ctype (Depends-on, Makefile.am): Likewise.
17991         * modules/dirent (Depends-on, Makefile.am): Likewise.
17992         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
17993         * modules/inttypes (Depends-on, Makefile.am): Likewise.
17994         * modules/langinfo (Depends-on, Makefile.am): Likewise.
17995         * modules/locale (Depends-on, Makefile.am): Likewise.
17996         * modules/math (Depends-on, Makefile.am): Likewise.
17997         * modules/search (Depends-on, Makefile.am): Likewise.
17998         * modules/signal (Depends-on, Makefile.am): Likewise.
17999         * modules/spawn (Depends-on, Makefile.am): Likewise.
18000         * modules/stdlib (Depends-on, Makefile.am): Likewise.
18001         * modules/string (Depends-on, Makefile.am): Likewise.
18002         * modules/strings (Depends-on, Makefile.am): Likewise.
18003         * modules/sys_file (Depends-on, Makefile.am): Likewise.
18004         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
18005         * modules/sys_select (Depends-on, Makefile.am): Likewise.
18006         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
18007         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
18008         * modules/sys_times (Depends-on, Makefile.am): Likewise.
18009         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
18010         * modules/wchar (Depends-on, Makefile.am): Likewise.
18011         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
18012         should be poisoned.
18013         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
18014         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
18015         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
18016         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
18017         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
18018         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
18019         * m4/math_h.m4 (gl_MATH_H): Likewise.
18020         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
18021         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
18022         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
18023         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
18024         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
18025         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
18026         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
18027         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
18028         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
18029         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18030         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
18031         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
18032         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
18033         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
18034         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
18035         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
18036         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
18037         GL_LINK_WARNING.
18038         * lib/ctype.in.h: Likewise.
18039         * lib/dirent.in.h: Likewise.
18040         * lib/fcntl.in.h: Likewise.
18041         * lib/inttypes.in.h: Likewise.
18042         * lib/langinfo.in.h: Likewise.
18043         * lib/locale.in.h: Likewise.
18044         * lib/math.in.h: Likewise.
18045         * lib/search.in.h: Likewise.
18046         * lib/signal.in.h: Likewise.
18047         * lib/spawn.in.h: Likewise.
18048         * lib/stdio.in.h: Likewise.
18049         * lib/stdlib.in.h: Likewise.
18050         * lib/string.in.h: Likewise.
18051         * lib/strings.in.h: Likewise.
18052         * lib/sys_file.in.h: Likewise.
18053         * lib/sys_ioctl.in.h: Likewise.
18054         * lib/sys_select.in.h: Likewise.
18055         * lib/sys_socket.in.h: Likewise.
18056         * lib/sys_stat.in.h: Likewise.
18057         * lib/sys_times.in.h: Likewise.
18058         * lib/sys_utsname.in.h: Likewise.
18059         * lib/unistd.in.h: Likewise.
18060         * lib/wchar.in.h: Likewise.
18061
18062 2010-01-20  Bruno Haible  <bruno@clisp.org>
18063
18064         Avoid duplicate -lm.
18065         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
18066         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
18067         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
18068         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
18069         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
18070         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
18071         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
18072         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
18073         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
18074         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
18075         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
18076         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
18077         Reported by Paolo Bonzini.
18078
18079 2010-01-19  Bruno Haible  <bruno@clisp.org>
18080
18081         langinfo, nl_langinfo: Relicense under LGPLv2+.
18082         * modules/langinfo (License): Change to LGPLv2+.
18083         * modules/nl_langinfo (License): Likewise.
18084         Patch by David Lutterkort <lutter@redhat.com>.
18085
18086 2010-01-19  Bruno Haible  <bruno@clisp.org>
18087
18088         Avoid compilation error with cc on OSF/1 5.1.
18089         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
18090         statement, not before.
18091         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18092
18093 2010-01-18  Bruno Haible  <bruno@clisp.org>
18094
18095         Avoid a link error due to the __printf__ symbol.
18096         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
18097         and 2.6.x.
18098         (__format__, __printf__): Remove definitions.
18099         * lib/argp-fmtstream.h: Likewise.
18100         * lib/argp.h: Likewise.
18101         * lib/error.h: Likewise.
18102         * lib/vasnprintf.h: Likewise.
18103         * lib/xprintf.h: Likewise.
18104         * lib/xvasprintf.h: Likewise.
18105         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18106
18107 2010-01-18  Bruno Haible  <bruno@clisp.org>
18108
18109         Tests for module 'tanl'.
18110         * modules/tanl-tests: New file.
18111         * tests/test-tanl.c: New file.
18112
18113         Tests for module 'sqrtl'.
18114         * modules/sqrtl-tests: New file.
18115         * tests/test-sqrtl.c: New file.
18116
18117         Tests for module 'sinl'.
18118         * modules/sinl-tests: New file.
18119         * tests/test-sinl.c: New file.
18120
18121         Tests for module 'logl'.
18122         * modules/logl-tests: New file.
18123         * tests/test-logl.c: New file.
18124
18125         Tests for module 'expl'.
18126         * modules/expl-tests: New file.
18127         * tests/test-expl.c: New file.
18128
18129         Tests for module 'cosl'.
18130         * modules/cosl-tests: New file.
18131         * tests/test-cosl.c: New file.
18132
18133         Tests for module 'atanl'.
18134         * modules/atanl-tests: New file.
18135         * tests/test-atanl.c: New file.
18136
18137         Tests for module 'asinl'.
18138         * modules/asinl-tests: New file.
18139         * tests/test-asinl.c: New file.
18140
18141         Tests for module 'acosl'.
18142         * modules/acosl-tests: New file.
18143         * tests/test-acosl.c: New file.
18144
18145         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
18146         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
18147         tanl): Use the standard gnulib idiom.
18148         * lib/cosl.c: Don't include trigl.c and sincosl.c.
18149         * lib/sinl.c: Likewise.
18150         * lib/tanl.c: Don't include trigl.c.
18151         (kernel_tanl): Make static.
18152         * lib/sincosl.c: Include trigl.h first.
18153         * lib/trigl.c: Likewise.
18154         * m4/acosl.m4: New file.
18155         * m4/asinl.m4: New file.
18156         * m4/atanl.m4: New file.
18157         * m4/cosl.m4: New file.
18158         * m4/expl.m4: New file.
18159         * m4/logl.m4: New file.
18160         * m4/sinl.m4: New file.
18161         * m4/sqrtl.m4: New file.
18162         * m4/tanl.m4: New file.
18163         * m4/mathl.m4: Remove file.
18164         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
18165         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
18166         Don't initialize GNULIB_MATHL.
18167         * modules/acosl: New file.
18168         * modules/asinl: New file.
18169         * modules/atanl: New file.
18170         * modules/cosl: New file.
18171         * modules/expl: New file.
18172         * modules/logl: New file.
18173         * modules/sinl: New file.
18174         * modules/sqrtl: New file.
18175         * modules/tanl: New file.
18176         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
18177         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
18178         substitute GNULIB_MATHL.
18179         * modules/mathl: Rewritten.
18180         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
18181         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
18182         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
18183         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
18184         * doc/posix-functions/expl.texi: Mention the 'expl' module.
18185         * doc/posix-functions/logl.texi: Mention the 'logl' module.
18186         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
18187         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
18188         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
18189
18190 2010-01-18  Bruno Haible  <bruno@clisp.org>
18191
18192         sqrt: Make gl_FUNC_SQRT requirable.
18193         * m4/sqrt.m4: New file.
18194         * modules/sqrt (Files): Add it.
18195         (configure.ac): Invoke gl_FUNC_SQRT.
18196
18197 2010-01-18  Bruno Haible  <bruno@clisp.org>
18198
18199         New modules for common <math.h> functions.
18200         * m4/mathfunc.m4: New file.
18201         * modules/acos: New file.
18202         * modules/asin: New file.
18203         * modules/atan: New file.
18204         * modules/atan2: New file.
18205         * modules/cbrt: New file.
18206         * modules/copysign: New file.
18207         * modules/cos: New file.
18208         * modules/cosh: New file.
18209         * modules/erf: New file.
18210         * modules/erfc: New file.
18211         * modules/exp: New file.
18212         * modules/fabs: New file.
18213         * modules/fmod: New file.
18214         * modules/hypot: New file.
18215         * modules/j0: New file.
18216         * modules/j1: New file.
18217         * modules/jn: New file.
18218         * modules/ldexp: New file.
18219         * modules/lgamma: New file.
18220         * modules/log: New file.
18221         * modules/log10: New file.
18222         * modules/log1p: New file.
18223         * modules/logb: New file.
18224         * modules/modf: New file.
18225         * modules/nextafter: New file.
18226         * modules/pow: New file.
18227         * modules/remainder: New file.
18228         * modules/rint: New file.
18229         * modules/sin: New file.
18230         * modules/sinh: New file.
18231         * modules/sqrt: New file.
18232         * modules/tan: New file.
18233         * modules/tanh: New file.
18234         * modules/y0: New file.
18235         * modules/y1: New file.
18236         * modules/yn: New file.
18237         * doc/posix-functions/acos.texi: Mention the 'acos' module.
18238         * doc/posix-functions/asin.texi: Mention the 'asin' module.
18239         * doc/posix-functions/atan.texi: Mention the 'atan' module.
18240         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
18241         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
18242         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
18243         * doc/posix-functions/cos.texi: Mention the 'cos' module.
18244         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
18245         * doc/posix-functions/erf.texi: Mention the 'erf' module.
18246         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
18247         * doc/posix-functions/exp.texi: Mention the 'exp' module.
18248         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
18249         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
18250         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
18251         * doc/posix-functions/j0.texi: Mention the 'j0' module.
18252         * doc/posix-functions/j1.texi: Mention the 'j1' module.
18253         * doc/posix-functions/jn.texi: Mention the 'jn' module.
18254         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
18255         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
18256         * doc/posix-functions/log.texi: Mention the 'log' module.
18257         * doc/posix-functions/log10.texi: Mention the 'log10' module.
18258         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
18259         * doc/posix-functions/logb.texi: Mention the 'logb' module.
18260         * doc/posix-functions/modf.texi: Mention the 'modf' module.
18261         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
18262         * doc/posix-functions/pow.texi: Mention the 'pow' module.
18263         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
18264         * doc/posix-functions/rint.texi: Mention the 'rint' module.
18265         * doc/posix-functions/sin.texi: Mention the 'sin' module.
18266         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
18267         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
18268         * doc/posix-functions/tan.texi: Mention the 'tan' module.
18269         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
18270         * doc/posix-functions/y0.texi: Mention the 'y0' module.
18271         * doc/posix-functions/y1.texi: Mention the 'y1' module.
18272         * doc/posix-functions/yn.texi: Mention the 'yn' module.
18273
18274 2010-01-18  Jim Meyering  <meyering@redhat.com>
18275
18276         ignore-value: relax license to LGPLv2+
18277         * modules/ignore-value (License): Relax to LGPLv2+.
18278
18279         getdate: don't leak when TZ contains two or more '"'s
18280         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
18281         double quote in TZ after the first one.
18282
18283         readtokens: do not leak internal token_lengths buffer
18284         * lib/readtokens.c (readtokens): Free the local, lengths,
18285         when the supplied "token_lengths" parameter is NULL.
18286
18287 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18288
18289         Fix a couple of missing LIBTHREAD link failures on AIX.
18290         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
18291         $(LIBTHREAD).
18292         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
18293
18294         Link test-poll against INET_PTON_LIB.
18295         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
18296         for inet_pton on Solaris 10.
18297
18298 2010-01-17  Bruno Haible  <bruno@clisp.org>
18299
18300         unistdio/*-sprintf: Fix typo in module description.
18301         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
18302         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
18303         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
18304         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
18305         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
18306         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
18307         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
18308         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
18309
18310 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18311
18312         gnulib-tool: fix filelist for AIX, HP-UX ksh.
18313         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
18314         variables in shell case patterns, for AIX and HP-UX ksh.
18315
18316         Split large sed scripts, for HP-UX sed.
18317         * modules/stdio: Split sed scripts around 50 sed commands,
18318         to avoid HP-UX limit of 99 commands, in the near future.
18319         * modules/string: Likewise.
18320         * modules/unistd: Likewise.
18321
18322         gnulib-tool: avoid writing in the current directory.
18323         * gnulib-tool (func_emit_lib_Makefile_am)
18324         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
18325         not in the current directory, so concurrent gnulib-tool
18326         instances do not interfere.
18327
18328 2010-01-16  Jim Meyering  <meyering@redhat.com>
18329
18330         doc: update users.txt
18331         * users.txt: Add grep.
18332         (diffutils, gzip): Update URLs.
18333
18334 2010-01-12  Bruno Haible  <bruno@clisp.org>
18335
18336         posix_spawn: Avoid test failure on Cygwin.
18337         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
18338         characters.
18339         Reported by Simon Josefsson.
18340
18341 2010-01-12  Bruno Haible  <bruno@clisp.org>
18342
18343         * tests/test-cond.c (main): When skipping the test, show the reason.
18344
18345 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18346
18347         * lib/striconv.c (str_cd_iconv): Avoid if before free.
18348
18349 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18350
18351         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
18352         VC_LIST_ALWAYS_EXCLUDE_REGEX.
18353
18354 2010-01-12  Eric Blake  <ebb9@byu.net>
18355
18356         build: guarantee AS_VAR_IF
18357         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
18358         (gl_AS_VAR_IF): Move...
18359         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
18360         Reported by Simon Josefsson.
18361
18362 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18363
18364         * lib/stdio.in.h: Fix typo.
18365
18366 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18367
18368         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
18369         libgpg-error.
18370
18371 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18372
18373         * tests/test-xalloc-die.sh: Use $EXEEXT.
18374
18375 2010-01-12  Simon Josefsson  <simon@josefsson.org>
18376             Bruno Haible  <bruno@clisp.org>
18377
18378         getlogin, getlogin_r: Avoid test failure.
18379         * tests/test-getlogin.c: Include <stdio.h>.
18380         (main): Skip the test when the function fails because stdin is not a
18381         tty.
18382         * tests/test-getlogin_r.c: Include <stdio.h>.
18383         (main): Skip the test when the function fails because stdin is not a
18384         tty.
18385
18386 2010-01-11  Eric Blake  <ebb9@byu.net>
18387
18388         tests: avoid more large file warnings
18389         * tests/test-fflush.c: Avoid warning about ftell use.
18390         * tests/test-fseek.c: Avoid warning about fseek use.
18391
18392 2010-01-10  Bruno Haible  <bruno@clisp.org>
18393
18394         nproc: Work better on Linux when /proc and /sys are not mounted.
18395         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
18396         as lower bound when, on glibc/Linux systems,
18397         sysconf (_SC_NPROCESSORS_CONF) returns 1.
18398         Suggested by Pádraig Brady <P@draigbrady.com>.
18399         Reported by Dmitry V. Levin <ldv@altlinux.org>.
18400
18401         nproc: Refactor.
18402         * lib/nproc.c (num_processors_via_affinity_mask): New function,
18403         extracted from num_processors.
18404         (num_processors): Call it.
18405
18406 2010-01-11  Jim Meyering  <meyering@redhat.com>
18407
18408         utimecmp: avoid new warning from upcoming gcc-4.5.0
18409         * lib/utimecmp.c (BILLION): Define using #define rather than an
18410         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
18411
18412 2010-01-11  Eric Blake  <ebb9@byu.net>
18413
18414         math: add portability warnings for classification macros
18415         * modules/math (Depends-on): Add warn-on-use.
18416         (Makefile.am): Provide new substitutions.
18417         * m4/math_h.m4 (gl_MATH_H): Require inline.
18418         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
18419         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
18420         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
18421         implement warnings.
18422
18423         unistd: warn on use of environ without module
18424         * modules/unistd (Depends-on): Add warn-on-use.
18425         (Makefile.am): Provide new substitutions.
18426         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
18427         * lib/unistd.in.h (environ): Wrap with a warning helper function.
18428
18429         stdio: warn on suspicious uses
18430         * modules/stdio (Depends-on): Add warn-on-use.
18431         (Makefile.am): Provide new substitutions.
18432         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
18433         fseeko.
18434         * lib/stdio.in.h (gets): Always warn on use.
18435         (fseek, ftell): Adjust when warnings are issued, and honor
18436         _GL_NO_LARGE_FILES as a way to silence the warning.
18437         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
18438         any warning about large file offsets.
18439         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
18440         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
18441         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
18442         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
18443         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
18444         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
18445         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
18446         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
18447
18448         warn-on-use: new module
18449         * modules/warn-on-use: New file.
18450         * build-aux/warn-on-use.h: Likewise.
18451         * m4/warn-on-use.m4: Likewise.
18452         * MODULES.html.sh (Support for building): Mention it.
18453
18454 2010-01-10  Bruno Haible  <bruno@clisp.org>
18455
18456         Tests for module 'unistr/u32-strdup'.
18457         * modules/unistr/u32-strdup-tests: New file.
18458         * tests/unistr/test-u32-strdup.c: New file.
18459
18460         Tests for module 'unistr/u16-strdup'.
18461         * modules/unistr/u16-strdup-tests: New file.
18462         * tests/unistr/test-u16-strdup.c: New file.
18463
18464         Tests for module 'unistr/u8-strdup'.
18465         * modules/unistr/u8-strdup-tests: New file.
18466         * tests/unistr/test-u8-strdup.c: New file.
18467         * tests/unistr/test-strdup.h: New file.
18468
18469         Tests for module 'unistr/u32-strncmp'.
18470         * modules/unistr/u32-strncmp-tests: New file.
18471         * tests/unistr/test-u32-strncmp.c: New file.
18472
18473         Tests for module 'unistr/u16-strncmp'.
18474         * modules/unistr/u16-strncmp-tests: New file.
18475         * tests/unistr/test-u16-strncmp.c: New file.
18476
18477         Tests for module 'unistr/u8-strncmp'.
18478         * modules/unistr/u8-strncmp-tests: New file.
18479         * tests/unistr/test-u8-strncmp.c: New file.
18480         * tests/unistr/test-strncmp.h: New file.
18481
18482         Tests for module 'unistr/u32-strcoll'.
18483         * modules/unistr/u32-strcoll-tests: New file.
18484         * tests/unistr/test-u32-strcoll.c: New file.
18485
18486         Tests for module 'unistr/u16-strcoll'.
18487         * modules/unistr/u16-strcoll-tests: New file.
18488         * tests/unistr/test-u16-strcoll.c: New file.
18489
18490         Tests for module 'unistr/u8-strcoll'.
18491         * modules/unistr/u8-strcoll-tests: New file.
18492         * tests/unistr/test-u8-strcoll.c: New file.
18493
18494         Tests for module 'unistr/u32-strcmp'.
18495         * modules/unistr/u32-strcmp-tests: New file.
18496         * tests/unistr/test-u32-strcmp.c: New file.
18497         * tests/unistr/test-u32-strcmp.h: New file.
18498
18499         Tests for module 'unistr/u16-strcmp'.
18500         * modules/unistr/u16-strcmp-tests: New file.
18501         * tests/unistr/test-u16-strcmp.c: New file.
18502         * tests/unistr/test-u16-strcmp.h: New file.
18503
18504         Tests for module 'unistr/u8-strcmp'.
18505         * modules/unistr/u8-strcmp-tests: New file.
18506         * tests/unistr/test-u8-strcmp.c: New file.
18507         * tests/unistr/test-u8-strcmp.h: New file.
18508         * tests/unistr/test-strcmp.h: New file.
18509
18510         Tests for module 'unistr/u32-strncat'.
18511         * modules/unistr/u32-strncat-tests: New file.
18512         * tests/unistr/test-u32-strncat.c: New file.
18513
18514         Tests for module 'unistr/u16-strncat'.
18515         * modules/unistr/u16-strncat-tests: New file.
18516         * tests/unistr/test-u16-strncat.c: New file.
18517
18518         Tests for module 'unistr/u8-strncat'.
18519         * modules/unistr/u8-strncat-tests: New file.
18520         * tests/unistr/test-u8-strncat.c: New file.
18521         * tests/unistr/test-strncat.h: New file.
18522
18523         Tests for module 'unistr/u32-strcat'.
18524         * modules/unistr/u32-strcat-tests: New file.
18525         * tests/unistr/test-u32-strcat.c: New file.
18526
18527         Tests for module 'unistr/u16-strcat'.
18528         * modules/unistr/u16-strcat-tests: New file.
18529         * tests/unistr/test-u16-strcat.c: New file.
18530
18531         Tests for module 'unistr/u8-strcat'.
18532         * modules/unistr/u8-strcat-tests: New file.
18533         * tests/unistr/test-u8-strcat.c: New file.
18534         * tests/unistr/test-strcat.h: New file.
18535
18536         Tests for module 'unistr/u32-stpncpy'.
18537         * modules/unistr/u32-stpncpy-tests: New file.
18538         * tests/unistr/test-u32-stpncpy.c: New file.
18539
18540         Tests for module 'unistr/u16-stpncpy'.
18541         * modules/unistr/u16-stpncpy-tests: New file.
18542         * tests/unistr/test-u16-stpncpy.c: New file.
18543
18544         Tests for module 'unistr/u8-stpncpy'.
18545         * modules/unistr/u8-stpncpy-tests: New file.
18546         * tests/unistr/test-u8-stpncpy.c: New file.
18547         * tests/unistr/test-stpncpy.h: New file.
18548
18549         Tests for module 'unistr/u32-strncpy'.
18550         * modules/unistr/u32-strncpy-tests: New file.
18551         * tests/unistr/test-u32-strncpy.c: New file.
18552
18553         Tests for module 'unistr/u16-strncpy'.
18554         * modules/unistr/u16-strncpy-tests: New file.
18555         * tests/unistr/test-u16-strncpy.c: New file.
18556
18557         Tests for module 'unistr/u8-strncpy'.
18558         * modules/unistr/u8-strncpy-tests: New file.
18559         * tests/unistr/test-u8-strncpy.c: New file.
18560         * tests/unistr/test-strncpy.h: New file.
18561
18562         Tests for module 'unistr/u32-stpcpy'.
18563         * modules/unistr/u32-stpcpy-tests: New file.
18564         * tests/unistr/test-u32-stpcpy.c: New file.
18565
18566         Tests for module 'unistr/u16-stpcpy'.
18567         * modules/unistr/u16-stpcpy-tests: New file.
18568         * tests/unistr/test-u16-stpcpy.c: New file.
18569
18570         Tests for module 'unistr/u8-stpcpy'.
18571         * modules/unistr/u8-stpcpy-tests: New file.
18572         * tests/unistr/test-u8-stpcpy.c: New file.
18573         * tests/unistr/test-stpcpy.h: New file.
18574
18575         Tests for module 'unistr/u32-strcpy'.
18576         * modules/unistr/u32-strcpy-tests: New file.
18577         * tests/unistr/test-u32-strcpy.c: New file.
18578
18579         Tests for module 'unistr/u16-strcpy'.
18580         * modules/unistr/u16-strcpy-tests: New file.
18581         * tests/unistr/test-u16-strcpy.c: New file.
18582
18583         Tests for module 'unistr/u8-strcpy'.
18584         * modules/unistr/u8-strcpy-tests: New file.
18585         * tests/unistr/test-u8-strcpy.c: New file.
18586         * tests/unistr/test-strcpy.h: New file.
18587
18588         Tests for module 'unistr/u32-strnlen'.
18589         * modules/unistr/u32-strnlen-tests: New file.
18590         * tests/unistr/test-u32-strnlen.c: New file.
18591
18592         Tests for module 'unistr/u16-strnlen'.
18593         * modules/unistr/u16-strnlen-tests: New file.
18594         * tests/unistr/test-u16-strnlen.c: New file.
18595
18596         Tests for module 'unistr/u8-strnlen'.
18597         * modules/unistr/u8-strnlen-tests: New file.
18598         * tests/unistr/test-u8-strnlen.c: New file.
18599         * tests/unistr/test-strnlen.h: New file.
18600
18601         Tests for module 'unistr/u32-strlen'.
18602         * modules/unistr/u32-strlen-tests: New file.
18603         * tests/unistr/test-u32-strlen.c: New file.
18604
18605         Tests for module 'unistr/u16-strlen'.
18606         * modules/unistr/u16-strlen-tests: New file.
18607         * tests/unistr/test-u16-strlen.c: New file.
18608
18609         Tests for module 'unistr/u8-strlen'.
18610         * modules/unistr/u8-strlen-tests: New file.
18611         * tests/unistr/test-u8-strlen.c: New file.
18612
18613         Tests for module 'unistr/u32-prev'.
18614         * modules/unistr/u32-prev-tests: New file.
18615         * tests/unistr/test-u32-prev.c: New file.
18616
18617         Tests for module 'unistr/u16-prev'.
18618         * modules/unistr/u16-prev-tests: New file.
18619         * tests/unistr/test-u16-prev.c: New file.
18620
18621         Tests for module 'unistr/u8-prev'.
18622         * modules/unistr/u8-prev-tests: New file.
18623         * tests/unistr/test-u8-prev.c: New file.
18624
18625         Tests for module 'unistr/u32-next'.
18626         * modules/unistr/u32-next-tests: New file.
18627         * tests/unistr/test-u32-next.c: New file.
18628
18629         Tests for module 'unistr/u16-next'.
18630         * modules/unistr/u16-next-tests: New file.
18631         * tests/unistr/test-u16-next.c: New file.
18632
18633         Tests for module 'unistr/u8-next'.
18634         * modules/unistr/u8-next-tests: New file.
18635         * tests/unistr/test-u8-next.c: New file.
18636
18637         Tests for module 'unistr/u32-strmbtouc'.
18638         * modules/unistr/u32-strmbtouc-tests: New file.
18639         * tests/unistr/test-u32-strmbtouc.c: New file.
18640
18641         Tests for module 'unistr/u16-strmbtouc'.
18642         * modules/unistr/u16-strmbtouc-tests: New file.
18643         * tests/unistr/test-u16-strmbtouc.c: New file.
18644
18645         Tests for module 'unistr/u8-strmbtouc'.
18646         * modules/unistr/u8-strmbtouc-tests: New file.
18647         * tests/unistr/test-u8-strmbtouc.c: New file.
18648
18649         Tests for module 'unistr/u32-strmblen'.
18650         * modules/unistr/u32-strmblen-tests: New file.
18651         * tests/unistr/test-u32-strmblen.c: New file.
18652
18653         Tests for module 'unistr/u16-strmblen'.
18654         * modules/unistr/u16-strmblen-tests: New file.
18655         * tests/unistr/test-u16-strmblen.c: New file.
18656
18657         Tests for module 'unistr/u8-strmblen'.
18658         * modules/unistr/u8-strmblen-tests: New file.
18659         * tests/unistr/test-u8-strmblen.c: New file.
18660
18661         Tests for module 'unistr/u32-cpy-alloc'.
18662         * modules/unistr/u32-cpy-alloc-tests: New file.
18663         * tests/unistr/test-u32-cpy-alloc.c: New file.
18664
18665         Tests for module 'unistr/u16-cpy-alloc'.
18666         * modules/unistr/u16-cpy-alloc-tests: New file.
18667         * tests/unistr/test-u16-cpy-alloc.c: New file.
18668
18669         Tests for module 'unistr/u8-cpy-alloc'.
18670         * modules/unistr/u8-cpy-alloc-tests: New file.
18671         * tests/unistr/test-u8-cpy-alloc.c: New file.
18672         * tests/unistr/test-cpy-alloc.h: New file.
18673
18674         Tests for module 'unistr/u32-mbsnlen'.
18675         * modules/unistr/u32-mbsnlen-tests: New file.
18676         * tests/unistr/test-u32-mbsnlen.c: New file.
18677
18678         Tests for module 'unistr/u16-mbsnlen'.
18679         * modules/unistr/u16-mbsnlen-tests: New file.
18680         * tests/unistr/test-u16-mbsnlen.c: New file.
18681
18682         Tests for module 'unistr/u8-mbsnlen'.
18683         * modules/unistr/u8-mbsnlen-tests: New file.
18684         * tests/unistr/test-u8-mbsnlen.c: New file.
18685
18686         Tests for module 'unistr/u32-chr'.
18687         * modules/unistr/u32-chr-tests: New file.
18688         * tests/unistr/test-u32-chr.c: New file.
18689
18690         Tests for module 'unistr/u16-chr'.
18691         * modules/unistr/u16-chr-tests: New file.
18692         * tests/unistr/test-u16-chr.c: New file.
18693
18694         Tests for module 'unistr/u8-chr'.
18695         * modules/unistr/u8-chr-tests: New file.
18696         * tests/unistr/test-u8-chr.c: New file.
18697         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
18698
18699         Tests for module 'unistr/u32-cmp2'.
18700         * modules/unistr/u32-cmp2-tests: New file.
18701         * tests/unistr/test-u32-cmp2.c: New file.
18702
18703         Tests for module 'unistr/u16-cmp2'.
18704         * modules/unistr/u16-cmp2-tests: New file.
18705         * tests/unistr/test-u16-cmp2.c: New file.
18706
18707         Tests for module 'unistr/u8-cmp2'.
18708         * modules/unistr/u8-cmp2-tests: New file.
18709         * tests/unistr/test-u8-cmp2.c: New file.
18710         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
18711
18712         Tests for module 'unistr/u32-cmp'.
18713         * modules/unistr/u32-cmp-tests: New file.
18714         * tests/unistr/test-u32-cmp.c: New file.
18715
18716         Tests for module 'unistr/u16-cmp'.
18717         * modules/unistr/u16-cmp-tests: New file.
18718         * tests/unistr/test-u16-cmp.c: New file.
18719
18720         Tests for module 'unistr/u8-cmp'.
18721         * modules/unistr/u8-cmp-tests: New file.
18722         * tests/unistr/test-u8-cmp.c: New file.
18723         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
18724
18725         Tests for module 'unistr/u32-set'.
18726         * modules/unistr/u32-set-tests: New file.
18727         * tests/unistr/test-u32-set.c: New file.
18728
18729         Tests for module 'unistr/u16-set'.
18730         * modules/unistr/u16-set-tests: New file.
18731         * tests/unistr/test-u16-set.c: New file.
18732
18733         Tests for module 'unistr/u8-set'.
18734         * modules/unistr/u8-set-tests: New file.
18735         * tests/unistr/test-u8-set.c: New file.
18736         * tests/unistr/test-set.h: New file.
18737
18738         Tests for module 'unistr/u32-move'.
18739         * modules/unistr/u32-move-tests: New file.
18740         * tests/unistr/test-u32-move.c: New file.
18741
18742         Tests for module 'unistr/u16-move'.
18743         * modules/unistr/u16-move-tests: New file.
18744         * tests/unistr/test-u16-move.c: New file.
18745
18746         Tests for module 'unistr/u8-move'.
18747         * modules/unistr/u8-move-tests: New file.
18748         * tests/unistr/test-u8-move.c: New file.
18749         * tests/unistr/test-move.h: New file.
18750
18751         Tests for module 'unistr/u32-cpy'.
18752         * modules/unistr/u32-cpy-tests: New file.
18753         * tests/unistr/test-u32-cpy.c: New file.
18754
18755         Tests for module 'unistr/u16-cpy'.
18756         * modules/unistr/u16-cpy-tests: New file.
18757         * tests/unistr/test-u16-cpy.c: New file.
18758
18759         Tests for module 'unistr/u8-cpy'.
18760         * modules/unistr/u8-cpy-tests: New file.
18761         * tests/unistr/test-u8-cpy.c: New file.
18762         * tests/unistr/test-cpy.h: New file.
18763
18764 2010-01-09  Bruno Haible  <bruno@clisp.org>
18765
18766         Tests for module 'unistr/u32-uctomb'.
18767         * modules/unistr/u32-uctomb-tests: New file.
18768         * tests/unistr/test-u32-uctomb.c: New file.
18769
18770         Tests for module 'unistr/u16-uctomb'.
18771         * modules/unistr/u16-uctomb-tests: New file.
18772         * tests/unistr/test-u16-uctomb.c: New file.
18773
18774         Tests for module 'unistr/u8-uctomb'.
18775         * modules/unistr/u8-uctomb-tests: New file.
18776         * tests/unistr/test-u8-uctomb.c: New file.
18777
18778         Tests for module 'unistr/u32-mbtoucr'.
18779         * modules/unistr/u32-mbtoucr-tests: New file.
18780         * tests/unistr/test-u32-mbtoucr.c: New file.
18781
18782         Tests for module 'unistr/u16-mbtoucr'.
18783         * modules/unistr/u16-mbtoucr-tests: New file.
18784         * tests/unistr/test-u16-mbtoucr.c: New file.
18785
18786         Tests for module 'unistr/u8-mbtoucr'.
18787         * modules/unistr/u8-mbtoucr-tests: New file.
18788         * tests/unistr/test-u8-mbtoucr.c: New file.
18789
18790         Tests for module 'unistr/u32-mbtouc'.
18791         * modules/unistr/u32-mbtouc-tests: New file.
18792         * tests/unistr/test-u32-mbtouc.c: New file.
18793
18794         Tests for module 'unistr/u16-mbtouc'.
18795         * modules/unistr/u16-mbtouc-tests: New file.
18796         * tests/unistr/test-u16-mbtouc.c: New file.
18797
18798         Tests for module 'unistr/u8-mbtouc'.
18799         * modules/unistr/u8-mbtouc-tests: New file.
18800         * tests/unistr/test-u8-mbtouc.c: New file.
18801
18802         Tests for module 'unistr/u32-mbtouc-unsafe'.
18803         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
18804         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
18805         * tests/unistr/test-u32-mbtouc.h: New file.
18806
18807         Tests for module 'unistr/u16-mbtouc-unsafe'.
18808         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
18809         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
18810         * tests/unistr/test-u16-mbtouc.h: New file.
18811
18812         Tests for module 'unistr/u8-mbtouc-unsafe'.
18813         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
18814         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
18815         * tests/unistr/test-u8-mbtouc.h: New file.
18816
18817         Tests for module 'unistr/u32-mblen'.
18818         * modules/unistr/u32-mblen-tests: New file.
18819         * tests/unistr/test-u32-mblen.c: New file.
18820
18821         Tests for module 'unistr/u16-mblen'.
18822         * modules/unistr/u16-mblen-tests: New file.
18823         * tests/unistr/test-u16-mblen.c: New file.
18824
18825         Tests for module 'unistr/u8-mblen'.
18826         * modules/unistr/u8-mblen-tests: New file.
18827         * tests/unistr/test-u8-mblen.c: New file.
18828
18829         Tests for module 'unistr/u32-to-u16'.
18830         * modules/unistr/u32-to-u16-tests: New file.
18831         * tests/unistr/test-u32-to-u16.c: New file.
18832
18833         Tests for module 'unistr/u32-to-u8'.
18834         * modules/unistr/u32-to-u8-tests: New file.
18835         * tests/unistr/test-u32-to-u8.c: New file.
18836
18837         Tests for module 'unistr/u16-to-u32'.
18838         * modules/unistr/u16-to-u32-tests: New file.
18839         * tests/unistr/test-u16-to-u32.c: New file.
18840
18841         Tests for module 'unistr/u16-to-u8'.
18842         * modules/unistr/u16-to-u8-tests: New file.
18843         * tests/unistr/test-u16-to-u8.c: New file.
18844
18845         Tests for module 'unistr/u8-to-u32'.
18846         * modules/unistr/u8-to-u32-tests: New file.
18847         * tests/unistr/test-u8-to-u32.c: New file.
18848
18849         Tests for module 'unistr/u8-to-u16'.
18850         * modules/unistr/u8-to-u16-tests: New file.
18851         * tests/unistr/test-u8-to-u16.c: New file.
18852
18853         Tests for module 'unistr/u32-check'.
18854         * modules/unistr/u32-check-tests: New file.
18855         * tests/unistr/test-u32-check.c: New file.
18856
18857         Tests for module 'unistr/u16-check'.
18858         * modules/unistr/u16-check-tests: New file.
18859         * tests/unistr/test-u16-check.c: New file.
18860
18861         Tests for module 'unistr/u8-check'.
18862         * modules/unistr/u8-check-tests: New file.
18863         * tests/unistr/test-u8-check.c: New file.
18864
18865         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
18866         (category_equals): New function.
18867         (main): Add more tests.
18868         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
18869
18870         * tests/unictype/test-bidi_byname.c (main): Add more tests.
18871
18872 2010-01-10  Bruno Haible  <bruno@clisp.org>
18873
18874         unistr/u*-strcoll: Try harder to distinguish different strings.
18875         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
18876         compare s1 and s2 to see if they are different.
18877
18878 2010-01-10  Bruno Haible  <bruno@clisp.org>
18879
18880         unistr/u*-stpncpy: Fix the return value.
18881         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
18882         description of the return value consistent with stpncpy in glibc.
18883         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
18884         written non-NUL unit.
18885
18886 2010-01-10  Bruno Haible  <bruno@clisp.org>
18887
18888         unistr/u*-next: Add missing dependencies.
18889         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
18890         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
18891         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
18892
18893 2010-01-10  Bruno Haible  <bruno@clisp.org>
18894
18895         unistr/u8-mbsnlen: Fix return value for incomplete character.
18896         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
18897         u8_mblen.
18898         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
18899         Remove unistr/u8-mblen.
18900         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
18901         u16_mblen.
18902         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
18903         Remove unistr/u16-mblen.
18904
18905 2010-01-10  Bruno Haible  <bruno@clisp.org>
18906
18907         wchar: Fix compilation error when <wchar.h> is used from coreutils.
18908         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
18909         Reported by Brian Gough <bjg@gnu.org> and
18910         Chris Clayton <chris2553@googlemail.com> via
18911         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
18912
18913 2010-01-09  Bruno Haible  <bruno@clisp.org>
18914
18915         unistr/u16-to-u32: Reject invalid input.
18916         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
18917         u16_mbtouc.
18918         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
18919         Remove unistr/u16-mbtouc.
18920
18921         unistr/u16-to-u8: Reject invalid input.
18922         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
18923         u16_mbtouc.
18924         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
18925         Remove unistr/u16-mbtouc.
18926
18927         unistr/u8-to-u32: Reject invalid input.
18928         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
18929         u8_mbtouc.
18930         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
18931         Remove unistr/u8-mbtouc.
18932
18933         unistr/u8-to-u16: Reject invalid input.
18934         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
18935         u8_mbtouc.
18936         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
18937         Remove unistr/u8-mbtouc.
18938
18939 2010-01-09  Bruno Haible  <bruno@clisp.org>
18940
18941         Tests for module 'getlogin'.
18942         * modules/getlogin-tests: New file.
18943         * tests/test-getlogin.c: New file.
18944
18945         New module 'getlogin'.
18946         * lib/unistd.in.h (getlogin): New declaration.
18947         * lib/getlogin.c: New file.
18948         * m4/getlogin.m4: New file.
18949         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
18950         HAVE_GETLOGIN.
18951         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
18952         HAVE_GETLOGIN.
18953         * modules/getlogin: New file.
18954         * doc/posix-functions/getlogin.texi: Mention the new module.
18955         Reported by John W. Eaton <jwe@gnu.org>.
18956
18957 2010-01-09  Bruno Haible  <bruno@clisp.org>
18958
18959         getlogin_r: Support for native Windows.
18960         * lib/getlogin_r.c: Include <windows.h>
18961         (getlogin_r): Implement for native Windows.
18962         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
18963         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
18964         via John W. Eaton <jwe@gnu.org>.
18965
18966 2010-01-09  Bruno Haible  <bruno@clisp.org>
18967
18968         getlogin_r: Small fixes.
18969         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
18970         succeeds.
18971         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
18972         before testing whether getlogin_r is declared. No need to set
18973         HAVE_DECL_GETLOGIN_R to 1.
18974         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
18975
18976 2010-01-09  Bruno Haible  <bruno@clisp.org>
18977
18978         * lib/unistd.in.h (getlogin_r): Add comment.
18979
18980 2010-01-09  Bruno Haible  <bruno@clisp.org>
18981
18982         Tests for module 'getlogin_r'.
18983         * modules/getlogin_r-tests: New file.
18984         * tests/test-getlogin_r.c: New file.
18985
18986 2010-01-09  Jim Meyering  <meyering@redhat.com>
18987
18988         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
18989         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
18990         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
18991
18992 2010-01-08  Simon Josefsson  <simon@josefsson.org>
18993
18994         * lib/dup2.c (rpl_dup2): Improve comment.
18995
18996 2010-01-08  Eric Blake  <ebb9@byu.net>
18997
18998         maint.mk: allow packages to add makefile @@ exceptions
18999         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
19000         (sc_makefile_check): Rename...
19001         (sc_makefile_at_at_check): ...to this, and use hook.
19002
19003         dup2: work around mingw bug
19004         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
19005         Reported by Simon Josefsson.
19006
19007 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
19008
19009         glob: Fix C++ compilation.
19010         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
19011         C++.
19012
19013 2010-01-07  Bruno Haible  <bruno@clisp.org>
19014
19015         Fix indentation of wctype.in.h, broken since 2007-01-06.
19016         * lib/wctype.in.h: Fix indentation of preprocessor directives.
19017
19018 2010-01-07  Bruno Haible  <bruno@clisp.org>
19019
19020         mbslen: Avoid collision with system function.
19021         * lib/string.in.h [MirBSD]: Include <wchar.h>.
19022         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
19023         * m4/mbslen.m4: New file.
19024         * modules/mbslen (Files): Add it.
19025         (configure.ac): Invoke gl_MBSLEN.
19026         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
19027         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
19028         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
19029         via Ian Beckwith <ianb@erislabs.net>.
19030
19031 2010-01-07  Bruno Haible  <bruno@clisp.org>
19032
19033         dirent: Document the last fix.
19034         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
19035
19036 2010-01-07  Bruno Haible  <bruno@clisp.org>
19037
19038         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
19039         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
19040         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
19041         va_list are defined.
19042         * doc/posix-headers/stdio.texi: Document the bug of missing types.
19043         Reported by Eric Blake.
19044
19045 2010-01-07  Bruno Haible  <bruno@clisp.org>
19046
19047         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
19048         * modules/xlist (Depends-on): Add 'list',
19049         * modules/xoset (Depends-on): Add 'oset'.
19050         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19051
19052 2010-01-07  Bruno Haible  <bruno@clisp.org>
19053
19054         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
19055         * doc/posix-functions/strncasecmp.texi: Likewise.
19056
19057 2010-01-07  Bruno Haible  <bruno@clisp.org>
19058
19059         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
19060
19061 2010-01-07  John W. Eaton  <jwe@octave.org>
19062
19063         wctype: allow C++ use
19064         * lib/wctype.in.h: Add extern "C" block for C++.
19065
19066 2010-01-06  Eric Blake  <ebb9@byu.net>
19067
19068         maint.mk: detect incorrect GFDL usage
19069         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
19070
19071 2010-01-06  Jim Meyering  <meyering@redhat.com>
19072         and Eric Blake  <ebb9@byu.net>
19073
19074         maint.mk: ignore multi-line copyright in NEWS
19075         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
19076
19077 2010-01-06  Eric Blake  <ebb9@byu.net>
19078
19079         select: add missing dependency
19080         * modules/select-tests (Depends-on): Move sockets dependency...
19081         * modules/select (Depends-on): ...here.
19082         Reported by Ian Beckwith.
19083
19084         doc: regenerate INSTALL
19085         * doc/INSTALL: Reflect recent autoconf update.
19086         * doc/INSTALL.ISO: Likewise.
19087         * doc/INSTALL.UTF-8: Likewise.
19088
19089         pread: fix compilation on glibc
19090         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
19091         Reported by Ralf Wildenhues.
19092
19093         dirent: fix test failure
19094         * lib/dirent.in.h (includes): Guarantee ino_t.
19095         Reported by Ralf Wildenhues.
19096
19097 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
19098
19099         linkat, renameat: avoid bad free
19100         * lib/at-func2.c (at_func2): Fix typo.
19101         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
19102
19103 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19104
19105         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
19106         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
19107         to avoid failure of symlink test later.
19108
19109 2010-01-06  Eric Blake  <ebb9@byu.net>
19110
19111         stdio, unistd: guarantee ssize_t
19112         * lib/unistd.in.h (includes): Ensure that types required by POSIX
19113         2008 are exposed when needed.
19114         * lib/stdio.in.h (includes): Likewise.
19115         Reported by Ralf Wildenhues.
19116
19117 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
19118
19119         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
19120         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
19121         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
19122
19123 2010-01-06  Jim Meyering  <meyering@redhat.com>
19124
19125         readtokens: this module *does* require xalloc.h
19126         It uses only functions that were omitted by the old syntax-check rule.
19127         * lib/readtokens.c: Include "xalloc.h" once again.
19128         * modules/readtokens (Depends-on): Add xalloc.
19129         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
19130
19131 2010-01-05  Eric Blake  <ebb9@byu.net>
19132
19133         maint: support 'make announcement' from a VPATH build
19134         * top/maint.mk (announcement): Look for correct NEWS file.
19135
19136 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
19137
19138         utimens (fdutimens): ignore a negative FD, per contract
19139         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
19140         when we have a valid file descriptor.  Otherwise, using a brand
19141         new glibc (with just-patched futimens that now fails with EBADF)
19142         would cause this function to fail with ENOSYS.
19143         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
19144         See also http://bugzilla.redhat.com/552320.
19145
19146 2010-01-05  Eric Blake  <ebb9@byu.net>
19147
19148         strcase: document what it provides
19149         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
19150         gnulib module.
19151         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
19152         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
19153
19154 2010-01-05  Jim Meyering  <meyering@redhat.com>
19155
19156         maint: remove useless inclusions of "xalloc.h"
19157         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
19158         * lib/readtokens.c: Likewise.
19159         * lib/same.c: Likewise.
19160         * modules/getloadavg (Depends-on): Remove xalloc.
19161         * modules/readtokens: Likewise.
19162         * modules/same: Likewise.
19163
19164         maint.mk: include 4 more function names in alloca.h-checking regexp
19165         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
19166         regexp.  Before, we would give a false-positive (saying alloca.h
19167         is included unnecessarily) when the only uses involved omitted symbols.
19168
19169         xalloc.h: use consistent formatting
19170         * lib/xalloc.h: Move declarations to start in the first column.
19171
19172 2010-01-05  Eric Blake  <ebb9@byu.net>
19173
19174         mkdir: avoid xalloc
19175         * lib/mkdir.c (includes): Drop unused header.
19176         Reported by John W. Eaton.
19177
19178 2010-01-04  Jim Meyering  <meyering@redhat.com>
19179
19180         nl_langinfo: avoid configure-time syntax error
19181         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
19182         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
19183         the empty string.  Don't let that provoke a shell syntax error.
19184
19185         regcomp, regexec, fnmatch: avoid array bounds read error
19186         * lib/regcomp.c (build_equiv_class): From glibc:
19187         Use only the low 24 bits of a findidx return value as an index
19188         into the weights array.  Patch by Ulrich Drepper:
19189         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
19190         * lib/regexec.c (check_node_accept_bytes): Likewise.
19191         * lib/fnmatch_loop.c (FCT): Likewise.
19192
19193         regcomp: skip collseq lookup when there are no rules
19194         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
19195         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
19196
19197         regcomp: recognize ill-formed { } expressions
19198         * lib/regcomp.c (parse_dup_op): From glibc:
19199         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
19200
19201         regcomp: fix typo in comment
19202         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
19203         s/satisfy/satisfies/.
19204
19205         regcomp: sync from glibc: remove dead store
19206         * lib/regcomp.c (duplicate_node_closure): Remove useless
19207         search_duplicated_node call and dead store.
19208
19209         regcomp: sync from glibc; always use nl_langinfo
19210         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
19211         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
19212         * modules/regex (Depends-on): Add nl_langinfo.
19213
19214 2010-01-04  Eric Blake  <ebb9@byu.net>
19215
19216         fdopendir: fix configure test
19217         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
19218
19219 2010-01-01  Bruno Haible  <bruno@clisp.org>
19220
19221         wchar: Remove unused configure check.
19222         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
19223
19224 2010-01-01  Eric Blake  <ebb9@byu.net>
19225
19226         headers: make check of system header explicit
19227         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
19228         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
19229         ourselves.
19230         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
19231         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19232         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
19233         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
19234         internals.
19235         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
19236         missing.
19237         Suggested by Bruno Haible.
19238
19239 2010-01-01  Jim Meyering  <meyering@redhat.com>
19240
19241         ChangeLog: tweak to eliminate unnecessary copyright line
19242         * ChangeLog: Remove a copyright line that was mistakenly updated
19243         by today's update-copyright run.  Reported by Eric Blake.
19244
19245         test-update-copyright: don't let envvar setting cause test failure
19246         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
19247
19248 2010-01-01  Bruno Haible  <bruno@clisp.org>
19249
19250         localename: Avoid gcc warning.
19251         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
19252         function if it is not used.
19253
19254 2010-01-01  Jim Meyering  <meyering@redhat.com>
19255
19256         update nearly all FSF copyright year lists to include 2010
19257         Use the same procedure as for 2009, outlined in
19258         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
19259
19260         version-etc: set COPYRIGHT_YEAR to 2010
19261         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
19262
19263 2009-12-31  Eric Blake  <ebb9@byu.net>
19264
19265         doc: correct availability of cygwin 1.5.x getopt
19266         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
19267         variables.
19268         * doc/posix-functions/opterr.texi (opterr): Likewise.
19269         * doc/posix-functions/optind.texi (optind): Likewise.
19270         * doc/posix-functions/optopt.texi (optopt): Likewise.
19271         * doc/posix-functions/tzname.texi (tzname): Likewise.
19272
19273         openat: update maintainer
19274         * modules/openat (Maintainer): Add myself.
19275
19276         utimens: avoid shadowing warning
19277         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
19278         buffers into one, to avoid shadowing, as well as avoiding a
19279         redundant stat.
19280         Reported by Jim Meyering.
19281
19282         test-dup2: avoid compiler warning
19283         * tests/test-dup2.c (is_inheritable): Only define if used.
19284
19285 2010-01-01  Bruno Haible  <bruno@clisp.org>
19286
19287         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
19288         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
19289         defined, use wctomb instead of wcrtomb.
19290
19291 2010-01-01  Bruno Haible  <bruno@clisp.org>
19292
19293         iconv: Reject native Solaris iconv.
19294         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
19295         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
19296
19297 2009-12-31  Bruno Haible  <bruno@clisp.org>
19298
19299         * tests/test-signal.c (main): Remove test of 'SIG'.
19300
19301 2009-12-31  Bruno Haible  <bruno@clisp.org>
19302
19303         spawn: Fix incomplete fix.
19304         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
19305         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
19306         warnings for GNULIB_POSIXCHECK again.
19307         Reported by Eric Blake.
19308
19309 2009-12-31  Bruno Haible  <bruno@clisp.org>
19310
19311         Avoid namespace pollution on glibc systems.
19312         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
19313         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
19314         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
19315         glibc systems.
19316
19317 2009-12-31  Bruno Haible  <bruno@clisp.org>
19318
19319         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
19320         (gl_REPLACE_WCHAR_H): Turn into a no-op.
19321         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
19322         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
19323         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
19324         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
19325         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
19326
19327 2009-12-31  Bruno Haible  <bruno@clisp.org>
19328
19329         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
19330         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
19331         afterwards.
19332
19333 2009-12-31  Bruno Haible  <bruno@clisp.org>
19334
19335         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
19336         SYS_UTSNAME_H.
19337
19338 2009-12-31  Bruno Haible  <bruno@clisp.org>
19339
19340         spawn: Fix misapplied patch.
19341         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
19342         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
19343         warnings for GNULIB_POSIXCHECK.
19344
19345 2009-12-31  Bruno Haible  <bruno@clisp.org>
19346
19347         times: Update after sys_times changed.
19348         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
19349         * modules/times (Files): Add it.
19350         (configure.ac): Invoke gl_FUNC_TIMES.
19351
19352 2009-12-31  Bruno Haible  <bruno@clisp.org>
19353
19354         Use AC_C_INLINE where necessary.
19355         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
19356         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
19357         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
19358         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
19359         * m4/mbfile.m4 (gl_MBFILE): Likewise.
19360         * m4/mbiter.m4 (gl_MBITER): Likewise.
19361         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
19362         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
19363         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
19364         * modules/u64 (configure.ac): Likewise.
19365
19366 2009-12-31  Bruno Haible  <bruno@clisp.org>
19367
19368         Use AC_C_INLINE instead of module 'inline' where possible.
19369         * modules/inline (Description): Clarify purpose.
19370         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
19371         * modules/count-one-bits (Depends-on): Remove inline.
19372         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
19373         * modules/openat (Depends-on): Remove inline.
19374         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
19375         instead of depending on module 'inline'.
19376         * modules/filevercmp (Depends-on, configure.ac): Likewise.
19377         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
19378         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
19379         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
19380         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
19381         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
19382         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
19383         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
19384         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
19385         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
19386         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
19387         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
19388         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
19389         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
19390         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
19391         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
19392         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
19393         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
19394         Likewise.
19395         * modules/unictype/property-ascii-hex-digit (Depends-on,
19396         configure.ac): Likewise.
19397         * modules/unictype/property-bidi-arabic-digit (Depends-on,
19398         configure.ac): Likewise.
19399         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
19400         configure.ac): Likewise.
19401         * modules/unictype/property-bidi-block-separator (Depends-on,
19402         configure.ac): Likewise.
19403         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
19404         configure.ac): Likewise.
19405         * modules/unictype/property-bidi-common-separator (Depends-on,
19406         configure.ac): Likewise.
19407         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
19408         Likewise.
19409         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
19410         configure.ac): Likewise.
19411         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
19412         configure.ac): Likewise.
19413         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
19414         configure.ac): Likewise.
19415         * modules/unictype/property-bidi-european-digit (Depends-on,
19416         configure.ac): Likewise.
19417         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
19418         configure.ac): Likewise.
19419         * modules/unictype/property-bidi-left-to-right (Depends-on,
19420         configure.ac): Likewise.
19421         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
19422         configure.ac): Likewise.
19423         * modules/unictype/property-bidi-other-neutral (Depends-on,
19424         configure.ac): Likewise.
19425         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
19426         Likewise.
19427         * modules/unictype/property-bidi-segment-separator (Depends-on,
19428         configure.ac): Likewise.
19429         * modules/unictype/property-bidi-whitespace (Depends-on,
19430         configure.ac): Likewise.
19431         * modules/unictype/property-combining (Depends-on, configure.ac):
19432         Likewise.
19433         * modules/unictype/property-composite (Depends-on, configure.ac):
19434         Likewise.
19435         * modules/unictype/property-currency-symbol (Depends-on,
19436         configure.ac): Likewise.
19437         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
19438         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
19439         Likewise.
19440         * modules/unictype/property-default-ignorable-code-point (Depends-on,
19441         configure.ac): Likewise.
19442         * modules/unictype/property-deprecated (Depends-on, configure.ac):
19443         Likewise.
19444         * modules/unictype/property-diacritic (Depends-on, configure.ac):
19445         Likewise.
19446         * modules/unictype/property-extender (Depends-on, configure.ac):
19447         Likewise.
19448         * modules/unictype/property-format-control (Depends-on, configure.ac):
19449         Likewise.
19450         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
19451         Likewise.
19452         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
19453         Likewise.
19454         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
19455         Likewise.
19456         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
19457         Likewise.
19458         * modules/unictype/property-hyphen (Depends-on, configure.ac):
19459         Likewise.
19460         * modules/unictype/property-id-continue (Depends-on, configure.ac):
19461         Likewise.
19462         * modules/unictype/property-id-start (Depends-on, configure.ac):
19463         Likewise.
19464         * modules/unictype/property-ideographic (Depends-on, configure.ac):
19465         Likewise.
19466         * modules/unictype/property-ids-binary-operator (Depends-on,
19467         configure.ac): Likewise.
19468         * modules/unictype/property-ids-trinary-operator (Depends-on,
19469         configure.ac): Likewise.
19470         * modules/unictype/property-ignorable-control (Depends-on,
19471         configure.ac): Likewise.
19472         * modules/unictype/property-iso-control (Depends-on, configure.ac):
19473         Likewise.
19474         * modules/unictype/property-join-control (Depends-on, configure.ac):
19475         Likewise.
19476         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
19477         Likewise.
19478         * modules/unictype/property-line-separator (Depends-on, configure.ac):
19479         Likewise.
19480         * modules/unictype/property-logical-order-exception (Depends-on,
19481         configure.ac): Likewise.
19482         * modules/unictype/property-lowercase (Depends-on, configure.ac):
19483         Likewise.
19484         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
19485         * modules/unictype/property-non-break (Depends-on, configure.ac):
19486         Likewise.
19487         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
19488         Likewise.
19489         * modules/unictype/property-numeric (Depends-on, configure.ac):
19490         Likewise.
19491         * modules/unictype/property-other-alphabetic (Depends-on,
19492         configure.ac): Likewise.
19493         * modules/unictype/property-other-default-ignorable-code-point
19494         (Depends-on, configure.ac): Likewise.
19495         * modules/unictype/property-other-grapheme-extend (Depends-on,
19496         configure.ac): Likewise.
19497         * modules/unictype/property-other-id-continue (Depends-on,
19498         configure.ac): Likewise.
19499         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
19500         Likewise.
19501         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
19502         Likewise.
19503         * modules/unictype/property-other-math (Depends-on, configure.ac):
19504         Likewise.
19505         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
19506         Likewise.
19507         * modules/unictype/property-paired-punctuation (Depends-on,
19508         configure.ac): Likewise.
19509         * modules/unictype/property-paragraph-separator (Depends-on,
19510         configure.ac): Likewise.
19511         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
19512         Likewise.
19513         * modules/unictype/property-pattern-white-space (Depends-on,
19514         configure.ac): Likewise.
19515         * modules/unictype/property-private-use (Depends-on, configure.ac):
19516         Likewise.
19517         * modules/unictype/property-punctuation (Depends-on, configure.ac):
19518         Likewise.
19519         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
19520         Likewise.
19521         * modules/unictype/property-radical (Depends-on, configure.ac):
19522         Likewise.
19523         * modules/unictype/property-sentence-terminal (Depends-on,
19524         configure.ac): Likewise.
19525         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
19526         Likewise.
19527         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
19528         * modules/unictype/property-terminal-punctuation (Depends-on,
19529         configure.ac): Likewise.
19530         * modules/unictype/property-titlecase (Depends-on, configure.ac):
19531         Likewise.
19532         * modules/unictype/property-unassigned-code-value (Depends-on,
19533         configure.ac): Likewise.
19534         * modules/unictype/property-unified-ideograph (Depends-on,
19535         configure.ac): Likewise.
19536         * modules/unictype/property-uppercase (Depends-on, configure.ac):
19537         Likewise.
19538         * modules/unictype/property-variation-selector (Depends-on,
19539         configure.ac): Likewise.
19540         * modules/unictype/property-white-space (Depends-on, configure.ac):
19541         Likewise.
19542         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
19543         Likewise.
19544         * modules/unictype/property-xid-start (Depends-on, configure.ac):
19545         Likewise.
19546         * modules/unictype/property-zero-width (Depends-on, configure.ac):
19547         Likewise.
19548         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
19549         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
19550         Likewise.
19551
19552 2009-12-31  Bruno Haible  <bruno@clisp.org>
19553
19554         Remove unnecessary AC_C_INLINE invocation.
19555         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
19556         since 2009-08-21.
19557
19558 2009-12-31  Jim Meyering  <meyering@redhat.com>
19559
19560         maint.mk: don't require explicit gpg_key_ID in cfg.mk
19561         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
19562         With this change, we can all remove the gpg_key_ID = ... definition
19563         from our respective cfg.mk files.
19564
19565         maint.mk: create announcement template in ~/, not in /tmp
19566         * top/maint.mk (emit_upload_commands): Adjust.
19567         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
19568         Remove temporary file, .ci-msg.
19569
19570 2009-12-31  Eric Blake  <ebb9@byu.net>
19571
19572         link-warning: always build headers with link warnings
19573         * modules/arpa_inet (Makefile.am): Always build replacement
19574         header.
19575         * modules/ctype (Makefile.am): Likewise.
19576         * modules/dirent (Makefile.am): Likewise.
19577         * modules/inttypes (Makefile.am): Likewise.
19578         * modules/langinfo (Makefile.am): Likewise.
19579         * modules/locale (Makefile.am): Likewise.
19580         * modules/spawn (Makefile.am): Likewise.
19581         * modules/sys_file (Makefile.am): Likewise.
19582         * modules/sys_ioctl (Makefile.am): Likewise.
19583         * modules/sys_select (Makefile.am): Likewise.
19584         * modules/sys_socket (Makefile.am): Likewise.
19585         * modules/sys_times (Makefile.am): Likewise.
19586         * modules/sys_utsname (Makefile.am): Likewise.
19587         * modules/sys_wait (Makefile.am): Likewise.
19588         * modules/wchar (Makefile.am): Likewise.
19589         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
19590         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
19591         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
19592         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
19593         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
19594         Likewise.
19595         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
19596         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
19597         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
19598         Likewise.
19599         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
19600         Likewise.
19601         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
19602         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
19603         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
19604         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19605         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
19606         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
19607         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
19608         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
19609         (gl_WCHAR_H_DEFAULTS): Likewise.
19610
19611 2009-12-31  Eric Blake  <ebb9@byu.net>
19612
19613         signal, spawn: use link warnings
19614         * lib/signal.in.h (sigset_t): Make unconditional.
19615         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
19616         (sigpending, sigprocmask, sigaction): Add link warnings.
19617         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
19618         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
19619         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
19620         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
19621         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
19622         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
19623         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
19624         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
19625         (posix_spawn_file_actions_destroy)
19626         (posix_spawn_file_actions_addopen)
19627         (posix_spawn_file_actions_addclose)
19628         (posix_spawn_file_actions_adddup2): Likewise.
19629         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
19630         * tests/test-signal.c (main): Enhance test.
19631
19632         spawn: improve wrapper support
19633         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
19634         (gl_SPAWN_H_DEFAULTS): New defaults.
19635         * modules/spawn (Makefile.am): Substitute them.
19636         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
19637         Only declare if missing or broken.
19638
19639         sys_times, sys_utsname: use include_next
19640         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
19641         header.
19642         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
19643         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
19644         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
19645         * modules/sys_times (Depends-on): Add include_next.
19646         (Makefile.am): Substitute additional values.
19647         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
19648         * lib/sys_times.in.h (includes): Include native header, if
19649         available.
19650         * lib/sys_utsname.in.h (includes): Likewise.
19651         * tests/test-sys_times.c (main): Enhance test.
19652
19653         fdutimensat: revert prior patch
19654         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
19655         utimens.h.
19656         Reported by Bruno Haible.
19657
19658 2009-12-30  Eric Blake  <ebb9@byu.net>
19659
19660         sys_wait: drop link-warning dependency
19661         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
19662         link-warning efforts.
19663         * lib/sys_wait.in.h: Likewise.
19664
19665         fdutimensat: remove bogus dependency
19666         * modules/fdutimensat (Depends-on): Drop inline.
19667
19668         unistd: fix typo
19669         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
19670
19671 2009-12-30  Bruno Haible  <bruno@clisp.org>
19672
19673         Fix compilation error with Solaris cc.
19674         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
19675         * lib/unicase/u16-is-invariant.c: Likewise.
19676         * lib/unicase/u32-is-invariant.c: Likewise.
19677         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
19678
19679 2009-12-30  Bruno Haible  <bruno@clisp.org>
19680
19681         Fix test crash.
19682         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
19683         locales.
19684         Reported by Simon Josefsson <simon@josefsson.org>.
19685
19686 2009-12-30  Bruno Haible  <bruno@clisp.org>
19687
19688         Fix compilation error on most platforms.
19689         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
19690         Reported by Simon Josefsson <simon@josefsson.org>
19691         and Nelson H. F. Beebe <beebe@math.utah.edu>.
19692
19693 2009-12-30  Eric Blake  <ebb9@byu.net>
19694
19695         futimens, utimensat: work around ntfs-3g bug
19696         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
19697         a ctime bug is present, and expand workaround to cover ntfs-3g.
19698         * lib/utimens.c (fdutimens, lutimens): Likewise.
19699         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
19700         (validate_timespec): Adjust return value.
19701         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
19702         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
19703         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
19704
19705 2009-12-29  Eric Blake  <ebb9@byu.net>
19706
19707         link-warning: make usage consistent
19708         * modules/ctype (Depends-on): Add link-warning.
19709         (Makefile.am): Update rules accordingly.
19710         * modules/langinfo (Depends-on, Makefile.am): Likewise.
19711         * modules/locale (Depends-on, Makefile.am): Likewise.
19712         * modules/sys_file (Makefile.am): Likewise.
19713         * modules/getopt-posix (Makefile.am): Delete unused link warning
19714         efforts.
19715         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
19716         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
19717         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
19718         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
19719
19720         stdio: remove unused variables
19721         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
19722         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
19723         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
19724
19725         tests: test more substitute headers
19726         * modules/ctype-tests: New file.
19727         * modules/dirent-tests: Likewise.
19728         * modules/spawn-tests: Likewise.
19729         * modules/sys_file-tests: Likewise.
19730         * modules/sys_ioctl-tests: Likewise.
19731         * modules/sys_wait-tests: Likewise.
19732         * tests/test-ctype.c: Likewise.
19733         * tests/test-dirent.c: Likewise.
19734         * tests/test-spawn.c: Likewise.
19735         * tests/test-sys_file.c: Likewise.
19736         * tests/test-sys_ioctl.c: Likewise.
19737         * tests/test-sys_wait.c: Likewise.
19738         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
19739         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
19740         whether or not flock is in use.
19741
19742         tests: remove License section from module
19743         * modules/arpa_inet-tests: Remove unneeded section.
19744         * modules/byteswap-tests: Likewise.
19745         * modules/ceilf-tests: Likewise.
19746         * modules/ceill-tests: Likewise.
19747         * modules/crypto/des-tests: Likewise.
19748         * modules/crypto/gc-arcfour-tests: Likewise.
19749         * modules/crypto/gc-arctwo-tests: Likewise.
19750         * modules/crypto/gc-des-tests: Likewise.
19751         * modules/crypto/gc-hmac-md5-tests: Likewise.
19752         * modules/crypto/gc-hmac-sha1-tests: Likewise.
19753         * modules/crypto/gc-md2-tests: Likewise.
19754         * modules/crypto/gc-md4-tests: Likewise.
19755         * modules/crypto/gc-md5-tests: Likewise.
19756         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
19757         * modules/crypto/gc-rijndael-tests: Likewise.
19758         * modules/crypto/gc-sha1-tests: Likewise.
19759         * modules/crypto/gc-tests: Likewise.
19760         * modules/crypto/md2-tests: Likewise.
19761         * modules/crypto/md4-tests: Likewise.
19762         * modules/fcntl-h-tests: Likewise.
19763         * modules/floorf-tests: Likewise.
19764         * modules/floorl-tests: Likewise.
19765         * modules/frexp-nolibm-tests: Likewise.
19766         * modules/frexp-tests: Likewise.
19767         * modules/frexpl-nolibm-tests: Likewise.
19768         * modules/frexpl-tests: Likewise.
19769         * modules/getaddrinfo-tests: Likewise.
19770         * modules/inttypes-tests: Likewise.
19771         * modules/isfinite-tests: Likewise.
19772         * modules/isinf-tests: Likewise.
19773         * modules/ldexpl-tests: Likewise.
19774         * modules/locale-tests: Likewise.
19775         * modules/math-tests: Likewise.
19776         * modules/netdb-tests: Likewise.
19777         * modules/netinet_in-tests: Likewise.
19778         * modules/printf-frexp-tests: Likewise.
19779         * modules/printf-frexpl-tests: Likewise.
19780         * modules/priv-set-tests: Likewise.
19781         * modules/random_r-tests: Likewise.
19782         * modules/round-tests: Likewise.
19783         * modules/roundf-tests: Likewise.
19784         * modules/roundl-tests: Likewise.
19785         * modules/search-tests: Likewise.
19786         * modules/select-tests: Likewise.
19787         * modules/signal-tests: Likewise.
19788         * modules/stdbool-tests: Likewise.
19789         * modules/stddef-tests: Likewise.
19790         * modules/stdint-tests: Likewise.
19791         * modules/stdio-tests: Likewise.
19792         * modules/stdlib-tests: Likewise.
19793         * modules/string-tests: Likewise.
19794         * modules/strings-tests: Likewise.
19795         * modules/sys_select-tests: Likewise.
19796         * modules/sys_socket-tests: Likewise.
19797         * modules/sys_stat-tests: Likewise.
19798         * modules/sys_time-tests: Likewise.
19799         * modules/sys_utsname-tests: Likewise.
19800         * modules/sysexits-tests: Likewise.
19801         * modules/time-tests: Likewise.
19802         * modules/trunc-tests: Likewise.
19803         * modules/truncf-tests: Likewise.
19804         * modules/truncl-tests: Likewise.
19805         * modules/tsearch-tests: Likewise.
19806         * modules/unistd-tests: Likewise.
19807         * modules/wchar-tests: Likewise.
19808         * modules/wctype-tests: Likewise.
19809
19810         tests: fix license on several tests
19811         * tests/test-des.c: Update to GPLv3+.
19812         * tests/test-flock.c: Likewise.
19813         * tests/test-fsync.c: Likewise.
19814         * tests/test-futimens.h: Likewise.
19815         * tests/test-gc-arcfour.c: Likewise.
19816         * tests/test-gc-arctwo.c: Likewise.
19817         * tests/test-gc-des.c: Likewise.
19818         * tests/test-gc-hmac-md5.c: Likewise.
19819         * tests/test-gc-hmac-sha1.c: Likewise.
19820         * tests/test-gc-md2.c: Likewise.
19821         * tests/test-gc-md4.c: Likewise.
19822         * tests/test-gc-md5.c: Likewise.
19823         * tests/test-gc-pbkdf2-sha1.c: Likewise.
19824         * tests/test-gc-rijndael.c: Likewise.
19825         * tests/test-gc-sha1.c: Likewise.
19826         * tests/test-gc.c: Likewise.
19827         * tests/test-getcwd.c: Likewise.
19828         * tests/test-link.c: Likewise.
19829         * tests/test-link.h: Likewise.
19830         * tests/test-lutimens.h: Likewise.
19831         * tests/test-md2.c: Likewise.
19832         * tests/test-md4.c: Likewise.
19833         * tests/test-mkdir.h: Likewise.
19834         * tests/test-rename.c: Likewise.
19835         * tests/test-rename.h: Likewise.
19836         * tests/test-safe-alloc.c: Likewise.
19837         * tests/test-utimens-common.h: Likewise.
19838         * tests/test-utimens.h: Likewise.
19839
19840         maint: sync license texts
19841         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
19842         * doc/gpl-3.0.texi: Revert copyright year update.
19843         * doc/lgpl-3.0.texi: Likewise.
19844
19845 2009-12-29  Jim Meyering  <meyering@redhat.com>
19846
19847         update nearly all FSF copyright year lists to include 2009
19848         The files named by the following are exempted:
19849             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
19850               test -f "$dst" && { echo "$dst"; continue; }
19851               test -d "$dst" || continue
19852               echo "$dst"/$(basename "$src")
19853             done > exempt
19854             git ls-files tests/unictype >> exempt
19855         In the remaining files, convert to all-interval notation if
19856         - there is already at least one year interval like 2000-2003
19857         - the file is maintained by me
19858         - the file is in lib/uni*/, where that style already prevails
19859         Otherwise, use update-copyright's default.
19860
19861 2009-12-29  Simon Josefsson  <simon@josefsson.org>
19862         and Eric Blake  <ebb9@byu.net>
19863
19864         tests: don't require debug system() to pass
19865         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
19866         * tests/test-rmdir.h (test_rmdir_func): Likewise.
19867         * tests/test-unlink.h (test_unlink_func): Likewise.
19868         * tests/test-fstatat.c (main): ...into callers.
19869         * tests/test-lstat.c (main): Likewise.
19870         * tests/test-rmdir.c (main): Likewise.
19871         * tests/test-unlink.c (main): Likewise.
19872         * tests/test-unlinkat.c (main): Likewise.
19873         * tests/test-areadlink-with-size.c (main): Don't require a
19874         debug-only system call to pass, aiding cross-testing to mingw.
19875         * tests/test-areadlink.c (main): Likewise.
19876         * tests/test-areadlinkat-with-size.c (main): Likewise.
19877         * tests/test-areadlinkat.c (main): Likewise.
19878         * tests/test-canonicalize-lgpl.c (main): Likewise.
19879         * tests/test-canonicalize.c (main): Likewise.
19880         * tests/test-chown.c (main): Likewise.
19881         * tests/test-fchownat.c (main): Likewise.
19882         * tests/test-lchown.c (main): Likewise.
19883         * tests/test-fdutimensat.c (main): Likewise.
19884         * tests/test-futimens.c (main): Likewise.
19885         * tests/test-link.c (main): Likewise.
19886         * tests/test-linkat.c (main): Likewise.
19887         * tests/test-mkdir.c (main): Likewise.
19888         * tests/test-mkdirat.c (main): Likewise.
19889         * tests/test-mkfifo.c (main): Likewise.
19890         * tests/test-mkfifoat.c (main): Likewise.
19891         * tests/test-mknod.c (main): Likewise.
19892         * tests/test-readlink.c (main): Likewise.
19893         * tests/test-remove.c (main): Likewise.
19894         * tests/test-rename.c (main): Likewise.
19895         * tests/test-renameat.c (main): Likewise.
19896         * tests/test-symlink.c (main): Likewise.
19897         * tests/test-symlinkat.c (main): Likewise.
19898         * tests/test-utimens.c (main): Likewise.
19899         * tests/test-utimensat.c (main): Likewise.
19900
19901 2009-12-29  Simon Josefsson  <simon@josefsson.org>
19902
19903         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
19904         on $(UNUSED_PARAMETER_H) to avoid build failure.
19905
19906 2009-12-28  Jim Meyering  <meyering@redhat.com>
19907
19908         update-copyright: you may specify a max. line length other than 72
19909         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
19910
19911         maint: use consistent FSF copyright line syntax
19912         * lib/posixtm.c: Add missing comma in FSF copyright line.
19913         * lib/posixtm.h: Likewise.
19914         * lib/getugroups.c: Add missing ", Inc.".
19915
19916         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
19917         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
19918         FSF copyright line.  Remove trailing blanks.
19919
19920 2009-12-28  Eric Blake  <ebb9@byu.net>
19921
19922         test-dup2: reduce dependencies
19923         * modules/cloexec (Configure.ac): Set witness.
19924         * modules/dup2-tests (Depends-on): Drop cloexec.
19925         * tests/test-dup2.c (main): Skip portion of test if cloexec module
19926         not present.
19927         Suggested by Bruno Haible.
19928
19929 2009-12-26  Bruno Haible  <bruno@clisp.org>
19930
19931         Remove an unneeded dependency.
19932         * modules/fseterr (Depends-on): Remove dup2.
19933
19934 2009-12-26  Eric Blake  <ebb9@byu.net>
19935
19936         tests: use macros.h in more places
19937         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
19938         (ASSERT_STREAM): Provide default of stderr.
19939         * tests/test-dirent-safer.c: Include macros.h, using alternate
19940         stream for assertions.
19941         * tests/test-dup-safer.c: Likewise.
19942         * tests/test-freopen-safer.c: Likewise.
19943         * tests/test-getopt.c: Likewise.
19944         * tests/test-openat-safer.c: Likewise.
19945         * tests/test-pipe.c: Likewise.
19946         * tests/test-popen-safer.c: Likewise.
19947         * modules/dirent-safer-tests (Files): Include macros.h.
19948         * modules/unistd-safer-tests (Files): Likewise.
19949         * modules/freopen-safer-tests (Files): Likewise.
19950         * modules/getopt-posix-tests (Files): Likewise.
19951         * modules/openat-safer-tests (Files): Likewise.
19952         * modules/pipe-tests (Files): Likewise.
19953
19954 2009-12-26  Bruno Haible  <bruno@clisp.org>
19955
19956         javacomp: Portability fix.
19957         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
19958         that it also works on Solaris.
19959
19960 2009-12-26  Bruno Haible  <bruno@clisp.org>
19961
19962         localename: Fix storage allocation of gl_locale_name_thread's result.
19963         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
19964         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
19965         all platforms that have 'uselocale'.
19966         (gl_locale_name_thread_unsafe): New function, extracted from
19967         gl_locale_name_thread.
19968         (gl_locale_name_thread): Call struniq on all platforms that have
19969         'uselocale'.
19970         * tests/test-localename.c (test_locale_name_thread): Check that the
19971         resulting strings are permanently allocated.
19972         * modules/localename-tests (Depends-on): Add strdup.
19973
19974 2009-12-26  Bruno Haible  <bruno@clisp.org>
19975
19976         * tests/test-localename.c (categories): Fill in the strings.
19977
19978 2009-12-26  Jim Meyering  <meyering@redhat.com>
19979
19980         isdir: complete the removal of m4/isdir.m4
19981         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
19982
19983         isdir: clean up, since at least grep still uses it
19984         * lib/isdir.c: Include "isdir.h".
19985         (S_ISDIR): Remove now-unneeded definition.
19986         * modules/isdir (Files): Add lib/isdir.h.
19987         * lib/isdir.h: New file, with declaration.
19988         * m4/isdir.m4: Remove file -- unneeded.
19989
19990 2009-12-25  Bruno Haible  <bruno@clisp.org>
19991
19992         selinux-h: Make generated .h files standalone.
19993         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
19994         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
19995         * lib/se-selinux.in.h: Likewise.
19996         * modules/selinux-h (Depends-on): Add unused-parameter.
19997         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
19998         selinux/selinux.h and selinux/context.h.
19999         Suggested by Eric Blake.
20000
20001 2009-12-25  Bruno Haible  <bruno@clisp.org>
20002
20003         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
20004         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
20005         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
20006         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
20007         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
20008
20009 2009-12-24  Bruno Haible  <bruno@clisp.org>
20010
20011         openat: Fix warning.
20012         * lib/openat-proc.c: Include <unistd.h>.
20013
20014 2009-12-24  Bruno Haible  <bruno@clisp.org>
20015
20016         New module 'unused-parameter'.
20017         * build-aux/unused-parameter.h: New file, extracted from earlier
20018         gnulib-common.m4.
20019         * modules/unused-parameter: New file.
20020         * lib/unistr.h: Include unused-parameter.h.
20021         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
20022         _GL_UNUSED.
20023         * modules/unistr/base (Depends-on): Add unused-parameter.
20024
20025 2009-12-24  Bruno Haible  <bruno@clisp.org>
20026
20027         Add missing dependencies to 'extensions' module.
20028         * m4/extensions.m4: Add comment.
20029         * modules/accept4 (Depends-on): Add extensions.
20030         * modules/dup3 (Depends-on): Likewise.
20031         * modules/fcntl (Depends-on): Likewise.
20032         * modules/futimens (Depends-on): Likewise.
20033         * modules/mknod (Depends-on): Likewise.
20034         * modules/pipe2 (Depends-on): Likewise.
20035         * modules/stat-time (Depends-on): Likewise.
20036         * modules/strcasestr-simple (Depends-on): Likewise.
20037         * modules/strsignal (Depends-on): Likewise.
20038         * modules/utimensat (Depends-on): Likewise.
20039         * modules/localcharset (Depends-on): Likewise. Needed because of
20040         gl_FCNTL_O_FLAGS.
20041         * modules/wcrtomb (Depends-on): Likewise. Needed because of
20042         AC_TYPE_MBSTATE_T.
20043         * modules/wcsnrtombs (Depends-on): Likewise.
20044         * modules/wcsrtombs (Depends-on): Likewise.
20045
20046 2009-12-24  Bruno Haible  <bruno@clisp.org>
20047
20048         binary-io: Avoid gcc warning due to SET_BINARY.
20049         * lib/binary-io.h (SET_BINARY): Cast the result to void.
20050         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
20051
20052 2009-12-24  Bruno Haible  <bruno@clisp.org>
20053
20054         Avoid future namespace pollution on glibc systems.
20055         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
20056         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
20057         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
20058         glibc systems.
20059
20060 2009-12-24  Bruno Haible  <bruno@clisp.org>
20061
20062         Refactor common macros used in tests.
20063         * tests/macros.h: New file.
20064         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
20065         and/or <stdlib.h>, if appropriate.
20066         (ASSERT, SIZEOF): Remove macros.
20067         * tests/test-areadlink-with-size.c: Likewise.
20068         * tests/test-areadlinkat.c: Likewise.
20069         * tests/test-areadlinkat-with-size.c: Likewise.
20070         * tests/test-argmatch.c: Likewise.
20071         * tests/test-argv-iter.c: Likewise.
20072         * tests/test-array-mergesort.c: Likewise.
20073         * tests/test-array_list.c: Likewise.
20074         * tests/test-array_oset.c: Likewise.
20075         * tests/test-avltree_list.c: Likewise.
20076         * tests/test-avltree_oset.c: Likewise.
20077         * tests/test-avltreehash_list.c: Likewise.
20078         * tests/test-base64.c: Likewise.
20079         * tests/test-binary-io.c: Likewise.
20080         * tests/test-bitrotate.c: Likewise.
20081         * tests/test-btowc.c: Likewise.
20082         * tests/test-byteswap.c: Likewise.
20083         * tests/test-c-ctype.c: Likewise.
20084         * tests/test-c-stack.c: Likewise.
20085         * tests/test-c-strcasecmp.c: Likewise.
20086         * tests/test-c-strcasestr.c: Likewise.
20087         * tests/test-c-strncasecmp.c: Likewise.
20088         * tests/test-c-strstr.c: Likewise.
20089         * tests/test-canonicalize-lgpl.c: Likewise.
20090         * tests/test-canonicalize.c: Likewise.
20091         * tests/test-carray_list.c: Likewise.
20092         * tests/test-ceilf1.c: Likewise.
20093         * tests/test-ceilf2.c: Likewise.
20094         * tests/test-ceill.c: Likewise.
20095         * tests/test-chown.c: Likewise.
20096         * tests/test-cloexec.c: Likewise.
20097         * tests/test-copy-acl.c: Likewise.
20098         * tests/test-copy-file.c: Likewise.
20099         * tests/test-count-one-bits.c: Likewise.
20100         * tests/test-dprintf-posix.c: Likewise.
20101         * tests/test-dup2.c: Likewise.
20102         * tests/test-dup3.c: Likewise.
20103         * tests/test-duplocale.c: Likewise.
20104         * tests/test-fbufmode.c: Likewise.
20105         * tests/test-fchdir.c: Likewise.
20106         * tests/test-fchownat.c: Likewise.
20107         * tests/test-fcntl-safer.c: Likewise.
20108         * tests/test-fcntl.c: Likewise.
20109         * tests/test-fdopendir.c: Likewise.
20110         * tests/test-fdutimensat.c: Likewise.
20111         * tests/test-fflush2.c: Likewise.
20112         * tests/test-file-has-acl.c: Likewise.
20113         * tests/test-filevercmp.c: Likewise.
20114         * tests/test-flock.c: Likewise.
20115         * tests/test-floorf1.c: Likewise.
20116         * tests/test-floorf2.c: Likewise.
20117         * tests/test-floorl.c: Likewise.
20118         * tests/test-fnmatch.c: Likewise.
20119         * tests/test-fopen.h: Likewise.
20120         * tests/test-fpending.c: Likewise.
20121         * tests/test-fprintf-posix.c: Likewise.
20122         * tests/test-fpurge.c: Likewise.
20123         * tests/test-freadable.c: Likewise.
20124         * tests/test-freadahead.c: Likewise.
20125         * tests/test-freading.c: Likewise.
20126         * tests/test-freadptr.c: Likewise.
20127         * tests/test-freadptr2.c: Likewise.
20128         * tests/test-freadseek.c: Likewise.
20129         * tests/test-freopen.c: Likewise.
20130         * tests/test-frexp.c: Likewise.
20131         * tests/test-frexpl.c: Likewise.
20132         * tests/test-fseek.c: Likewise.
20133         * tests/test-fseeko.c: Likewise.
20134         * tests/test-fstatat.c: Likewise.
20135         * tests/test-fstrcmp.c: Likewise.
20136         * tests/test-fsync.c: Likewise.
20137         * tests/test-ftell.c: Likewise.
20138         * tests/test-ftello.c: Likewise.
20139         * tests/test-func.c: Likewise.
20140         * tests/test-futimens.c: Likewise.
20141         * tests/test-fwritable.c: Likewise.
20142         * tests/test-fwriting.c: Likewise.
20143         * tests/test-getcwd.c: Likewise.
20144         * tests/test-getdate.c: Likewise.
20145         * tests/test-getdelim.c: Likewise.
20146         * tests/test-getdtablesize.c: Likewise.
20147         * tests/test-getgroups.c: Likewise.
20148         * tests/test-getline.c: Likewise.
20149         * tests/test-getndelim2.c: Likewise.
20150         * tests/test-glob.c: Likewise.
20151         * tests/test-hash.c: Likewise.
20152         * tests/test-i-ring.c: Likewise.
20153         * tests/test-iconv-utf.c: Likewise.
20154         * tests/test-iconv.c: Likewise.
20155         * tests/test-idpriv-drop.c: Likewise.
20156         * tests/test-idpriv-droptemp.c: Likewise.
20157         * tests/test-inet_ntop.c: Likewise.
20158         * tests/test-inet_pton.c: Likewise.
20159         * tests/test-isblank.c: Likewise.
20160         * tests/test-isfinite.c: Likewise.
20161         * tests/test-isinf.c: Likewise.
20162         * tests/test-isnan.c: Likewise.
20163         * tests/test-isnand.h: Likewise.
20164         * tests/test-isnanf.h: Likewise.
20165         * tests/test-isnanl.h: Likewise.
20166         * tests/test-lchown.c: Likewise.
20167         * tests/test-ldexpl.c: Likewise.
20168         * tests/test-link.c: Likewise.
20169         * tests/test-linkat.c: Likewise.
20170         * tests/test-linked_list.c: Likewise.
20171         * tests/test-linkedhash_list.c: Likewise.
20172         * tests/test-localename.c: Likewise.
20173         * tests/test-lseek.c: Likewise.
20174         * tests/test-lstat.c: Likewise.
20175         * tests/test-mbmemcasecmp.c: Likewise.
20176         * tests/test-mbmemcasecoll.c: Likewise.
20177         * tests/test-mbrtowc.c: Likewise.
20178         * tests/test-mbscasecmp.c: Likewise.
20179         * tests/test-mbscasestr1.c: Likewise.
20180         * tests/test-mbscasestr2.c: Likewise.
20181         * tests/test-mbscasestr3.c: Likewise.
20182         * tests/test-mbscasestr4.c: Likewise.
20183         * tests/test-mbschr.c: Likewise.
20184         * tests/test-mbscspn.c: Likewise.
20185         * tests/test-mbsinit.c: Likewise.
20186         * tests/test-mbsncasecmp.c: Likewise.
20187         * tests/test-mbsnrtowcs.c: Likewise.
20188         * tests/test-mbspbrk.c: Likewise.
20189         * tests/test-mbspcasecmp.c: Likewise.
20190         * tests/test-mbsrchr.c: Likewise.
20191         * tests/test-mbsrtowcs.c: Likewise.
20192         * tests/test-mbsspn.c: Likewise.
20193         * tests/test-mbsstr1.c: Likewise.
20194         * tests/test-mbsstr2.c: Likewise.
20195         * tests/test-mbsstr3.c: Likewise.
20196         * tests/test-memchr.c: Likewise.
20197         * tests/test-memchr2.c: Likewise.
20198         * tests/test-memcmp.c: Likewise.
20199         * tests/test-memmem.c: Likewise.
20200         * tests/test-memrchr.c: Likewise.
20201         * tests/test-mkdir.c: Likewise.
20202         * tests/test-mkdirat.c: Likewise.
20203         * tests/test-mkfifo.c: Likewise.
20204         * tests/test-mkfifoat.c: Likewise.
20205         * tests/test-mknod.c: Likewise.
20206         * tests/test-nanosleep.c: Likewise.
20207         * tests/test-nl_langinfo.c: Likewise.
20208         * tests/test-obstack-printf.c: Likewise.
20209         * tests/test-open.c: Likewise.
20210         * tests/test-openat.c: Likewise.
20211         * tests/test-pipe-filter-gi1.c: Likewise.
20212         * tests/test-pipe-filter-gi2-main.c: Likewise.
20213         * tests/test-pipe-filter-ii1.c: Likewise.
20214         * tests/test-pipe-filter-ii2-main.c: Likewise.
20215         * tests/test-pipe2.c: Likewise.
20216         * tests/test-popen.h: Likewise.
20217         * tests/test-posixtm.c: Likewise.
20218         * tests/test-pread.c: Likewise.
20219         * tests/test-printf-frexp.c: Likewise.
20220         * tests/test-printf-frexpl.c: Likewise.
20221         * tests/test-printf-posix.c: Likewise.
20222         * tests/test-priv-set.c: Likewise.
20223         * tests/test-quotearg.c: Likewise.
20224         * tests/test-random_r.c: Likewise.
20225         * tests/test-rawmemchr.c: Likewise.
20226         * tests/test-rbtree_list.c: Likewise.
20227         * tests/test-rbtree_oset.c: Likewise.
20228         * tests/test-rbtreehash_list.c: Likewise.
20229         * tests/test-readlink.c: Likewise.
20230         * tests/test-remove.c: Likewise.
20231         * tests/test-rename.c: Likewise.
20232         * tests/test-renameat.c: Likewise.
20233         * tests/test-rmdir.c: Likewise.
20234         * tests/test-round1.c: Likewise.
20235         * tests/test-roundf1.c: Likewise.
20236         * tests/test-roundl.c: Likewise.
20237         * tests/test-safe-alloc.c: Likewise.
20238         * tests/test-sameacls.c: Likewise.
20239         * tests/test-set-mode-acl.c: Likewise.
20240         * tests/test-setenv.c: Likewise.
20241         * tests/test-sigaction.c: Likewise.
20242         * tests/test-signbit.c: Likewise.
20243         * tests/test-sleep.c: Likewise.
20244         * tests/test-snprintf-posix.c: Likewise.
20245         * tests/test-snprintf.c: Likewise.
20246         * tests/test-sprintf-posix.c: Likewise.
20247         * tests/test-stat-time.c: Likewise.
20248         * tests/test-stat.c: Likewise.
20249         * tests/test-strcasestr.c: Likewise.
20250         * tests/test-strchrnul.c: Likewise.
20251         * tests/test-strerror.c: Likewise.
20252         * tests/test-striconv.c: Likewise.
20253         * tests/test-striconveh.c: Likewise.
20254         * tests/test-striconveha.c: Likewise.
20255         * tests/test-strsignal.c: Likewise.
20256         * tests/test-strstr.c: Likewise.
20257         * tests/test-strtod.c: Likewise.
20258         * tests/test-strverscmp.c: Likewise.
20259         * tests/test-symlink.c: Likewise.
20260         * tests/test-symlinkat.c: Likewise.
20261         * tests/test-trunc1.c: Likewise.
20262         * tests/test-trunc2.c: Likewise.
20263         * tests/test-truncf1.c: Likewise.
20264         * tests/test-truncf2.c: Likewise.
20265         * tests/test-truncl.c: Likewise.
20266         * tests/test-uname.c: Likewise.
20267         * tests/test-unlink.c: Likewise.
20268         * tests/test-unlinkat.c: Likewise.
20269         * tests/test-unsetenv.c: Likewise.
20270         * tests/test-usleep.c: Likewise.
20271         * tests/test-utimens.c: Likewise.
20272         * tests/test-utimensat.c: Likewise.
20273         * tests/test-vasnprintf-posix.c: Likewise.
20274         * tests/test-vasnprintf-posix2.c: Likewise.
20275         * tests/test-vasnprintf.c: Likewise.
20276         * tests/test-vasprintf-posix.c: Likewise.
20277         * tests/test-vasprintf.c: Likewise.
20278         * tests/test-vdprintf-posix.c: Likewise.
20279         * tests/test-vfprintf-posix.c: Likewise.
20280         * tests/test-vprintf-posix.c: Likewise.
20281         * tests/test-vsnprintf-posix.c: Likewise.
20282         * tests/test-vsnprintf.c: Likewise.
20283         * tests/test-vsprintf-posix.c: Likewise.
20284         * tests/test-wcrtomb.c: Likewise.
20285         * tests/test-wcsnrtombs.c: Likewise.
20286         * tests/test-wcsrtombs.c: Likewise.
20287         * tests/test-wctype.c: Likewise.
20288         * tests/test-wcwidth.c: Likewise.
20289         * tests/test-xfprintf-posix.c: Likewise.
20290         * tests/test-xmemdup0.c: Likewise.
20291         * tests/test-xprintf-posix.c: Likewise.
20292         * tests/test-xvasprintf.c: Likewise.
20293         * tests/unicase/test-locale-language.c: Likewise.
20294         * tests/unicase/test-mapping-part1.h: Likewise.
20295         * tests/unicase/test-predicate-part1.h: Likewise.
20296         * tests/unicase/test-u8-casecmp.c: Likewise.
20297         * tests/unicase/test-u8-casecoll.c: Likewise.
20298         * tests/unicase/test-u8-casefold.c: Likewise.
20299         * tests/unicase/test-u8-is-cased.c: Likewise.
20300         * tests/unicase/test-u8-is-casefolded.c: Likewise.
20301         * tests/unicase/test-u8-is-lowercase.c: Likewise.
20302         * tests/unicase/test-u8-is-titlecase.c: Likewise.
20303         * tests/unicase/test-u8-is-uppercase.c: Likewise.
20304         * tests/unicase/test-u8-tolower.c: Likewise.
20305         * tests/unicase/test-u8-totitle.c: Likewise.
20306         * tests/unicase/test-u8-toupper.c: Likewise.
20307         * tests/unicase/test-u16-casecmp.c: Likewise.
20308         * tests/unicase/test-u16-casecoll.c: Likewise.
20309         * tests/unicase/test-u16-casefold.c: Likewise.
20310         * tests/unicase/test-u16-is-cased.c: Likewise.
20311         * tests/unicase/test-u16-is-casefolded.c: Likewise.
20312         * tests/unicase/test-u16-is-lowercase.c: Likewise.
20313         * tests/unicase/test-u16-is-titlecase.c: Likewise.
20314         * tests/unicase/test-u16-is-uppercase.c: Likewise.
20315         * tests/unicase/test-u16-tolower.c: Likewise.
20316         * tests/unicase/test-u16-totitle.c: Likewise.
20317         * tests/unicase/test-u16-toupper.c: Likewise.
20318         * tests/unicase/test-u32-casecmp.c: Likewise.
20319         * tests/unicase/test-u32-casecoll.c: Likewise.
20320         * tests/unicase/test-u32-casefold.c: Likewise.
20321         * tests/unicase/test-u32-is-cased.c: Likewise.
20322         * tests/unicase/test-u32-is-casefolded.c: Likewise.
20323         * tests/unicase/test-u32-is-lowercase.c: Likewise.
20324         * tests/unicase/test-u32-is-titlecase.c: Likewise.
20325         * tests/unicase/test-u32-is-uppercase.c: Likewise.
20326         * tests/unicase/test-u32-tolower.c: Likewise.
20327         * tests/unicase/test-u32-totitle.c: Likewise.
20328         * tests/unicase/test-u32-toupper.c: Likewise.
20329         * tests/unicase/test-ulc-casecmp.c: Likewise.
20330         * tests/unicase/test-ulc-casecoll.c: Likewise.
20331         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
20332         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
20333         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
20334         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
20335         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
20336         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
20337         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
20338         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
20339         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
20340         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
20341         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
20342         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
20343         * tests/unictype/test-bidi_byname.c: Likewise.
20344         * tests/unictype/test-bidi_name.c: Likewise.
20345         * tests/unictype/test-bidi_of.c: Likewise.
20346         * tests/unictype/test-bidi_test.c: Likewise.
20347         * tests/unictype/test-block_list.c: Likewise.
20348         * tests/unictype/test-block_of.c: Likewise.
20349         * tests/unictype/test-block_test.c: Likewise.
20350         * tests/unictype/test-categ_and.c: Likewise.
20351         * tests/unictype/test-categ_and_not.c: Likewise.
20352         * tests/unictype/test-categ_byname.c: Likewise.
20353         * tests/unictype/test-categ_name.c: Likewise.
20354         * tests/unictype/test-categ_none.c: Likewise.
20355         * tests/unictype/test-categ_of.c: Likewise.
20356         * tests/unictype/test-categ_or.c: Likewise.
20357         * tests/unictype/test-categ_test_withtable.c: Likewise.
20358         * tests/unictype/test-combining.c: Likewise.
20359         * tests/unictype/test-decdigit.c: Likewise.
20360         * tests/unictype/test-digit.c: Likewise.
20361         * tests/unictype/test-mirror.c: Likewise.
20362         * tests/unictype/test-numeric.c: Likewise.
20363         * tests/unictype/test-pr_byname.c: Likewise.
20364         * tests/unictype/test-pr_test.c: Likewise.
20365         * tests/unictype/test-predicate-part1.h: Likewise.
20366         * tests/unictype/test-scripts.c: Likewise.
20367         * tests/unictype/test-sy_c_ident.c: Likewise.
20368         * tests/unictype/test-sy_java_ident.c: Likewise.
20369         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
20370         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
20371         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
20372         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
20373         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
20374         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
20375         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
20376         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
20377         * tests/uninorm/test-canonical-decomposition.c: Likewise.
20378         * tests/uninorm/test-compat-decomposition.c: Likewise.
20379         * tests/uninorm/test-composition.c: Likewise.
20380         * tests/uninorm/test-decomposing-form.c: Likewise.
20381         * tests/uninorm/test-decomposition.c: Likewise.
20382         * tests/uninorm/test-u8-nfc.c: Likewise.
20383         * tests/uninorm/test-u8-nfd.c: Likewise.
20384         * tests/uninorm/test-u8-nfkc.c: Likewise.
20385         * tests/uninorm/test-u8-nfkd.c: Likewise.
20386         * tests/uninorm/test-u8-normcmp.c: Likewise.
20387         * tests/uninorm/test-u8-normcoll.c: Likewise.
20388         * tests/uninorm/test-u16-nfc.c: Likewise.
20389         * tests/uninorm/test-u16-nfd.c: Likewise.
20390         * tests/uninorm/test-u16-nfkc.c: Likewise.
20391         * tests/uninorm/test-u16-nfkd.c: Likewise.
20392         * tests/uninorm/test-u16-normcmp.c: Likewise.
20393         * tests/uninorm/test-u16-normcoll.c: Likewise.
20394         * tests/uninorm/test-u32-nfc.c: Likewise.
20395         * tests/uninorm/test-u32-nfd.c: Likewise.
20396         * tests/uninorm/test-u32-nfkc.c: Likewise.
20397         * tests/uninorm/test-u32-nfkd.c: Likewise.
20398         * tests/uninorm/test-u32-normalize-big.c: Likewise.
20399         * tests/uninorm/test-u32-normcmp.c: Likewise.
20400         * tests/uninorm/test-u32-normcoll.c: Likewise.
20401         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
20402         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
20403         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
20404         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
20405         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
20406         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
20407         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
20408         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
20409         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
20410         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
20411         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
20412         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
20413         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
20414         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
20415         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
20416         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
20417         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
20418         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
20419         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
20420         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
20421         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
20422         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
20423         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
20424         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
20425         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
20426         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
20427         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
20428         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
20429         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
20430         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
20431         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
20432         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
20433         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
20434         * tests/uniwidth/test-u8-strwidth.c: Likewise.
20435         * tests/uniwidth/test-u8-width.c: Likewise.
20436         * tests/uniwidth/test-u16-strwidth.c: Likewise.
20437         * tests/uniwidth/test-u16-width.c: Likewise.
20438         * tests/uniwidth/test-u32-strwidth.c: Likewise.
20439         * tests/uniwidth/test-u32-width.c: Likewise.
20440         * tests/uniwidth/test-uc_width.c: Likewise.
20441         * tests/uniwidth/test-uc_width2.c: Likewise.
20442         * modules/acl-tests (Files): Add tests/macros.h.
20443         * modules/areadlink-tests (Files): Likewise.
20444         * modules/areadlink-with-size-tests (Files): Likewise.
20445         * modules/areadlinkat-tests (Files): Likewise.
20446         * modules/areadlinkat-with-size-tests (Files): Likewise.
20447         * modules/argmatch-tests (Files): Likewise.
20448         * modules/argv-iter-tests (Files): Likewise.
20449         * modules/array-list-tests (Files): Likewise.
20450         * modules/array-mergesort-tests (Files): Likewise.
20451         * modules/array-oset-tests (Files): Likewise.
20452         * modules/avltree-list-tests (Files): Likewise.
20453         * modules/avltree-oset-tests (Files): Likewise.
20454         * modules/avltreehash-list-tests (Files): Likewise.
20455         * modules/base64-tests (Files): Likewise.
20456         * modules/binary-io-tests (Files): Likewise.
20457         * modules/bitrotate-tests (Files): Likewise.
20458         * modules/btowc-tests (Files): Likewise.
20459         * modules/byteswap-tests (Files): Likewise.
20460         * modules/c-ctype-tests (Files): Likewise.
20461         * modules/c-stack-tests (Files): Likewise.
20462         * modules/c-strcase-tests (Files): Likewise.
20463         * modules/c-strcasestr-tests (Files): Likewise.
20464         * modules/c-strstr-tests (Files): Likewise.
20465         * modules/canonicalize-lgpl-tests (Files): Likewise.
20466         * modules/canonicalize-tests (Files): Likewise.
20467         * modules/carray-list-tests (Files): Likewise.
20468         * modules/ceilf-tests (Files): Likewise.
20469         * modules/ceill-tests (Files): Likewise.
20470         * modules/chown-tests (Files): Likewise.
20471         * modules/cloexec-tests (Files): Likewise.
20472         * modules/copy-file-tests (Files): Likewise.
20473         * modules/count-one-bits-tests (Files): Likewise.
20474         * modules/dprintf-posix-tests (Files): Likewise.
20475         * modules/dup2-tests (Files): Likewise.
20476         * modules/dup3-tests (Files): Likewise.
20477         * modules/duplocale-tests (Files): Likewise.
20478         * modules/fbufmode-tests (Files): Likewise.
20479         * modules/fchdir-tests (Files): Likewise.
20480         * modules/fcntl-safer-tests (Files): Likewise.
20481         * modules/fcntl-tests (Files): Likewise.
20482         * modules/fdopendir-tests (Files): Likewise.
20483         * modules/fdutimensat-tests (Files): Likewise.
20484         * modules/fflush-tests (Files): Likewise.
20485         * modules/filevercmp-tests (Files): Likewise.
20486         * modules/flock-tests (Files): Likewise.
20487         * modules/floorf-tests (Files): Likewise.
20488         * modules/floorl-tests (Files): Likewise.
20489         * modules/fnmatch-tests (Files): Likewise.
20490         * modules/fopen-safer-tests (Files): Likewise.
20491         * modules/fopen-tests (Files): Likewise.
20492         * modules/fpending-tests (Files): Likewise.
20493         * modules/fprintf-posix-tests (Files): Likewise.
20494         * modules/fpurge-tests (Files): Likewise.
20495         * modules/freadable-tests (Files): Likewise.
20496         * modules/freadahead-tests (Files): Likewise.
20497         * modules/freading-tests (Files): Likewise.
20498         * modules/freadptr-tests (Files): Likewise.
20499         * modules/freadseek-tests (Files): Likewise.
20500         * modules/freopen-tests (Files): Likewise.
20501         * modules/frexp-nolibm-tests (Files): Likewise.
20502         * modules/frexp-tests (Files): Likewise.
20503         * modules/frexpl-nolibm-tests (Files): Likewise.
20504         * modules/frexpl-tests (Files): Likewise.
20505         * modules/fseek-tests (Files): Likewise.
20506         * modules/fseeko-tests (Files): Likewise.
20507         * modules/fstrcmp-tests (Files): Likewise.
20508         * modules/fsync-tests (Files): Likewise.
20509         * modules/ftell-tests (Files): Likewise.
20510         * modules/ftello-tests (Files): Likewise.
20511         * modules/func-tests (Files): Likewise.
20512         * modules/futimens-tests (Files): Likewise.
20513         * modules/fwritable-tests (Files): Likewise.
20514         * modules/fwriting-tests (Files): Likewise.
20515         * modules/getcwd-tests (Files): Likewise.
20516         * modules/getdate-tests (Files): Likewise.
20517         * modules/getdelim-tests (Files): Likewise.
20518         * modules/getdtablesize-tests (Files): Likewise.
20519         * modules/getgroups-tests (Files): Likewise.
20520         * modules/getline-tests (Files): Likewise.
20521         * modules/getndelim2-tests (Files): Likewise.
20522         * modules/glob-tests (Files): Likewise.
20523         * modules/hash-tests (Files): Likewise.
20524         * modules/i-ring-tests (Files): Likewise.
20525         * modules/iconv-tests (Files): Likewise.
20526         * modules/iconv_open-utf-tests (Files): Likewise.
20527         * modules/idpriv-drop-tests (Files): Likewise.
20528         * modules/idpriv-droptemp-tests (Files): Likewise.
20529         * modules/inet_ntop-tests (Files): Likewise.
20530         * modules/inet_pton-tests (Files): Likewise.
20531         * modules/isblank-tests (Files): Likewise.
20532         * modules/isfinite-tests (Files): Likewise.
20533         * modules/isinf-tests (Files): Likewise.
20534         * modules/isnan-tests (Files): Likewise.
20535         * modules/isnand-nolibm-tests (Files): Likewise.
20536         * modules/isnand-tests (Files): Likewise.
20537         * modules/isnanf-nolibm-tests (Files): Likewise.
20538         * modules/isnanf-tests (Files): Likewise.
20539         * modules/isnanl-nolibm-tests (Files): Likewise.
20540         * modules/isnanl-tests (Files): Likewise.
20541         * modules/lchown-tests (Files): Likewise.
20542         * modules/ldexpl-tests (Files): Likewise.
20543         * modules/link-tests (Files): Likewise.
20544         * modules/linkat-tests (Files): Likewise.
20545         * modules/linked-list-tests (Files): Likewise.
20546         * modules/linkedhash-list-tests (Files): Likewise.
20547         * modules/localename-tests (Files): Likewise.
20548         * modules/lseek-tests (Files): Likewise.
20549         * modules/lstat-tests (Files): Likewise.
20550         * modules/mbmemcasecmp-tests (Files): Likewise.
20551         * modules/mbmemcasecoll-tests (Files): Likewise.
20552         * modules/mbrtowc-tests (Files): Likewise.
20553         * modules/mbscasecmp-tests (Files): Likewise.
20554         * modules/mbscasestr-tests (Files): Likewise.
20555         * modules/mbschr-tests (Files): Likewise.
20556         * modules/mbscspn-tests (Files): Likewise.
20557         * modules/mbsinit-tests (Files): Likewise.
20558         * modules/mbsncasecmp-tests (Files): Likewise.
20559         * modules/mbsnrtowcs-tests (Files): Likewise.
20560         * modules/mbspbrk-tests (Files): Likewise.
20561         * modules/mbspcasecmp-tests (Files): Likewise.
20562         * modules/mbsrchr-tests (Files): Likewise.
20563         * modules/mbsrtowcs-tests (Files): Likewise.
20564         * modules/mbsspn-tests (Files): Likewise.
20565         * modules/mbsstr-tests (Files): Likewise.
20566         * modules/memchr-tests (Files): Likewise.
20567         * modules/memchr2-tests (Files): Likewise.
20568         * modules/memcmp-tests (Files): Likewise.
20569         * modules/memmem-tests (Files): Likewise.
20570         * modules/memrchr-tests (Files): Likewise.
20571         * modules/mkdir-tests (Files): Likewise.
20572         * modules/mkfifo-tests (Files): Likewise.
20573         * modules/mkfifoat-tests (Files): Likewise.
20574         * modules/mknod-tests (Files): Likewise.
20575         * modules/nanosleep-tests (Files): Likewise.
20576         * modules/nl_langinfo-tests (Files): Likewise.
20577         * modules/obstack-printf-tests (Files): Likewise.
20578         * modules/open-tests (Files): Likewise.
20579         * modules/openat-tests (Files): Likewise.
20580         * modules/pipe-filter-gi-tests (Files): Likewise.
20581         * modules/pipe-filter-ii-tests (Files): Likewise.
20582         * modules/pipe2-tests (Files): Likewise.
20583         * modules/popen-safer-tests (Files): Likewise.
20584         * modules/popen-tests (Files): Likewise.
20585         * modules/posixtm-tests (Files): Likewise.
20586         * modules/pread-tests (Files): Likewise.
20587         * modules/printf-frexp-tests (Files): Likewise.
20588         * modules/printf-frexpl-tests (Files): Likewise.
20589         * modules/printf-posix-tests (Files): Likewise.
20590         * modules/priv-set-tests (Files): Likewise.
20591         * modules/quotearg-tests (Files): Likewise.
20592         * modules/random_r-tests (Files): Likewise.
20593         * modules/rawmemchr-tests (Files): Likewise.
20594         * modules/rbtree-list-tests (Files): Likewise.
20595         * modules/rbtree-oset-tests (Files): Likewise.
20596         * modules/rbtreehash-list-tests (Files): Likewise.
20597         * modules/readlink-tests (Files): Likewise.
20598         * modules/remove-tests (Files): Likewise.
20599         * modules/rename-tests (Files): Likewise.
20600         * modules/renameat-tests (Files): Likewise.
20601         * modules/rmdir-tests (Files): Likewise.
20602         * modules/round-tests (Files): Likewise.
20603         * modules/roundf-tests (Files): Likewise.
20604         * modules/roundl-tests (Files): Likewise.
20605         * modules/safe-alloc-tests (Files): Likewise.
20606         * modules/setenv-tests (Files): Likewise.
20607         * modules/sigaction-tests (Files): Likewise.
20608         * modules/signbit-tests (Files): Likewise.
20609         * modules/sleep-tests (Files): Likewise.
20610         * modules/snprintf-posix-tests (Files): Likewise.
20611         * modules/snprintf-tests (Files): Likewise.
20612         * modules/sprintf-posix-tests (Files): Likewise.
20613         * modules/stat-tests (Files): Likewise.
20614         * modules/stat-time-tests (Files): Likewise.
20615         * modules/strcasestr-tests (Files): Likewise.
20616         * modules/strchrnul-tests (Files): Likewise.
20617         * modules/strerror-tests (Files): Likewise.
20618         * modules/striconv-tests (Files): Likewise.
20619         * modules/striconveh-tests (Files): Likewise.
20620         * modules/striconveha-tests (Files): Likewise.
20621         * modules/strsignal-tests (Files): Likewise.
20622         * modules/strstr-tests (Files): Likewise.
20623         * modules/strtod-tests (Files): Likewise.
20624         * modules/strverscmp-tests (Files): Likewise.
20625         * modules/symlink-tests (Files): Likewise.
20626         * modules/symlinkat-tests (Files): Likewise.
20627         * modules/trunc-tests (Files): Likewise.
20628         * modules/truncf-tests (Files): Likewise.
20629         * modules/truncl-tests (Files): Likewise.
20630         * modules/uname-tests (Files): Likewise.
20631         * modules/unicase/cased-tests (Files): Likewise.
20632         * modules/unicase/ignorable-tests (Files): Likewise.
20633         * modules/unicase/locale-language-tests (Files): Likewise.
20634         * modules/unicase/tolower-tests (Files): Likewise.
20635         * modules/unicase/totitle-tests (Files): Likewise.
20636         * modules/unicase/toupper-tests (Files): Likewise.
20637         * modules/unicase/u8-casecmp-tests (Files): Likewise.
20638         * modules/unicase/u8-casecoll-tests (Files): Likewise.
20639         * modules/unicase/u8-casefold-tests (Files): Likewise.
20640         * modules/unicase/u8-is-cased-tests (Files): Likewise.
20641         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
20642         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
20643         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
20644         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
20645         * modules/unicase/u8-tolower-tests (Files): Likewise.
20646         * modules/unicase/u8-totitle-tests (Files): Likewise.
20647         * modules/unicase/u8-toupper-tests (Files): Likewise.
20648         * modules/unicase/u16-casecmp-tests (Files): Likewise.
20649         * modules/unicase/u16-casecoll-tests (Files): Likewise.
20650         * modules/unicase/u16-casefold-tests (Files): Likewise.
20651         * modules/unicase/u16-is-cased-tests (Files): Likewise.
20652         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
20653         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
20654         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
20655         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
20656         * modules/unicase/u16-tolower-tests (Files): Likewise.
20657         * modules/unicase/u16-totitle-tests (Files): Likewise.
20658         * modules/unicase/u16-toupper-tests (Files): Likewise.
20659         * modules/unicase/u32-casecmp-tests (Files): Likewise.
20660         * modules/unicase/u32-casecoll-tests (Files): Likewise.
20661         * modules/unicase/u32-casefold-tests (Files): Likewise.
20662         * modules/unicase/u32-is-cased-tests (Files): Likewise.
20663         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
20664         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
20665         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
20666         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
20667         * modules/unicase/u32-tolower-tests (Files): Likewise.
20668         * modules/unicase/u32-totitle-tests (Files): Likewise.
20669         * modules/unicase/u32-toupper-tests (Files): Likewise.
20670         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
20671         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
20672         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
20673         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
20674         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
20675         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
20676         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
20677         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
20678         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
20679         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
20680         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
20681         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
20682         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
20683         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
20684         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
20685         * modules/unictype/bidicategory-name-tests (Files): Likewise.
20686         * modules/unictype/bidicategory-of-tests (Files): Likewise.
20687         * modules/unictype/bidicategory-test-tests (Files): Likewise.
20688         * modules/unictype/block-list-tests (Files): Likewise.
20689         * modules/unictype/block-of-tests (Files): Likewise.
20690         * modules/unictype/block-test-tests (Files): Likewise.
20691         * modules/unictype/category-C-tests (Files): Likewise.
20692         * modules/unictype/category-Cc-tests (Files): Likewise.
20693         * modules/unictype/category-Cf-tests (Files): Likewise.
20694         * modules/unictype/category-Cn-tests (Files): Likewise.
20695         * modules/unictype/category-Co-tests (Files): Likewise.
20696         * modules/unictype/category-Cs-tests (Files): Likewise.
20697         * modules/unictype/category-L-tests (Files): Likewise.
20698         * modules/unictype/category-Ll-tests (Files): Likewise.
20699         * modules/unictype/category-Lm-tests (Files): Likewise.
20700         * modules/unictype/category-Lo-tests (Files): Likewise.
20701         * modules/unictype/category-Lt-tests (Files): Likewise.
20702         * modules/unictype/category-Lu-tests (Files): Likewise.
20703         * modules/unictype/category-M-tests (Files): Likewise.
20704         * modules/unictype/category-Mc-tests (Files): Likewise.
20705         * modules/unictype/category-Me-tests (Files): Likewise.
20706         * modules/unictype/category-Mn-tests (Files): Likewise.
20707         * modules/unictype/category-N-tests (Files): Likewise.
20708         * modules/unictype/category-Nd-tests (Files): Likewise.
20709         * modules/unictype/category-Nl-tests (Files): Likewise.
20710         * modules/unictype/category-No-tests (Files): Likewise.
20711         * modules/unictype/category-P-tests (Files): Likewise.
20712         * modules/unictype/category-Pc-tests (Files): Likewise.
20713         * modules/unictype/category-Pd-tests (Files): Likewise.
20714         * modules/unictype/category-Pe-tests (Files): Likewise.
20715         * modules/unictype/category-Pf-tests (Files): Likewise.
20716         * modules/unictype/category-Pi-tests (Files): Likewise.
20717         * modules/unictype/category-Po-tests (Files): Likewise.
20718         * modules/unictype/category-Ps-tests (Files): Likewise.
20719         * modules/unictype/category-S-tests (Files): Likewise.
20720         * modules/unictype/category-Sc-tests (Files): Likewise.
20721         * modules/unictype/category-Sk-tests (Files): Likewise.
20722         * modules/unictype/category-Sm-tests (Files): Likewise.
20723         * modules/unictype/category-So-tests (Files): Likewise.
20724         * modules/unictype/category-Z-tests (Files): Likewise.
20725         * modules/unictype/category-Zl-tests (Files): Likewise.
20726         * modules/unictype/category-Zp-tests (Files): Likewise.
20727         * modules/unictype/category-Zs-tests (Files): Likewise.
20728         * modules/unictype/category-and-not-tests (Files): Likewise.
20729         * modules/unictype/category-and-tests (Files): Likewise.
20730         * modules/unictype/category-byname-tests (Files): Likewise.
20731         * modules/unictype/category-name-tests (Files): Likewise.
20732         * modules/unictype/category-none-tests (Files): Likewise.
20733         * modules/unictype/category-of-tests (Files): Likewise.
20734         * modules/unictype/category-or-tests (Files): Likewise.
20735         * modules/unictype/category-test-withtable-tests (Files): Likewise.
20736         * modules/unictype/combining-class-tests (Files): Likewise.
20737         * modules/unictype/ctype-alnum-tests (Files): Likewise.
20738         * modules/unictype/ctype-alpha-tests (Files): Likewise.
20739         * modules/unictype/ctype-blank-tests (Files): Likewise.
20740         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
20741         * modules/unictype/ctype-digit-tests (Files): Likewise.
20742         * modules/unictype/ctype-graph-tests (Files): Likewise.
20743         * modules/unictype/ctype-lower-tests (Files): Likewise.
20744         * modules/unictype/ctype-print-tests (Files): Likewise.
20745         * modules/unictype/ctype-punct-tests (Files): Likewise.
20746         * modules/unictype/ctype-space-tests (Files): Likewise.
20747         * modules/unictype/ctype-upper-tests (Files): Likewise.
20748         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
20749         * modules/unictype/decimal-digit-tests (Files): Likewise.
20750         * modules/unictype/digit-tests (Files): Likewise.
20751         * modules/unictype/mirror-tests (Files): Likewise.
20752         * modules/unictype/numeric-tests (Files): Likewise.
20753         * modules/unictype/property-alphabetic-tests (Files): Likewise.
20754         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
20755         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
20756         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
20757         Likewise.
20758         * modules/unictype/property-bidi-block-separator-tests (Files):
20759         Likewise.
20760         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
20761         Likewise.
20762         * modules/unictype/property-bidi-common-separator-tests (Files):
20763         Likewise.
20764         * modules/unictype/property-bidi-control-tests (Files): Likewise.
20765         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
20766         Likewise.
20767         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
20768         Likewise.
20769         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
20770         Likewise.
20771         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
20772         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
20773         Likewise.
20774         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
20775         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
20776         Likewise.
20777         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
20778         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
20779         * modules/unictype/property-bidi-segment-separator-tests (Files):
20780         Likewise.
20781         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
20782         * modules/unictype/property-byname-tests (Files): Likewise.
20783         * modules/unictype/property-combining-tests (Files): Likewise.
20784         * modules/unictype/property-composite-tests (Files): Likewise.
20785         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
20786         * modules/unictype/property-dash-tests (Files): Likewise.
20787         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
20788         * modules/unictype/property-default-ignorable-code-point-tests (Files):
20789         Likewise.
20790         * modules/unictype/property-deprecated-tests (Files): Likewise.
20791         * modules/unictype/property-diacritic-tests (Files): Likewise.
20792         * modules/unictype/property-extender-tests (Files): Likewise.
20793         * modules/unictype/property-format-control-tests (Files): Likewise.
20794         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
20795         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
20796         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
20797         * modules/unictype/property-hex-digit-tests (Files): Likewise.
20798         * modules/unictype/property-hyphen-tests (Files): Likewise.
20799         * modules/unictype/property-id-continue-tests (Files): Likewise.
20800         * modules/unictype/property-id-start-tests (Files): Likewise.
20801         * modules/unictype/property-ideographic-tests (Files): Likewise.
20802         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
20803         * modules/unictype/property-ids-trinary-operator-tests (Files):
20804         Likewise.
20805         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
20806         * modules/unictype/property-iso-control-tests (Files): Likewise.
20807         * modules/unictype/property-join-control-tests (Files): Likewise.
20808         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
20809         * modules/unictype/property-line-separator-tests (Files): Likewise.
20810         * modules/unictype/property-logical-order-exception-tests (Files):
20811         Likewise.
20812         * modules/unictype/property-lowercase-tests (Files): Likewise.
20813         * modules/unictype/property-math-tests (Files): Likewise.
20814         * modules/unictype/property-non-break-tests (Files): Likewise.
20815         * modules/unictype/property-not-a-character-tests (Files): Likewise.
20816         * modules/unictype/property-numeric-tests (Files): Likewise.
20817         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
20818         * modules/unictype/property-other-default-ignorable-code-point-tests
20819         (Files): Likewise.
20820         * modules/unictype/property-other-grapheme-extend-tests (Files):
20821         Likewise.
20822         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
20823         * modules/unictype/property-other-id-start-tests (Files): Likewise.
20824         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
20825         * modules/unictype/property-other-math-tests (Files): Likewise.
20826         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
20827         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
20828         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
20829         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
20830         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
20831         * modules/unictype/property-private-use-tests (Files): Likewise.
20832         * modules/unictype/property-punctuation-tests (Files): Likewise.
20833         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
20834         * modules/unictype/property-radical-tests (Files): Likewise.
20835         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
20836         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
20837         * modules/unictype/property-space-tests (Files): Likewise.
20838         * modules/unictype/property-terminal-punctuation-tests (Files):
20839         Likewise.
20840         * modules/unictype/property-test-tests (Files): Likewise.
20841         * modules/unictype/property-titlecase-tests (Files): Likewise.
20842         * modules/unictype/property-unassigned-code-value-tests (Files):
20843         Likewise.
20844         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
20845         * modules/unictype/property-uppercase-tests (Files): Likewise.
20846         * modules/unictype/property-variation-selector-tests (Files): Likewise.
20847         * modules/unictype/property-white-space-tests (Files): Likewise.
20848         * modules/unictype/property-xid-continue-tests (Files): Likewise.
20849         * modules/unictype/property-xid-start-tests (Files): Likewise.
20850         * modules/unictype/property-zero-width-tests (Files): Likewise.
20851         * modules/unictype/scripts-tests (Files): Likewise.
20852         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
20853         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
20854         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
20855         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
20856         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
20857         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
20858         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
20859         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
20860         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
20861         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
20862         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
20863         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
20864         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
20865         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
20866         * modules/uninorm/composition-tests (Files): Likewise.
20867         * modules/uninorm/decomposing-form-tests (Files): Likewise.
20868         * modules/uninorm/decomposition-tests (Files): Likewise.
20869         * modules/uninorm/filter-tests (Files): Likewise.
20870         * modules/uninorm/nfc-tests (Files): Likewise.
20871         * modules/uninorm/nfd-tests (Files): Likewise.
20872         * modules/uninorm/nfkc-tests (Files): Likewise.
20873         * modules/uninorm/nfkd-tests (Files): Likewise.
20874         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
20875         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
20876         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
20877         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
20878         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
20879         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
20880         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
20881         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
20882         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
20883         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
20884         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
20885         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
20886         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
20887         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
20888         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
20889         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
20890         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
20891         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
20892         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
20893         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
20894         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
20895         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
20896         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
20897         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
20898         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
20899         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
20900         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
20901         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
20902         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
20903         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
20904         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
20905         * modules/uniwidth/u8-width-tests (Files): Likewise.
20906         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
20907         * modules/uniwidth/u16-width-tests (Files): Likewise.
20908         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
20909         * modules/uniwidth/u32-width-tests (Files): Likewise.
20910         * modules/uniwidth/width-tests (Files): Likewise.
20911         * modules/unlink-tests (Files): Likewise.
20912         * modules/unsetenv-tests (Files): Likewise.
20913         * modules/usleep-tests (Files): Likewise.
20914         * modules/utimens-tests (Files): Likewise.
20915         * modules/utimensat-tests (Files): Likewise.
20916         * modules/vasnprintf-posix-tests (Files): Likewise.
20917         * modules/vasnprintf-tests (Files): Likewise.
20918         * modules/vasprintf-posix-tests (Files): Likewise.
20919         * modules/vasprintf-tests (Files): Likewise.
20920         * modules/vdprintf-posix-tests (Files): Likewise.
20921         * modules/vfprintf-posix-tests (Files): Likewise.
20922         * modules/vprintf-posix-tests (Files): Likewise.
20923         * modules/vsnprintf-posix-tests (Files): Likewise.
20924         * modules/vsnprintf-tests (Files): Likewise.
20925         * modules/vsprintf-posix-tests (Files): Likewise.
20926         * modules/wcrtomb-tests (Files): Likewise.
20927         * modules/wcsnrtombs-tests (Files): Likewise.
20928         * modules/wcsrtombs-tests (Files): Likewise.
20929         * modules/wctype-tests (Files): Likewise.
20930         * modules/wcwidth-tests (Files): Likewise.
20931         * modules/xmemdup0-tests (Files): Likewise.
20932         * modules/xprintf-posix-tests (Files): Likewise.
20933         * modules/xvasprintf-tests (Files): Likewise.
20934
20935 2009-12-24  Eric Blake  <ebb9@byu.net>
20936
20937         test-nanosleep: fix typo
20938         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
20939         patch.
20940         Reported by Bruno Haible.
20941
20942 2009-12-24  Bruno Haible  <bruno@clisp.org>
20943
20944         Reduce namespace pollution on glibc systems.
20945         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
20946         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
20947         systems.
20948         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
20949         <getopt.h> on glibc systems.
20950         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
20951         systems.
20952         * lib/fcntl.c: Include <unistd.h> here instead.
20953
20954 2009-12-24  Bruno Haible  <bruno@clisp.org>
20955
20956         * lib/stdlib.in.h (includes): Fix typo in today's commit.
20957
20958 2009-12-24  Eric Blake  <ebb9@byu.net>
20959
20960         tests: add signature checks
20961         * tests/signature.h (SIGNATURE_CHECK): New file.
20962         * modules/atexit-tests (Files): Use it.
20963         * modules/btowc-tests (Files): Likewise.
20964         * modules/canonicalize-lgpl-tests (Files): Likewise.
20965         * modules/ceilf-tests (Files): Likewise.
20966         * modules/ceill-tests (Files): Likewise.
20967         * modules/chown-tests (Files): Likewise.
20968         * modules/dprintf-posix-tests (Files): Likewise.
20969         * modules/dup2-tests (Files): Likewise.
20970         * modules/dup3-tests (Files): Likewise.
20971         * modules/duplocale-tests (Files): Likewise.
20972         * modules/fchdir-tests (Files): Likewise.
20973         * modules/fcntl-tests (Files): Likewise.
20974         * modules/fdopendir-tests (Files): Likewise.
20975         * modules/fflush-tests (Files): Likewise.
20976         * modules/flock-tests (Files): Likewise.
20977         * modules/floorf-tests (Files): Likewise.
20978         * modules/floorl-tests (Files): Likewise.
20979         * modules/fnmatch-tests (Files): Likewise.
20980         * modules/fopen-tests (Files): Likewise.
20981         * modules/fprintf-posix-tests (Files): Likewise.
20982         * modules/freopen-tests (Files): Likewise.
20983         * modules/frexp-nolibm-tests (Files): Likewise.
20984         * modules/frexp-tests (Files): Likewise.
20985         * modules/frexpl-nolibm-tests (Files): Likewise.
20986         * modules/frexpl-tests (Files): Likewise.
20987         * modules/fseek-tests (Files): Likewise.
20988         * modules/fseeko-tests (Files): Likewise.
20989         * modules/fsync-tests (Files): Likewise.
20990         * modules/ftell-tests (Files): Likewise.
20991         * modules/ftello-tests (Files): Likewise.
20992         * modules/futimens-tests (Files): Likewise.
20993         * modules/getaddrinfo-tests (Files): Likewise.
20994         * modules/getcwd-tests (Files): Likewise.
20995         * modules/getdelim-tests (Files): Likewise.
20996         * modules/getdtablesize-tests (Files): Likewise.
20997         * modules/getgroups-tests (Files): Likewise.
20998         * modules/gethostname-tests (Files): Likewise.
20999         * modules/getline-tests (Files): Likewise.
21000         * modules/getopt-posix-tests (Files): Likewise.
21001         * modules/gettimeofday-tests (Files): Likewise.
21002         * modules/glob-tests (Files): Likewise.
21003         * modules/iconv-tests (Files): Likewise.
21004         * modules/inet_ntop-tests (Files): Likewise.
21005         * modules/inet_pton-tests (Files): Likewise.
21006         * modules/isblank-tests (Files): Likewise.
21007         * modules/lchown-tests (Files): Likewise.
21008         * modules/ldexpl-tests (Files): Likewise.
21009         * modules/link-tests (Files): Likewise.
21010         * modules/linkat-tests (Files): Likewise.
21011         * modules/lseek-tests (Files): Likewise.
21012         * modules/lstat-tests (Files): Likewise.
21013         * modules/mbrtowc-tests (Files): Likewise.
21014         * modules/mbsinit-tests (Files): Likewise.
21015         * modules/mbsnrtowcs-tests (Files): Likewise.
21016         * modules/mbsrtowcs-tests (Files): Likewise.
21017         * modules/memchr-tests (Files): Likewise.
21018         * modules/memcmp-tests (Files): Likewise.
21019         * modules/memmem-tests (Files): Likewise.
21020         * modules/memrchr-tests (Files): Likewise.
21021         * modules/mkdir-tests (Files): Likewise.
21022         * modules/mkfifo-tests (Files): Likewise.
21023         * modules/mkfifoat-tests (Files): Likewise.
21024         * modules/mknod-tests (Files): Likewise.
21025         * modules/nanosleep-tests (Files): Likewise.
21026         * modules/nl_langinfo-tests (Files): Likewise.
21027         * modules/obstack-printf-tests (Files): Likewise.
21028         * modules/open-tests (Files): Likewise.
21029         * modules/openat-tests (Files): Likewise.
21030         * modules/perror-tests (Files): Likewise.
21031         * modules/pipe2-tests (Files): Likewise.
21032         * modules/poll-tests (Files): Likewise.
21033         * modules/popen-tests (Files): Likewise.
21034         * modules/posix_spawn-tests (Files): Likewise.
21035         * modules/posix_spawnp-tests (Files): Likewise.
21036         * modules/pread-tests (Files): Likewise.
21037         * modules/printf-posix-tests (Files): Likewise.
21038         * modules/pty-tests (Files): Likewise.
21039         * modules/random_r-tests (Files): Likewise.
21040         * modules/rawmemchr-tests (Files): Likewise.
21041         * modules/readlink-tests (Files): Likewise.
21042         * modules/remove-tests (Files): Likewise.
21043         * modules/rename-tests (Files): Likewise.
21044         * modules/renameat-tests (Files): Likewise.
21045         * modules/rmdir-tests (Files): Likewise.
21046         * modules/round-tests (Files): Likewise.
21047         * modules/roundf-tests (Files): Likewise.
21048         * modules/roundl-tests (Files): Likewise.
21049         * modules/select-tests (Files): Likewise.
21050         * modules/setenv-tests (Files): Likewise.
21051         * modules/sigaction-tests (Files): Likewise.
21052         * modules/sleep-tests (Files): Likewise.
21053         * modules/snprintf-posix-tests (Files): Likewise.
21054         * modules/snprintf-tests (Files): Likewise.
21055         * modules/sprintf-posix-tests (Files): Likewise.
21056         * modules/stat-tests (Files): Likewise.
21057         * modules/strcasestr-tests (Files): Likewise.
21058         * modules/strchrnul-tests (Files): Likewise.
21059         * modules/strerror-tests (Files): Likewise.
21060         * modules/strsignal-tests (Files): Likewise.
21061         * modules/strstr-tests (Files): Likewise.
21062         * modules/strtod-tests (Files): Likewise.
21063         * modules/strverscmp-tests (Files): Likewise.
21064         * modules/symlink-tests (Files): Likewise.
21065         * modules/symlinkat-tests (Files): Likewise.
21066         * modules/times-tests (Files): Likewise.
21067         * modules/trunc-tests (Files): Likewise.
21068         * modules/truncf-tests (Files): Likewise.
21069         * modules/truncl-tests (Files): Likewise.
21070         * modules/tsearch-tests (Files): Likewise.
21071         * modules/uname-tests (Files): Likewise.
21072         * modules/unlink-tests (Files): Likewise.
21073         * modules/unsetenv-tests (Files): Likewise.
21074         * modules/usleep-tests (Files): Likewise.
21075         * modules/utimensat-tests (Files): Likewise.
21076         * modules/vasprintf-tests (Files): Likewise.
21077         * modules/vdprintf-posix-tests (Files): Likewise.
21078         * modules/vfprintf-posix-tests (Files): Likewise.
21079         * modules/vprintf-posix-tests (Files): Likewise.
21080         * modules/vsnprintf-posix-tests (Files): Likewise.
21081         * modules/vsnprintf-tests (Files): Likewise.
21082         * modules/vsprintf-posix-tests (Files): Likewise.
21083         * modules/wcrtomb-tests (Files): Likewise.
21084         * modules/wcsnrtombs-tests (Files): Likewise.
21085         * modules/wcsrtombs-tests (Files): Likewise.
21086         * modules/wcwidth-tests (Files): Likewise.
21087         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
21088         * tests/test-isinf.c (isinf): Likewise.
21089         * tests/test-isnan.c (isnan): Likewise.
21090         * tests/test-signbit.c (signbit): Likewise.
21091         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
21092         declaration, either as macro or with correct signature.
21093         (select): Ensure function under test is declared with correct
21094         signature in correct header.
21095         * tests/test-atexit.c (atexit): Likewise.
21096         * tests/test-btowc.c (btowc): Likewise.
21097         * tests/test-canonicalize-lgpl.c (realpath)
21098         (canonicalize_file_name): Likewise.
21099         * tests/test-ceilf1.c (ceilf): Likewise.
21100         * tests/test-ceill.c (ceill): Likewise.
21101         * tests/test-chown.c (chown): Likewise.
21102         * tests/test-dprintf-posix.c (dprintf): Likewise.
21103         * tests/test-dup2.c (dup2): Likewise.
21104         * tests/test-dup3.c (dup3): Likewise.
21105         * tests/test-duplocale.c (duplocale): Likewise.
21106         * tests/test-fchdir.c (fchdir): Likewise.
21107         * tests/test-fchownat.c (fchownat): Likewise.
21108         * tests/test-fcntl.c (fcntl): Likewise.
21109         * tests/test-fdopendir.c (fdopendir): Likewise.
21110         * tests/test-fflush.c (fflush): Likewise.
21111         * tests/test-flock.c (flock): Likewise.
21112         * tests/test-floorf1.c (floorf): Likewise.
21113         * tests/test-floorl.c (floorl): Likewise.
21114         * tests/test-fnmatch.c (fnmatch): Likewise.
21115         * tests/test-fopen.c (fopen): Likewise.
21116         * tests/test-fprintf-posix.c (fprintf): Likewise.
21117         * tests/test-freopen.c (freopen): Likewise.
21118         * tests/test-frexp.c (frexp): Likewise.
21119         * tests/test-frexpl.c (frexpl): Likewise.
21120         * tests/test-fseek.c (fseek): Likewise.
21121         * tests/test-fseeko.c (fseeko): Likewise.
21122         * tests/test-fstatat.c (fstatat): Likewise.
21123         * tests/test-fsync.c (fsync): Likewise.
21124         * tests/test-ftell.c (ftell): Likewise.
21125         * tests/test-ftello.c (ftello): Likewise.
21126         * tests/test-futimens.c (futimens): Likewise.
21127         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
21128         (gai_strerror): Likewise.
21129         * tests/test-getcwd.c (getcwd): Likewise.
21130         * tests/test-getdelim.c (getdelim): Likewise.
21131         * tests/test-getdtablesize.c (getdtablesize): Likewise.
21132         * tests/test-getgroups.c (getgroups): Likewise.
21133         * tests/test-gethostname.c (gethostname): Likewise.
21134         * tests/test-getline.c (getline): Likewise.
21135         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
21136         Likewise.
21137         * tests/test-gettimeofday.c (gettimeofday): Likewise.
21138         * tests/test-glob.c (glob, globfree): Likewise.
21139         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
21140         * tests/test-inet_ntop.c (inet_ntop): Likewise.
21141         * tests/test-inet_pton.c (inet_pton): Likewise.
21142         * tests/test-isblank.c (isblank): Likewise.
21143         * tests/test-lchown.c (lchown): Likewise.
21144         * tests/test-ldexpl.c (ldexpl): Likewise.
21145         * tests/test-link.c (link): Likewise.
21146         * tests/test-linkat.c (linkat): Likewise.
21147         * tests/test-lseek.c (lseek): Likewise.
21148         * tests/test-lstat.c (lstat): Likewise.
21149         * tests/test-mbrtowc.c (mbrtowc): Likewise.
21150         * tests/test-mbsinit.c (mbsinit): Likewise.
21151         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
21152         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
21153         * tests/test-memchr.c (memchr): Likewise.
21154         * tests/test-memcmp.c (memcmp): Likewise.
21155         * tests/test-memmem.c (memmem): Likewise.
21156         * tests/test-memrchr.c (memrchr): Likewise.
21157         * tests/test-mkdir.c (mkdir): Likewise.
21158         * tests/test-mkdirat.c (mkdirat): Likewise.
21159         * tests/test-mkfifo.c (mkfifo): Likewise.
21160         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
21161         * tests/test-mknod.c (mknod): Likewise.
21162         * tests/test-nanosleep.c (nanosleep): Likewise.
21163         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
21164         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
21165         Likewise.
21166         * tests/test-open.c (open): Likewise.
21167         * tests/test-openat.c (openat): Likewise.
21168         * tests/test-perror.c (perror): Likewise.
21169         * tests/test-pipe2.c (pipe2): Likewise.
21170         * tests/test-poll.c (poll): Likewise.
21171         * tests/test-popen.c (popen, pclose): Likewise.
21172         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
21173         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
21174         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
21175         (posix_spawn_file_actions_destroy)
21176         (posix_spawn_file_actions_addclose)
21177         (posix_spawn_file_actions_addopen)
21178         (posix_spawn_file_actions_adddup2): Likewise.
21179         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
21180         * tests/test-pread.c (pread): Likewise.
21181         * tests/test-printf-posix.c (printf): Likewise.
21182         * tests/test-pty.c (openpty, forkpty): Likewise.
21183         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
21184         (random_r): Likewise.
21185         * tests/test-rawmemchr.c (rawmemchr): Likewise.
21186         * tests/test-readlink.c (readlink): Likewise.
21187         * tests/test-remove.c (remove): Likewise.
21188         * tests/test-rename.c (rename): Likewise.
21189         * tests/test-renameat.c (renameat): Likewise.
21190         * tests/test-rmdir.c (rmdir): Likewise.
21191         * tests/test-round1.c (round): Likewise.
21192         * tests/test-roundf1.c (roundf): Likewise.
21193         * tests/test-roundl.c (roundl): Likewise.
21194         * tests/test-setenv.c (setenv): Likewise.
21195         * tests/test-sigaction.c (sigaction): Likewise.
21196         * tests/test-sleep.c (sleep): Likewise.
21197         * tests/test-snprintf.c (snprintf): Likewise.
21198         * tests/test-sprintf-posix.c (sprintf): Likewise.
21199         * tests/test-stat.c (stat): Likewise.
21200         * tests/test-stpncpy.c (stpncpy): Likewise.
21201         * tests/test-strcasestr.c (strcasestr): Likewise.
21202         * tests/test-strchrnul.c (strchrnul): Likewise.
21203         * tests/test-strerror.c (strerror): Likewise.
21204         * tests/test-strsignal.c (strsignal): Likewise.
21205         * tests/test-strstr.c (strstr): Likewise.
21206         * tests/test-strtod.c (strtod): Likewise.
21207         * tests/test-strverscmp.c (strverscmp): Likewise.
21208         * tests/test-symlink.c (symlink): Likewise.
21209         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
21210         * tests/test-times.c (times): Likewise.
21211         * tests/test-trunc1.c (trunc): Likewise.
21212         * tests/test-truncf1.c (truncf): Likewise.
21213         * tests/test-truncl.c (truncl): Likewise.
21214         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
21215         Likewise.
21216         * tests/test-uname.c (uname): Likewise.
21217         * tests/test-unlink.c (unlink): Likewise.
21218         * tests/test-unlinkat.c (unlinkat): Likewise.
21219         * tests/test-unsetenv.c (unsetenv): Likewise.
21220         * tests/test-usleep.c (usleep): Likewise.
21221         * tests/test-utimensat.c (utimensat): Likewise.
21222         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
21223         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
21224         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
21225         * tests/test-vprintf-posix.c (vprintf): Likewise.
21226         * tests/test-vsnprintf.c (vsnprintf): Likewise.
21227         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
21228         * tests/test-wcrtomb.c (wcrtomb): Likewise.
21229         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
21230         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
21231         * tests/test-wcwidth.c (wcwidth): Likewise.
21232
21233         build: pull in conditional headers during GNULIB_POSIXCHECK
21234         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
21235         definitions from any conditionally-included headers.
21236         * lib/stdlib.in.h (includes): Likewise.
21237         * lib/unistd.in.h (includes): Likewise.
21238
21239 2009-12-24  Bruno Haible  <bruno@clisp.org>
21240
21241         * tests/test-argv-iter.c: Include header file being tested immediately
21242         after config.h.
21243         * tests/test-base64.c: Likewise.
21244         * tests/test-flock.c: Likewise.
21245         * tests/test-fsync.c: Likewise.
21246         * tests/test-getdate.c: Likewise.
21247         * tests/test-getndelim2.c: Likewise.
21248         * tests/test-isfinite.c: Likewise.
21249         * tests/test-isinf.c: Likewise.
21250         * tests/test-strerror.c: Likewise.
21251         * tests/test-strsignal.c: Likewise.
21252
21253 2009-12-23  Eric Blake  <ebb9@byu.net>
21254
21255         unistd: work around cygwin bug
21256         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
21257         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
21258         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
21259
21260 2009-12-23  Bruno Haible  <bruno@clisp.org>
21261
21262         localename: More tests.
21263         * tests/test-localename.c (SIZEOF): New macro.
21264         (categories): New variable.
21265         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
21266         test_locale_name_default): Add test w.r.t. thread locale.
21267         (test_locale_name_thread): New function.
21268         (main): Invoke it.
21269
21270         localename: Make aware of thread locale.
21271         * lib/localename.h (gl_locale_name_thread): New declaration.
21272         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
21273         behaviour with respect to thread locale.
21274         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
21275         <langinfo.h>, glthread/lock.h.
21276         (SIZE_BITS): New macro.
21277         (string_hash): New function.
21278         (struct hash_node): New type.
21279         (HASH_TABLE_SIZE): New macro.
21280         (struniq_hash_table, struniq_lock): New variables.
21281         (struniq): New function.
21282         (gl_locale_name_thread): New function.
21283         (gl_locale_name): Invoke it.
21284         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
21285         * modules/localename (Depends-on): Add lock.
21286         Reported by Mike Gran <spk121@yahoo.com>.
21287
21288 2009-12-23  Eric Blake  <ebb9@byu.net>
21289
21290         va-args: new module
21291         * modules/va-args: New file.
21292         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
21293         * MODULES.html.sh (Core language properties): Mention it.
21294
21295         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
21296         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
21297         named alias for __attribute__((__unused__)).
21298         * lib/chown.c: Update client.
21299         * lib/fchmodat.c: Likewise.
21300         * lib/fts.c: Likewise.
21301         * lib/getdate.y: Likewise.
21302         * lib/getgroups.c: Likewise.
21303         * lib/getopt.c: Likewise.
21304         * lib/getugroups.c: Likewise.
21305         * lib/mkdir.c: Likewise.
21306         * lib/mkfifo.c: Likewise.
21307         * lib/mkfifoat.c: Likewise.
21308         * lib/mknod.c: Likewise.
21309         * lib/mknodat.c: Likewise.
21310         * lib/readlink.c: Likewise.
21311         * lib/se-context.in.h: Likewise.
21312         * lib/se-selinux.in.h: Likewise.
21313         * lib/sockets.c: Likewise.
21314         * lib/symlink.c: Likewise.
21315         * lib/symlinkat.c: Likewise.
21316         * lib/unicodeio.c: Likewise.
21317         * lib/unistr.h: Likewise.
21318         * tests/test-areadlink.c: Likewise.
21319         * tests/test-areadlinkat.c: Likewise.
21320         * tests/test-filenamecat.c: Likewise.
21321         * tests/test-fseeko.c: Likewise.
21322         * tests/test-ftello.c: Likewise.
21323         * tests/test-getdate.c: Likewise.
21324         * tests/test-getgroups.c: Likewise.
21325         * tests/test-gethostname.c: Likewise.
21326         * tests/test-quotearg.c: Likewise.
21327         * tests/test-version-etc.c: Likewise.
21328         * tests/test-xalloc-die.c: Likewise.
21329         * tests/test-xfprintf-posix.c: Likewise.
21330         * tests/test-xprintf-posix.c: Likewise.
21331         * tests/test-xvasprintf.c: Likewise.
21332
21333         tests: avoid compiler warnings
21334         * tests/test-fcntl.c (main): Delete unused parameters.
21335         * tests/test-freopen-safer.c (main): Likewise.
21336         * tests/test-xalloc-die.c (main): Mark unused parameters.
21337         * tests/test-fseeko.c (main): Likewise.
21338         * tests/test-ftello.c (main): Likewise.
21339         * tests/test-nanosleep.c (main): Avoid declaration warning.
21340         * tests/test-sleep.c (main): Likewise.
21341         * tests/test-unsetenv.c (main): Silence warning about string
21342         literal.
21343         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
21344
21345 2009-12-23  Bruno Haible  <bruno@clisp.org>
21346
21347         * tests/test-localename.c (test_locale_name): New function, extracted
21348         from main. Also test mixed situations.
21349         (test_locale_name_posix, test_locale_name_environ,
21350         test_locale_name_default): New functions.
21351         (main): Invoke them all.
21352         * modules/localename-tests (configure.ac): Test for newlocale.
21353
21354 2009-12-23  Bruno Haible  <bruno@clisp.org>
21355
21356         unistd: Ensure getcwd gets declared before being overridden.
21357         * lib/unistd.in.h: Conditionally include <io.h>.
21358
21359 2009-12-22  Bruno Haible  <bruno@clisp.org>
21360
21361         wchar: Diagnose broken combination of glibc and gcc versions and flags.
21362         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
21363         (gl_WCHAR_H): Invoke it.
21364         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
21365         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
21366         Reported by Karl Berry <karl@freefriends.org>.
21367
21368 2009-12-22  Eric Blake  <ebb9@byu.net>
21369
21370         math, unistd: avoid redundant includes
21371         * lib/math.in.h (isnan): No need to re-include <math.h>.
21372         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
21373
21374         getsubopt: work around cygwin bug
21375         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
21376         avoid conflicting with system getsubopt.
21377         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
21378         bug.
21379
21380         getopt: synchronize from glibc
21381         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
21382         parameter order.  Adjust all callers.
21383         (_getopt_internal_r, main): Adjust quoting in error messages.
21384         Drop considerations for outdated POSIX 1003.2 error message.
21385         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
21386         callers.
21387         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
21388
21389         test-getopt: test stderr behavior
21390         * modules/getopt-posix-tests (Depends-on): Add dup2.
21391         * tests/test-getopt.c (ASSERT): Avoid stderr.
21392         (main): Move stderr to a temporary file.
21393         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
21394         Instead, add parameter to inform caller if output occurred.
21395         (test_getopt): Adjust all existing tests to expect silence, and
21396         add new tests of leading ":".
21397         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
21398         glibc shortcomings with leading "-:" or "+:" in optstring.
21399         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
21400         Likewise.
21401         * doc/posix-functions/getopt.texi (getopt): Likewise.
21402
21403         test-getopt: enhance test
21404         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
21405         supports optind=0.
21406         * tests/test-getopt.c (OPTIND_MIN): Move...
21407         * tests/test-getopt.h (OPTIND_MIN): ...here.
21408         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
21409         Require that optind=0 works, since modern BSD supports it in
21410         addition to optreset, and since coreutils expects it.
21411         (test_getopt_long_only): New test.
21412         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
21413         glibc shortcomings with 'W;', and enforcement of optind=0.
21414         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
21415         Likewise.
21416
21417 2009-12-21  Bruno Haible  <bruno@clisp.org>
21418
21419         localename: Improvements for MacOS X and Cygwin.
21420         * lib/localename.h (gl_locale_name_environ): New declaration.
21421         * lib/localename.c (gl_locale_name_environ): New function, extracted from
21422         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
21423         (gl_locale_name_posix): Invoke it.
21424         (gl_locale_name_default): Add comments. Use Windows native API also on
21425         Cygwin.
21426
21427 2009-12-21  Bruno Haible  <bruno@clisp.org>
21428
21429         Update list of Win32 locale ids.
21430         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
21431         (LANG_SAMI): Renamed from LANG_SAAMI.
21432         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
21433         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
21434         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
21435         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
21436         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
21437         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
21438         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
21439         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
21440         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
21441         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
21442         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
21443         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
21444         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
21445         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
21446         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
21447         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
21448         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
21449         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
21450         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
21451         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
21452         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
21453         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
21454         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
21455         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
21456         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
21457         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
21458         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
21459         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
21460         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
21461         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
21462         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
21463         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
21464         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
21465         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
21466         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
21467         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
21468         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
21469         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
21470         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
21471         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
21472         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
21473         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
21474         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
21475         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
21476         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
21477         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
21478         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
21479         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
21480         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
21481         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
21482         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
21483         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
21484         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
21485         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
21486         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
21487         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
21488         Add more languages and countries for Sami, Sorbian. Add more countries
21489         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
21490         for Pashto. Change country for Syriac, Tswana.
21491
21492 2009-12-21  Eric Blake  <ebb9@byu.net>
21493
21494         test-utimens: avoid spurious failure
21495         * tests/test-chown.h (nap): Factor...
21496         * tests/nap.h: ...into new file.
21497         * tests/test-lchown.h (nap): Avoid duplication.
21498         * tests/test-utimens-common.h (nap): Use shared implementation,
21499         necessary on file systems with 1-second resolution.
21500         * modules/chown-tests (Files): Include new file.
21501         * modules/fdutimensat-tests (Files): Likewise.
21502         * modules/futimens-tests (Files): Likewise.
21503         * modules/lchown-tests (Files): Likewise.
21504         * modules/openat-tests (Files): Likewise.
21505         * modules/utimens-tests (Files): Likewise.
21506         * modules/utimensat-tests (Files): Likewise.
21507
21508 2009-12-19  Eric Blake  <ebb9@byu.net>
21509
21510         futimens, utimensat: work around Linux bug
21511         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
21512         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
21513         * lib/utimensat.c (rpl_utimensat): Work around it.
21514         * lib/futimens.c (rpl_futimens): Adjust comment.
21515
21516         utimens: work around Linux ctime bug
21517         * lib/utimens.c (detect_ctime_bug): New helper function.
21518         (update_timespec): Differentiate between workaround needed for
21519         this bug vs. what is needed for systems that lack utimensat.
21520         (fdutimens, lutimens): Work around bug.
21521
21522         utimens: check for ctime update
21523         * tests/test-utimens-common.h (check_ctime): Define.
21524         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
21525         * tests/test-futimens.h (test_futimens): Likewise.
21526         * tests/test-lutimens.h (test_lutimens): Likewise.
21527         * doc/posix-functions/futimens.texi (futimens): Document the bug.
21528         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
21529
21530 2009-12-19  Bruno Haible  <bruno@clisp.org>
21531
21532         dprintf-posix: Check against memory leak fixed on 2009-12-15.
21533         * tests/test-dprintf-posix2.sh: New file.
21534         * tests/test-dprintf-posix2.c: New file.
21535         * modules/dprintf-posix-tests (Files): Add them.
21536         (configure.ac): Check for getrlimit and setrlimit.
21537         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
21538
21539 2009-12-19  Bruno Haible  <bruno@clisp.org>
21540
21541         fprintf-posix: Check against memory leak fixed on 2009-12-15.
21542         * tests/test-fprintf-posix3.sh: New file.
21543         * tests/test-fprintf-posix3.c: New file.
21544         * modules/fprintf-posix-tests (Files): Add them.
21545         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
21546
21547 2009-12-19  Eric Blake  <ebb9@byu.net>
21548
21549         dirfd: fix prototype
21550         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
21551         * lib/dirfd.c (dirfd): Likewise.
21552
21553         canonicalize: reduce memory usage
21554         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
21555         allocation to size.
21556         Reported by Solar Designer <solar@openwall.com>.
21557
21558 2009-12-19  Bruno Haible  <bruno@clisp.org>
21559
21560         New module attribute 'Applicability'.
21561         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
21562         * gnulib-tool: New option --extract-applicability.
21563         (func_usage): Document it.
21564         (sed_extract_prog): Recognize it.
21565         (func_get_applicability): New function.
21566         (func_import): Generalize handling of 'link-warning' module.
21567         * modules/link-warning (Applicability): New section.
21568         * modules/arg-nonnull (Applicability): New section.
21569         Repoted by Simon Josefsson <simon@josefsson.org>.
21570
21571 2009-12-19  Bruno Haible  <bruno@clisp.org>
21572
21573         fflush: tweak
21574         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
21575         * lib/fseeko.c (rpl_fseeko): Likewise.
21576
21577 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
21578
21579         * lib/gl_list.h: Fix typo in comment.
21580
21581 2009-12-16  Eric Blake  <ebb9@byu.net>
21582
21583         fcntl: use to simplify other modules
21584         * modules/cloexec (Depends-on): Add fcntl.
21585         * modules/fchdir (Depends-on): Likewise.
21586         * modules/fd-safer-flag (Depends-on): Likewise.
21587         * modules/unistd-safer (Depends-on): Likewise.
21588         * modules/dup3 (configure.ac): Set module indicator.
21589         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
21590         missing.
21591         * lib/fchdir.c (_gl_register_dup): Fix comment.
21592         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
21593         * lib/dup-safer.c (dup_safer): Likewise.
21594         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
21595         * lib/dup3.c (dup3): Likewise.
21596         * tests/test-fchdir.c (main): Enhance test.
21597         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
21598
21599         fcntl: port portions of fcntl to mingw
21600         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
21601         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
21602         replacement for mingw.
21603         * modules/fcntl (Description): Update.
21604         (Depends-on): Add dup2.
21605         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
21606         * modules/fcntl-h (Makefile.am): Substitute it.
21607         * lib/fcntl.in.h (fcntl): Update declaration.
21608         (F_DUPFD, F_GETFD): New macros, when needed.
21609         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
21610         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
21611         * tests/test-fcntl.c (check_flags, main): Enhance test for items
21612         we now guarantee.
21613
21614         fcntl: work around cygwin bug in F_DUPFD
21615         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
21616         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
21617         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
21618         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
21619         * doc/posix-functions/fcntl.texi (fcntl): Document it.
21620
21621         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
21622         * modules/fcntl (Files): List new files.
21623         (configure.ac): Run a test.
21624         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
21625         * lib/fcntl.c (rpl_fcntl): Likewise.
21626         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
21627         (gl_FCNTL_H): Always replace fcntl.h.
21628         * modules/fcntl-h (Makefile.am): Substitute witnesses.
21629         * lib/fcntl.in.h (fcntl): Declare replacement.
21630         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
21631         needed, plus a witness.
21632         * doc/posix-functions/fcntl.texi (fcntl): Document this.
21633         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
21634         * tests/test-fcntl.c: New file.
21635         * modules/fcntl-tests: Likewise.
21636
21637         binary-io: avoid potential compilation warning
21638         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
21639         directives.
21640
21641         fflush: avoid compilation error on NetBSD
21642         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
21643         between off_t and fpos_t, since the latter is sometimes a struct.
21644         * lib/fseeko.c (rpl_fseeko): Likewise.
21645         Reported by Alexander Nasonov <alnsn@yandex.ru>.
21646
21647 2009-12-15  Eric Blake  <ebb9@byu.net>
21648
21649         fcntl-h, stdio, sys_ioctl: fix declarations
21650         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
21651         function must not take arguments.
21652         * lib/sys_ioctl.in.h (ioctl): Likewise.
21653         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
21654         (open): Add a link warning.
21655
21656 2009-12-15  Jim Meyering  <meyering@redhat.com>
21657
21658         areadlink, areadlink-with-size: relax license to LGPLv2+
21659         * modules/areadlink (License): Relax to LGPLv2+.
21660         * modules/areadlink-with-size (License): Likewise.
21661
21662 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
21663             Bruno Haible  <bruno@clisp.org>
21664
21665         *printf: Fix memory leak.
21666         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
21667         * lib/vfprintf.c (vfprintf): Likewise.
21668         * lib/dprintf.c (dprintf): Likewise.
21669         * lib/vdprintf.c (vdprintf): Likewise.
21670
21671 2009-12-14  Eric Blake  <ebb9@byu.net>
21672
21673         accept4: adjust module dependencies
21674         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
21675
21676         utimens: one more try at avoiding compiler warning
21677         * lib/utimens.c (lutimens): Lower scope of result.
21678
21679 2009-12-13  Bruno Haible  <bruno@clisp.org>
21680
21681         Move the malloc checking from module 'list' to new module 'xlist'.
21682         * modules/xlist: New file.
21683         * lib/gl_xlist.h: New file.
21684         * lib/gl_xlist.c: New file.
21685         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
21686         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
21687         gl_list_add_last, gl_list_add_before, gl_list_add_after,
21688         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
21689         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
21690         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
21691         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
21692         gl_sortedlist_nx_add): New declarations.
21693         (struct gl_list_implementation): Rename and change methods accordingly.
21694         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
21695         (gl_list_nx_create): Renamed from gl_list_create.
21696         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
21697         (gl_list_nx_set_at): Renamed from gl_list_set_at.
21698         (gl_list_nx_add_first): Renamed from gl_list_add_first.
21699         (gl_list_nx_add_last): Renamed from gl_list_add_last.
21700         (gl_list_nx_add_before): Renamed from gl_list_add_before.
21701         (gl_list_nx_add_after): Renamed from gl_list_add_after.
21702         (gl_list_nx_add_at): Renamed from gl_list_add_at.
21703         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
21704         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
21705         gl_list_create_empty.
21706         (gl_list_nx_create): Renamed from gl_list_create.
21707         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
21708         (gl_list_nx_set_at): Renamed from gl_list_set_at.
21709         (gl_list_nx_add_first): Renamed from gl_list_add_first.
21710         (gl_list_nx_add_last): Renamed from gl_list_add_last.
21711         (gl_list_nx_add_before): Renamed from gl_list_add_before.
21712         (gl_list_nx_add_after): Renamed from gl_list_add_after.
21713         (gl_list_nx_add_at): Renamed from gl_list_add_at.
21714         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
21715         * lib/gl_array_list.c: Don't include xalloc.h.
21716         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
21717         NULL upon out-of-memory.
21718         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
21719         out-of-memory.
21720         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
21721         Change return type to 'int'.
21722         (gl_array_nx_set_at): Renamed from gl_array_set_at.
21723         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
21724         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
21725         upon out-of-memory.
21726         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
21727         upon out-of-memory.
21728         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
21729         upon out-of-memory.
21730         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
21731         upon out-of-memory.
21732         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
21733         out-of-memory.
21734         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
21735         Update.
21736         (gl_array_list_implementation): Update.
21737         * lib/gl_carray_list.c: Don't include xalloc.h.
21738         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
21739         Return NULL upon out-of-memory.
21740         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
21741         out-of-memory.
21742         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
21743         Change return type to 'int'.
21744         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
21745         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
21746         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
21747         upon out-of-memory.
21748         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
21749         upon out-of-memory.
21750         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
21751         out-of-memory.
21752         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
21753         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
21754         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
21755         Update.
21756         (gl_carray_list_implementation): Update.
21757         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
21758         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
21759         gl_linked_create_empty. Return NULL upon out-of-memory.
21760         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
21761         out-of-memory.
21762         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
21763         Change return type to 'int'. Return -1 upon out-of-memory.
21764         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
21765         out-of-memory.
21766         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
21767         upon out-of-memory.
21768         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
21769         upon out-of-memory.
21770         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
21771         NULL upon out-of-memory.
21772         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
21773         upon out-of-memory.
21774         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
21775         out-of-memory.
21776         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
21777         Update.
21778         * lib/gl_linked_list.c: Don't include xalloc.h.
21779         (gl_linked_list_implementation): Update.
21780         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
21781         (add_to_bucket): Change return type to 'int'.
21782         (gl_linkedhash_list_implementation): Update.
21783         * lib/gl_anytree_list1.h (free_subtree): New function.
21784         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
21785         gl_tree_create_empty. Return NULL upon out-of-memory.
21786         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
21787         Change return type to 'int'. Return -1 upon out-of-memory.
21788         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
21789         out-of-memory.
21790         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
21791         (gl_tree_remove_node): New function, moved here from
21792         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
21793         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
21794         Update.
21795         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
21796         malloc, not xmalloc. Return NULL upon out-of-memory.
21797         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
21798         out-of-memory.
21799         (gl_tree_remove_node_from_tree): New function, extracted from
21800         gl_tree_remove_node.
21801         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
21802         upon out-of-memory.
21803         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
21804         out-of-memory.
21805         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
21806         upon out-of-memory.
21807         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
21808         upon out-of-memory.
21809         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
21810         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
21811         not xmalloc. Return NULL upon out-of-memory.
21812         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
21813         out-of-memory.
21814         (gl_tree_remove_node_from_tree): New function, extracted from
21815         gl_tree_remove_node.
21816         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
21817         upon out-of-memory.
21818         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
21819         out-of-memory.
21820         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
21821         upon out-of-memory.
21822         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
21823         upon out-of-memory.
21824         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
21825         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
21826         gl_anytree_list1.h before gl_anyavltree_list2.h.
21827         (gl_avltree_list_implementation): Update.
21828         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
21829         gl_anytree_list1.h before gl_anyavltree_list2.h.
21830         (gl_rbtree_list_implementation): Update.
21831         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
21832         Change return type to 'int'. Return -1 upon out-of-memory. Use
21833         __builtin_expect.
21834         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
21835         (gl_avltreehash_list_implementation): Update.
21836         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
21837         (gl_rbtreehash_list_implementation): Update.
21838         * modules/array-list (Depends-on): Remove xalloc.
21839         * modules/carray-list (Depends-on): Likewise.
21840         * modules/linked-list (Depends-on): Likewise.
21841         * modules/linkedhash-list (Depends-on): Likewise.
21842         * modules/avltree-list (Depends-on): Likewise.
21843         * modules/rbtree-list (Depends-on): Likewise.
21844         * modules/avltreehash-list (Depends-on): Likewise.
21845         * modules/rbtreehash-list (Depends-on): Likewise.
21846
21847         * modules/xsublist: New file.
21848         * lib/gl_xsublist.h: New file.
21849         * lib/gl_xsublist.c: New file.
21850         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
21851         (gl_sublist_nx_create): New declaration.
21852         * lib/gl_sublist.c: Don't include xalloc.h.
21853         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
21854         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
21855         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
21856         Change return type to 'int'. Return -1 upon out-of-memory.
21857         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
21858         upon out-of-memory.
21859         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
21860         NULL upon out-of-memory.
21861         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
21862         upon out-of-memory.
21863         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
21864         NULL upon out-of-memory.
21865         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
21866         NULL upon out-of-memory.
21867         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
21868         upon out-of-memory.
21869         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
21870         (gl_sublist_list_implementation): Update.
21871         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
21872         upon out-of-memory.
21873         * modules/sublist (Depends-on): Remove xalloc.
21874
21875         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
21876         * tests/test-carray_list.c: Likewise.
21877         * tests/test-linked_list.c: Likewise.
21878         * tests/test-linkedhash_list.c: Likewise.
21879         * tests/test-avltree_list.c: Likewise.
21880         * tests/test-rbtree_list.c: Likewise.
21881         * tests/test-avltreehash_list.c: Likewise.
21882         * tests/test-rbtreehash_list.c: Likewise.
21883         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
21884         * modules/carray-list-tests (Makefile.am): Likewise.
21885         * modules/linked-list-tests (Makefile.am): Likewise.
21886         * modules/linkedhash-list-tests (Makefile.am): Likewise.
21887         * modules/avltree-list-tests (Makefile.am): Likewise.
21888         * modules/rbtree-list-tests (Makefile.am): Likewise.
21889         * modules/avltreehash-list-tests (Makefile.am): Likewise.
21890         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
21891
21892         * NEWS: Mention the changes.
21893
21894         * lib/clean-temp.c: Include gl_xlist.h.
21895         * modules/clean-temp (Depends-on): Add xlist.
21896
21897         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
21898         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
21899
21900         * tests/test-array_oset.c: Include gl_xlist.h.
21901         * modules/array-oset-tests (Depends-on): Add xlist.
21902
21903         Reported by José E. Marchesi <jemarch@gnu.org>.
21904
21905 2009-12-13  Bruno Haible  <bruno@clisp.org>
21906
21907         Move the malloc checking from module 'oset' to new module 'xoset'.
21908         * modules/xoset: New file.
21909         * lib/gl_xoset.h: New file.
21910         * lib/gl_xoset.c: New file.
21911         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
21912         declarations.
21913         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
21914         (struct gl_oset_implementation): Rename and change methods accordingly.
21915         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
21916         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
21917         'int'. Mark as __warn_unused_result__.
21918         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
21919         gl_oset_create_empty.
21920         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
21921         'int'.
21922         * lib/gl_array_oset.c: Don't include xalloc.h.
21923         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
21924         malloc, not xmalloc.
21925         (grow): Change return type to 'int'. Don't call xalloc_die.
21926         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
21927         to 'int'.
21928         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
21929         'int'.
21930         (gl_array_oset_implementation): Update.
21931         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
21932         gl_tree_create_empty.
21933         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
21934         'int'.
21935         * lib/gl_avltree_oset.c: Don't include xalloc.h.
21936         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
21937         xmalloc.
21938         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
21939         not xmalloc.
21940         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
21941         xmalloc.
21942         (gl_avltree_oset_implementation): Update.
21943         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
21944         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
21945         xmalloc.
21946         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
21947         not xmalloc.
21948         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
21949         xmalloc.
21950         (gl_rbtree_oset_implementation): Update.
21951         * modules/array-oset (Depends-on): Remove xalloc.
21952         * modules/avltree-oset (Depends-on): Likewise.
21953         * modules/rbtree-oset (Depends-on): Likewise.
21954         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
21955         * tests/test-avltree_oset.c: Likewise.
21956         * tests/test-rbtree_oset.c: Likewise.
21957         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
21958         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
21959         * modules/rbtree-oset-tests (Makefile.am): Likewise.
21960         * NEWS: Mention the change.
21961
21962 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
21963
21964         maint.mk: allow a project to override release-prep commands
21965         * top/maint.mk (alpha, beta, stable): Move release-preparatory
21966         commands into a new rule.
21967         (release-prep): New rule.
21968         (release-prep-hook): New overridable variable.
21969
21970 2009-12-13  Bruno Haible  <bruno@clisp.org>
21971
21972         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
21973
21974 2009-12-13  Jim Meyering  <meyering@redhat.com>
21975
21976         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
21977         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
21978
21979 2009-12-12  Bruno Haible  <bruno@clisp.org>
21980
21981         duplocale: Tweak.
21982         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
21983
21984 2009-12-12  Karl Berry  <karl@gnu.org>
21985
21986         * config/srclist.txt (strtoll.c): tab changes, no more sync.
21987
21988 2009-12-12  Bruno Haible  <bruno@clisp.org>
21989
21990         * m4/po.m4: Undo incorrect untabification.
21991
21992 2009-12-12  Bruno Haible  <bruno@clisp.org>
21993
21994         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
21995         * modules/c-strtod (Depends-on): Add locale.
21996         * modules/c-strtold (Depends-on): Likewise.
21997
21998 2009-12-12  Bruno Haible  <bruno@clisp.org>
21999
22000         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
22001
22002 2009-12-11  Eric Blake  <ebb9@byu.net>
22003
22004         setenv: relax requirement in light of POSIX ruling
22005         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
22006         not NULL.
22007         * tests/test-setenv.c (main): Relax test.
22008         * tests/test-unsetenv.c (main): Likewise.
22009         * doc/posix-functions/setenv.texi (setenv): Document this.
22010         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
22011
22012 2009-12-11  Bruno Haible  <bruno@clisp.org>
22013
22014         New module 'fd-safer-flag'.
22015         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
22016         * lib/dup-safer.c (dup_safer_flag): Remove function.
22017         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
22018         * lib/fd-safer.c (fd_safer_flag): Remove function.
22019         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
22020         * modules/cloexec (configure.ac): Drop indicator macro.
22021         * modules/fd-safer-flag: New file.
22022         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
22023         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
22024         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
22025
22026 2009-12-11  Bruno Haible  <bruno@clisp.org>
22027
22028         Tests for module 'nl_langinfo'.
22029         * modules/nl_langinfo-tests: New file.
22030         * tests/test-nl_langinfo.sh: New file.
22031         * tests/test-nl_langinfo.c: New file.
22032
22033         New module 'nl_langinfo'.
22034         * lib/nl_langinfo.c: New file.
22035         * m4/nl_langinfo.m4: New file.
22036         * modules/nl_langinfo: New file.
22037         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
22038
22039 2009-12-11  Bruno Haible  <bruno@clisp.org>
22040
22041         Tests for module 'langinfo'.
22042         * modules/langinfo-tests: New file.
22043         * tests/test-langinfo.c: New file.
22044
22045         New module 'langinfo'.
22046         * lib/langinfo.in.h: New file.
22047         * m4/langinfo_h.m4: New file.
22048         * modules/langinfo: New file.
22049         * doc/posix-headers/langinfo.texi: Mention the new module.
22050
22051 2009-12-11  Bruno Haible  <bruno@clisp.org>
22052
22053         * lib/config.charset: Untabify.
22054
22055 2009-12-11  Bruno Haible  <bruno@clisp.org>
22056
22057         * modules/unistd-safer (configure.ac): Drop indicator macro.
22058
22059 2009-12-11  Bruno Haible  <bruno@clisp.org>
22060
22061         Move pipe2-safer code to its own file.
22062         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
22063         * lib/pipe-safer.c (pipe2_safer): Remove function.
22064         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
22065         (Makefile.am): Add it to lib_SOURCES.
22066
22067 2009-12-10  Bruno Haible  <bruno@clisp.org>
22068
22069         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
22070
22071 2009-12-10  Bruno Haible  <bruno@clisp.org>
22072
22073         Declare which arguments expect non-NULL values, for GCC and clang.
22074         * build-aux/arg-nonnull.h: New file.
22075         * modules/arg-nonnull: New file.
22076         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
22077         (inet_ntop, inet_pton): Use it.
22078         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
22079         (closedir, dirfd, opendir, scandir, alphasort): Use it.
22080         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
22081         (open, openat): Use it.
22082         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
22083         (fnmatch): Use it.
22084         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
22085         (getopt, getopt_long, getopt_long_only): Use it.
22086         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
22087         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
22088         Use it.
22089         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
22090         (iconv_open): Use it.
22091         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
22092         (strtoimax, strtoumax): Use it.
22093         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
22094         (duplocale): Use it.
22095         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
22096         (frexp, frexpl): Use it.
22097         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
22098         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
22099         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
22100         (tsearch, tfind, tdelete, twalk): Use it.
22101         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
22102         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
22103         sigpending): Use it.
22104         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
22105         (posix_spawn, posix_spawnp, posix_spawnattr_init,
22106         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
22107         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
22108         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
22109         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
22110         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
22111         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
22112         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
22113         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
22114         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
22115         Use it.
22116         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
22117         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
22118         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
22119         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
22120         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
22121         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
22122         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
22123         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
22124         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
22125         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
22126         strtoull, unsetenv): Use it.
22127         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
22128         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
22129         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
22130         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
22131         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
22132         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
22133         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
22134         (strcasecmp, strncasecmp): Use it.
22135         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
22136         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
22137         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
22138         rpl_setsockopt): Use it.
22139         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
22140         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
22141         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
22142         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
22143         (gettimeofday): Use it.
22144         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
22145         (times): Use it.
22146         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
22147         (uname): Use it.
22148         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
22149         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
22150         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
22151         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
22152         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
22153         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
22154         unlinkat, write): Use it.
22155         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
22156         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
22157         * lib/argv-iter.h: Include arg-nonnull.h.
22158         (_ATTRIBUTE_NONNULL_): Remove macro.
22159         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
22160         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
22161         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
22162         optimization.
22163         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
22164         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
22165         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
22166         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
22167         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
22168         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
22169         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
22170         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
22171         * modules/arpa_inet (Depends-on): Add arg-nonnull.
22172         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
22173         * modules/dirent (Depends-on): Add arg-nonnull.
22174         (Makefile.am): Insert arg-nonnull.h into dirent.h.
22175         * modules/fcntl-h (Depends-on): Add arg-nonnull.
22176         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
22177         * modules/fnmatch (Depends-on): Add arg-nonnull.
22178         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
22179         * modules/getopt-posix (Depends-on): Add arg-nonnull.
22180         (Makefile.am): Insert arg-nonnull.h into getopt.h.
22181         * modules/glob (Depends-on): Add arg-nonnull.
22182         (Makefile.am): Insert arg-nonnull.h into glob.h.
22183         * modules/iconv_open (Depends-on): Add arg-nonnull.
22184         (Makefile.am): Insert arg-nonnull.h into iconv.h.
22185         * modules/inttypes (Depends-on): Add arg-nonnull.
22186         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
22187         * modules/locale (Depends-on): Add arg-nonnull.
22188         (Makefile.am): Insert arg-nonnull.h into locale.h.
22189         * modules/math (Depends-on): Add arg-nonnull.
22190         (Makefile.am): Insert arg-nonnull.h into math.h.
22191         * modules/netdb (Depends-on): Add arg-nonnull.
22192         (Makefile.am): Insert arg-nonnull.h into netdb.h.
22193         * modules/search (Depends-on): Add arg-nonnull.
22194         (Makefile.am): Insert arg-nonnull.h into search.h.
22195         * modules/signal (Depends-on): Add arg-nonnull.
22196         (Makefile.am): Insert arg-nonnull.h into signal.h.
22197         * modules/spawn (Depends-on): Add arg-nonnull.
22198         (Makefile.am): Insert arg-nonnull.h into spawn.h.
22199         * modules/stdio (Depends-on): Add arg-nonnull.
22200         (Makefile.am): Insert arg-nonnull.h into stdio.h.
22201         * modules/stdlib (Depends-on): Add arg-nonnull.
22202         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
22203         * modules/string (Depends-on): Add arg-nonnull.
22204         (Makefile.am): Insert arg-nonnull.h into string.h.
22205         * modules/strings (Depends-on): Add arg-nonnull.
22206         (Makefile.am): Insert arg-nonnull.h into strings.h.
22207         * modules/sys_socket (Depends-on): Add arg-nonnull.
22208         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
22209         * modules/sys_stat (Depends-on): Add arg-nonnull.
22210         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
22211         * modules/sys_time (Depends-on): Add arg-nonnull.
22212         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
22213         * modules/sys_times (Depends-on): Add arg-nonnull.
22214         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
22215         * modules/sys_utsname (Depends-on): Add arg-nonnull.
22216         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
22217         * modules/time (Depends-on): Add arg-nonnull.
22218         (Makefile.am): Insert arg-nonnull.h into time.h.
22219         * modules/unistd (Depends-on): Add arg-nonnull.
22220         (Makefile.am): Insert arg-nonnull.h into unistd.h.
22221         * modules/wchar (Depends-on): Add arg-nonnull.
22222         (Makefile.am): Insert arg-nonnull.h into wchar.h.
22223         * modules/argv-iter (Depends-on): Add arg-nonnull.
22224         * tests/test-canonicalize.c (null_ptr): New function.
22225         (main): Use it.
22226         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
22227         (main): Use it.
22228         * tests/test-memmem.c (null_ptr): New function.
22229         (main): Use it.
22230         Reported by Jim Meyering.
22231
22232 2009-12-10  Bruno Haible  <bruno@clisp.org>
22233
22234         Use spaces for indentation, not tabs.
22235         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
22236         * m4/*.m4: Untabify.
22237         * build-aux/*.h: Untabify.
22238         * tests/**/*.[hc]: Untabify.
22239         * README: New section "Indent with spaces, not TABs", based on
22240         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
22241         * NEWS: Mention the change.
22242
22243 2009-12-10  Bruno Haible  <bruno@clisp.org>
22244
22245         pty test: Fix link error.
22246         * modules/pty-tests (Makefile.am): Add the default LDADD value to
22247         test_pty_LDADD.
22248
22249 2009-12-07  Simon Josefsson  <simon@josefsson.org>
22250
22251         * modules/pty: New file.
22252         * modules/pty-tests: New file.
22253         * m4/pty.m4: New file.
22254         * tests/test-pty.c: New file.
22255         * doc/glibc-headers/pty.texi: Modified.
22256         * doc/glibc-functions/forkpty.texi: Modified.
22257         * doc/glibc-functions/openpty.texi: Modified.
22258
22259 2009-12-10  Bruno Haible  <bruno@clisp.org>
22260
22261         Avoid syntax error in C++ mode.
22262         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
22263
22264 2009-12-10  Bruno Haible  <bruno@clisp.org>
22265
22266         Use sed with option -e.
22267         * gnulib-tool (func_version, func_emit_copyright_notice,
22268         func_emit_initmacro_end, func_import, func_create_testdir): Pass
22269         option -e to sed.
22270         * modules/link-warning (Makefile.am): Likewise.
22271
22272 2009-12-10  Jim Meyering  <meyering@redhat.com>
22273
22274         mgetgroups: do not write bytes beyond end of malloc'd buffer
22275         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
22276         username, we call getgroups with a one-element-shorter buffer,
22277         but still told it the length was original, max_n_groups.
22278
22279 2009-12-09  Eric Blake  <ebb9@byu.net>
22280
22281         cloexec: relax license
22282         * modules/cloexec (Maintainer): Add myself.
22283         (License): Use LGPL, not GPL.
22284
22285         link-warning: optimize generation
22286         * modules/link-warning (Makefile.am): Reduce process usage.
22287
22288 2009-12-09  Bruno Haible  <bruno@clisp.org>
22289
22290         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
22291         workaround was added on 2009-11-17.
22292
22293 2009-12-09  Jim Meyering  <meyering@redhat.com>
22294             Bruno Haible  <bruno@clisp.org>
22295
22296         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
22297         * modules/link-warning (Makefile.am): Make the comment-removing sed
22298         command more robust in the face of bootstrap-prepended comment lines.
22299
22300 2009-12-09  Bruno Haible  <bruno@clisp.org>
22301
22302         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
22303         most one group.
22304
22305 2009-12-09  Simon Josefsson <simon@josefsson.org>
22306             Bruno Haible  <bruno@clisp.org>
22307
22308         * build-aux/link-warning.h: Add copyright notice.
22309         * modules/link-warning (Makefile.am): Generate link-warning.h from
22310         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
22311         * NEWS: Mention change in link-warning module.
22312         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
22313         * modules/dirent (Makefile.am): Add dependency to dirent.h.
22314         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
22315         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
22316         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
22317         * modules/math (Makefile.am): Add dependency to math.h.
22318         * modules/search (Makefile.am): Add dependency to search.h.
22319         * modules/signal (Makefile.am): Add dependency to signal.h.
22320         * modules/spawn (Makefile.am): Add dependency to spawn.h.
22321         * modules/stdio (Makefile.am): Add dependency to stdio.h.
22322         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
22323         * modules/string (Makefile.am): Add dependency to string.h.
22324         * modules/strings (Makefile.am): Add dependency to strings.h.
22325         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
22326         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
22327         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
22328         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
22329         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
22330         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
22331         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
22332         * modules/unistd (Makefile.am): Add dependency to unistd.h.
22333         * modules/wchar (Makefile.am): Add dependency to wchar.h.
22334
22335 2009-12-09  Bruno Haible  <bruno@clisp.org>
22336
22337         fchdir: Optimize away rpl_fstat when possible.
22338         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
22339         REPLACE_OPEN_DIRECTORY.
22340         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
22341
22342 2009-12-09  Bruno Haible  <bruno@clisp.org>
22343
22344         * lib/fchdir.c: Update comment.
22345
22346 2009-12-09  Bruno Haible  <bruno@clisp.org>
22347
22348         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
22349
22350 2009-12-08  Eric Blake  <ebb9@byu.net>
22351
22352         fchdir: avoid memory leak on re-registration.
22353         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
22354
22355 2009-12-08  Jim Meyering  <meyering@redhat.com>
22356
22357         init.sh: avoid Solaris 10 /bin/sh portability problem
22358         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
22359         sourced script:
22360           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
22361           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
22362           bar
22363         tests/init.sh relied on that, accepting a --set-path=DIR argument,
22364         and two tests used that idiom.
22365         * tests/init.sh: Update suggested usage comments.
22366         (path_prepend_): New function, to be used in place
22367         of the --src-path=DIR option.
22368         (setup_): Move PATH-prepending code into path_prepend_.
22369         * tests/test-pread.sh: Adapt to new usage.
22370         * tests/test-xalloc-die.sh: Likewise.
22371
22372 2009-12-08  Simon Josefsson  <simon@josefsson.org>
22373
22374         * doc/gnulib.texi (Glibc pty.h): Add.
22375         * doc/glibc-functions/forkpty.texi: Add.
22376         * doc/glibc-functions/openpty.texi: Add.
22377         Suggested by Bruno Haible.
22378
22379 2009-12-08  Eric Blake  <ebb9@byu.net>
22380
22381         fchdir: fix logic bugs
22382         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
22383         * tests/test-fchdir.c (main): Enhance test.
22384         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
22385         is in use.
22386
22387         dup2: fix logic bugs
22388         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
22389         REPLACE_DUP2 to decide when rpl_dup2 is needed.
22390         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
22391         exists.
22392         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
22393
22394 2009-12-07  Eric Blake  <ebb9@byu.net>
22395
22396         unlink: fix m4 detection
22397         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
22398
22399         unistd-safer: add unit test
22400         * modules/unistd-safer-tests: New file.
22401         * tests/test-dup-safer.c: Likewise.
22402         * tests/test-cloexec.c (setmode): Avoid compiler warning.
22403         * tests/test-dup2.c (setmode): Likewise.
22404         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
22405
22406         cloexec: preserve text vs. binary across dup_cloexec
22407         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
22408         mode.
22409         * modules/dup2-tests (Depends-on): Add binary-io.
22410         * modules/cloexec-tests (Depends-on): Likewise.
22411         * tests/test-dup2.c (setmode, is_mode): New helpers.
22412         (main): Add tests that translation mode is preserved.
22413         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
22414         Reported by Bruno Haible.
22415
22416         mgetgroups: reduce duplicate listings
22417         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
22418         resulting array.
22419         * tests/test-chown.h (test_chown): Simplify client.
22420         * tests/test-lchown.h (test_lchown): Likewise.
22421
22422 2009-12-06  Bruno Haible  <bruno@clisp.org>
22423
22424         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
22425         value.
22426
22427 2009-12-06  Bruno Haible  <bruno@clisp.org>
22428
22429         * lib/progname.c: Include stdio.h, stdlib.h.
22430         (set_program_name): Reject a NULL argument.
22431
22432 2009-12-05  Eric Blake  <ebb9@byu.net>
22433
22434         pipe2-safer: new module
22435         * modules/pipe2-safer: New file.
22436         * lib/unistd-safer.h (pipe2_safer): New prototype.
22437         * lib/unistd--.h (pipe2): New wrapper.
22438         * lib/pipe-safer.c (pipe2_safer): New function.
22439         * modules/pipe (Depends-on): Add pipe2-safer.
22440         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
22441
22442         stdlib-safer: preserve cloexec flag for mkostemp[s]
22443         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
22444         fd_safer_flag.
22445
22446         unistd-safer: allow preservation of cloexec status via flag
22447         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
22448         prototypes.
22449         * lib/dup-safer.c (dup_safer_flag): New function.
22450         * lib/fd-safer.c (fd_safer_flag): Likewise.
22451         * modules/cloexec (configure.ac): Set witness.
22452
22453         test-dup2: enhance test
22454         * modules/dup2-tests (Depends-on): Add cloexec.
22455         * tests/test-dup2.c (main): Enhance test.
22456
22457         cloexec: add dup_cloexec
22458         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
22459         header and comments.
22460         * lib/cloexec.c (set_cloexec_flag): Add comments.
22461         (dup_cloexec): New function, with mingw implementation borrowed
22462         from...
22463         * lib/w32spawn.h (dup_noinherit): ...here.
22464         * modules/execute (Depends-on): Add cloexec.
22465         * modules/pipe (Depends-on): Likewise.
22466         * modules/cloexec (Depends-on): Add dup2.
22467         * modules/cloexec-tests (Files): New file.
22468         * tests/test-cloexec.c: Likewise.
22469
22470         test-xalloc-die: fix test for mingw
22471         * modules/xalloc-die-tests (Files): Add tests/init.sh.
22472         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
22473         directory and .exe suffix off argv[0] output.
22474
22475         test-fseeko: fix test for mingw
22476         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
22477         than undefining fseek, so test will pass on mingw.
22478
22479 2009-12-05  Bruno Haible  <bruno@clisp.org>
22480
22481         * lib/progname.h (set_program_name): Clarify specification.
22482         * lib/progname.c (set_program_name): Likewise.
22483         Reported by Jim Meyering.
22484
22485 2009-12-05  Jim Meyering  <meyering@redhat.com>
22486
22487         maint.mk: backslash-escape parens in default regexp
22488         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
22489         backslash-escape the literal parentheses.
22490
22491         maint.mk: news-date-check: use grep -E
22492         * top/maint.mk (today): Define a Make variable, not a...
22493         (news-date-check): ...shell variable.
22494         (news-date-regexp): Use the Make variable.
22495         Use grep's -E option.  Change the failing diagnostic to mention
22496         the variable, $(news-date-regexp).
22497
22498 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
22499
22500         maintainer-makefile: allow customization of NEWS entry format
22501         * top/maint.mk (news-date-regexp): New overridable variable.
22502         (news-date-check): Use it.
22503
22504 2009-12-04  Eric Blake  <ebb9@byu.net>
22505
22506         mgetgroups: add xgetgroups, and avoid ENOSYS failures
22507         * lib/mgetgroups.h (xgetgroups): New prototype.
22508         * lib/mgetgroups.c (xgetgroups): New wrapper.
22509         (mgetgroups): Handle ENOSYS.
22510         * modules/mgetgroups (Depends-on): Add realloc.
22511         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
22512
22513         mgetgroups: avoid argument promotion issues with -1
22514         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
22515         for invalid gid_t.
22516         * tests/test-chown.h (getegid, test_chown): Likewise.
22517         * tests/test-lchown.h (getegid, test_lchown): Likewise.
22518
22519 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
22520
22521         exclude: Fix header file problems.
22522         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
22523
22524 2009-12-01  Jim Meyering  <meyering@redhat.com>
22525
22526         fts: fts_open: do not let an empty string cause immediate failure
22527         This is required in support of GNU rm, for which the command
22528         "rm A '' B" must process and remove both A and B, in spite of
22529         the empty string argument.
22530         * lib/fts.c (fts_open): Do not let the presence of an empty string
22531         cause fts_open to fail immediately.  Most fts-using tools must be
22532         able to process all arguments, in order, and can be expected to
22533         diagnose such arguments themselves.
22534
22535 2009-11-30  Eric Blake  <ebb9@byu.net>
22536
22537         utimens: fix compilation error
22538         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
22539         Declare variable at right scope.
22540
22541 2009-11-29  Jim Meyering  <meyering@redhat.com>
22542
22543         bootstrap: handle perl-5.11's changed --version output
22544         * build-aux/bootstrap (get_version): Handle perl separately,
22545         since perl-5.11's --version output is different.
22546
22547 2009-11-28  Jim Meyering  <meyering@redhat.com>
22548
22549         userspec: depend on the inttostr module, too
22550         * modules/userspec (Depends-on): Add inttostr.
22551
22552         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
22553         * lib/userspec.c (parse_with_separator): Do not accept a user ID
22554         number of MAXUID when it evaluates to (uid_t) -1.
22555         Likewise for group ID.  Reported by Matt McCutchen in
22556         <http://savannah.gnu.org/bugs/?28113>
22557
22558         userspec: reformat to use spaces, not TABs
22559         * lib/userspec.c: Expand TABs to spaces.
22560         Add Emacs' "indent-tabs-mode: nil" hint.
22561
22562 2009-11-27  Eric Blake  <ebb9@byu.net>
22563
22564         getopt-gnu: flush out another BSD bug
22565         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
22566         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
22567         flush out BSD bug.
22568         * tests/test-getopt.h (test_getopt): End lists with NULL.
22569         * tests/test-getopt_long.h (test_getopt_long): Likewise.
22570         (test_getopt_long_posix): Enhance test.
22571         * modules/getopt-posix-tests (Depends-on): Add stdbool.
22572         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
22573         getopt-gnu.
22574         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
22575         Likewise.
22576
22577 2009-11-27  Simon Josefsson  <simon@josefsson.org>
22578
22579         * modules/idpriv-droptemp-tests (Notice): Fix text.
22580
22581 2009-11-27  Jim Meyering  <meyering@redhat.com>
22582
22583         test-xalloc-die: avoid spurious failure due to libtool argv difference
22584         In a libtool-enabled project, this test would fail due to a difference
22585         in the emitted program name, e.g.,
22586         -test-xalloc-die: memory exhausted
22587         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
22588         Use program to avoid that.
22589         * modules/xalloc-die-tests (Depends-on): Add progname.
22590         * tests/test-xalloc-die.c: Include progname.h".
22591         (program_name): Remove decl.
22592         (main): Call set_program_name.
22593         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
22594
22595 2009-11-26  Richard Jones  <rjones@redhat.com>
22596
22597         w32sock: leave win32 error in place.
22598         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
22599
22600 2009-11-26  Eric Blake  <ebb9@byu.net>
22601
22602         init.sh: suggest to use skip_ and fail_ functions in comments
22603         * tests/init.sh: Add a sentence.
22604
22605 2009-11-25  Bruno Haible  <bruno@clisp.org>
22606
22607         init.sh: add documentation in comments
22608         * tests/init.sh: Add some developer and user documentation.
22609
22610 2009-11-26  Jim Meyering  <meyering@redhat.com>
22611
22612         init.sh: accommodate even those who specify bogus srcdir manually
22613         * tests/init.sh: Normally, srcdir is guaranteed by automake and
22614         configure-time tests to be sanitized, so that there is no need to
22615         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
22616         (with no double quotes) suffices.  However, since tests may be
22617         invoked manually, and since you may explicitly set srcdir to the
22618         name of a directory containing spaces, do quote its uses here.
22619         * tests/test-pread.sh: Likewise.
22620         Suggested by Bruno Haible.
22621
22622         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
22623         * tests/test-pread.sh: Write no data into the pipe, because
22624         test-pread actually reads none.  This avoids a diagnostic,
22625         "bash: echo: write error: Broken pipe", that arises in the unusual
22626         event something is ignoring SIGPIPE, and might be interpreted
22627         as some sort of failure.  Reported by Bruno Haible.
22628
22629 2009-11-25  Jim Meyering  <meyering@redhat.com>
22630
22631         test-pread: cover failure with ESPIPE and EINVAL
22632         * tests/test-pread.c (main): Test for failure, too.
22633         * tests/test-pread.sh: Invoke with stdin on a pipe.
22634         Suggested by Eric Blake.
22635
22636         pread: improvement and fix
22637         * modules/pread (Depends-on): Depend on lseek, for portability to
22638         e.g., mingw.  Suggested by Eric Blake.
22639         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
22640
22641         unistd.in.h: correct declaration of pread
22642         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
22643         Reported by Richard W.M. Jones.
22644
22645         test-pread.sh: distribute the test script
22646         * modules/pread-tests (Files): Include test-pread.sh.
22647
22648         test-pread.sh: clean up
22649         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
22650         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
22651         That is unnecessary, since it's always ".".
22652         Suggestion from Eric Blake.
22653
22654         test-pread.sh: make executable
22655         * tests/test-pread.sh: Set executable bit.
22656         Reported by Eric Blake.
22657
22658         correct typo in test-pread.sh
22659         * tests/test-pread.sh: Add #! line.
22660
22661         test pread
22662         * tests/test-pread.c: New file.
22663         * tests/test-pread.sh: Likewise.
22664         * modules/pread-tests: Likewise.
22665
22666         pread: new module
22667         * modules/pread: New file.
22668         * lib/unistd.in.h (pread): Define/declare.
22669         * lib/pread.c (pread): New file.
22670         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
22671         * modules/unistd (Makefile.am): Substitute witnesses.
22672         * doc/posix-functions/pread.texi (pread): Update.
22673         * MODULES.html.sh: Add pread.
22674
22675 2009-11-25  Jim Meyering  <meyering@redhat.com>
22676
22677         tests/init.sh: new file to be used via most *.sh tests
22678         * tests/init.sh: New file.
22679
22680 2009-11-25  Eric Blake  <ebb9@byu.net>
22681
22682         utimens: work around older Linux failure with symlinks
22683         * lib/utimens.c (lutimensat_works_really): New variable.
22684         (fdutimens, lutimens): Use it to manage kernels that support
22685         nanosecond times on files, but not on symlinks.
22686         Reported by OndÅ™ej Vašík.
22687
22688         utimes: fix configure grammar
22689         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
22690
22691 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
22692
22693         regex: Fix fastmap for multibyte character ranges.
22694         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
22695         characters when a multibyte character range is included.
22696
22697 2009-11-22  Andy Wingo  <wingo@pobox.com>
22698
22699         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
22700         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
22701
22702 2009-11-24  Bruno Haible  <bruno@clisp.org>
22703
22704         doc: Most *_l functions exist in MacOS X 10.5.
22705         * doc/posix-functions/duplocale.texi: Update platforms list.
22706         * doc/posix-functions/freelocale.texi: Likewise.
22707         * doc/posix-functions/newlocale.texi: Likewise.
22708         * doc/posix-functions/uselocale.texi: Likewise.
22709         * doc/posix-functions/isalnum_l.texi: Likewise.
22710         * doc/posix-functions/isalpha_l.texi: Likewise.
22711         * doc/posix-functions/isblank_l.texi: Likewise.
22712         * doc/posix-functions/iscntrl_l.texi: Likewise.
22713         * doc/posix-functions/isdigit_l.texi: Likewise.
22714         * doc/posix-functions/isgraph_l.texi: Likewise.
22715         * doc/posix-functions/islower_l.texi: Likewise.
22716         * doc/posix-functions/isprint_l.texi: Likewise.
22717         * doc/posix-functions/ispunct_l.texi: Likewise.
22718         * doc/posix-functions/isspace_l.texi: Likewise.
22719         * doc/posix-functions/isupper_l.texi: Likewise.
22720         * doc/posix-functions/iswalnum_l.texi: Likewise.
22721         * doc/posix-functions/iswalpha_l.texi: Likewise.
22722         * doc/posix-functions/iswblank_l.texi: Likewise.
22723         * doc/posix-functions/iswcntrl_l.texi: Likewise.
22724         * doc/posix-functions/iswctype_l.texi: Likewise.
22725         * doc/posix-functions/iswdigit_l.texi: Likewise.
22726         * doc/posix-functions/iswgraph_l.texi: Likewise.
22727         * doc/posix-functions/iswlower_l.texi: Likewise.
22728         * doc/posix-functions/iswprint_l.texi: Likewise.
22729         * doc/posix-functions/iswpunct_l.texi: Likewise.
22730         * doc/posix-functions/iswspace_l.texi: Likewise.
22731         * doc/posix-functions/iswupper_l.texi: Likewise.
22732         * doc/posix-functions/iswxdigit_l.texi: Likewise.
22733         * doc/posix-functions/isxdigit_l.texi: Likewise.
22734         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
22735         * doc/posix-functions/strcasecmp_l.texi: Likewise.
22736         * doc/posix-functions/strcoll_l.texi: Likewise.
22737         * doc/posix-functions/strfmon_l.texi: Likewise.
22738         * doc/posix-functions/strftime_l.texi: Likewise.
22739         * doc/posix-functions/strncasecmp_l.texi: Likewise.
22740         * doc/posix-functions/strxfrm_l.texi: Likewise.
22741         * doc/posix-functions/tolower_l.texi: Likewise.
22742         * doc/posix-functions/toupper_l.texi: Likewise.
22743         * doc/posix-functions/towctrans_l.texi: Likewise.
22744         * doc/posix-functions/towlower_l.texi: Likewise.
22745         * doc/posix-functions/towupper_l.texi: Likewise.
22746         * doc/posix-functions/wcscoll_l.texi: Likewise.
22747         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
22748         * doc/posix-functions/wctrans_l.texi: Likewise.
22749         * doc/posix-functions/wctype_l.texi: Likewise.
22750         * doc/glibc-functions/strptime_l.texi: Likewise.
22751         * doc/glibc-functions/strtod_l.texi: Likewise.
22752         * doc/glibc-functions/strtof_l.texi: Likewise.
22753         * doc/glibc-functions/strtol_l.texi: Likewise.
22754         * doc/glibc-functions/strtold_l.texi: Likewise.
22755         * doc/glibc-functions/strtoll_l.texi: Likewise.
22756         * doc/glibc-functions/strtoul_l.texi: Likewise.
22757         * doc/glibc-functions/strtoull_l.texi: Likewise.
22758         * doc/glibc-functions/wcsftime_l.texi: Likewise.
22759         * doc/glibc-functions/wcstod_l.texi: Likewise.
22760         * doc/glibc-functions/wcstof_l.texi: Likewise.
22761         * doc/glibc-functions/wcstol_l.texi: Likewise.
22762         * doc/glibc-functions/wcstold_l.texi: Likewise.
22763         * doc/glibc-functions/wcstoll_l.texi: Likewise.
22764         * doc/glibc-functions/wcstoul_l.texi: Likewise.
22765         * doc/glibc-functions/wcstoull_l.texi: Likewise.
22766
22767 2009-11-24  Bruno Haible  <bruno@clisp.org>
22768
22769         duplocale: Fix logic bug.
22770         * lib/duplocale.c: Don't include <langinfo.h>.
22771         (_NL_LOCALE_NAME): Remove macro.
22772         (rpl_duplocale): Use setlocale instead of nl_langinfo.
22773         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
22774
22775 2009-11-23  Jim Meyering  <meyering@redhat.com>
22776
22777         test-update-copyright: don't hard-code /usr/bin/perl
22778         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
22779         perl to print the current year.  Gilles Espinasse reported that
22780         the replaced use of perl was hard-coded as /usr/bin/perl.
22781
22782 2009-11-23  Bruno Haible  <bruno@clisp.org>
22783
22784         duplocale: Add support for glibc 2.3.x.
22785         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
22786
22787 2009-11-22  Bruno Haible  <bruno@clisp.org>
22788
22789         vasnprintf: Tiny optimization.
22790         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
22791         MacOS X.
22792
22793 2009-11-22  Bruno Haible  <bruno@clisp.org>
22794
22795         Tests for module 'duplocale'.
22796         * modules/duplocale-tests: New file.
22797         * tests/test-duplocale.c: New file.
22798
22799         New module 'duplocale'.
22800         * m4/duplocale.m4: New file.
22801         * lib/locale.in.h (duplocale): New declaration.
22802         * lib/duplocale.c: New file.
22803         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
22804         gl_LOCALE_H_DEFAULTS): New macros.
22805         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
22806         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
22807         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
22808         REPLACE_DUPLOCALE.
22809         * modules/duplocale: New file.
22810         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
22811
22812 2009-11-22  Bruno Haible  <bruno@clisp.org>
22813
22814         * modules/locale-tests (configure.ac): Test for newlocale function.
22815         * tests/test-locale.c: When the system has extended locale functions,
22816         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
22817
22818         locale: Make locale_t available when possible.
22819         * lib/locale.in.h: Include <xlocale.h> when it exists.
22820         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
22821         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
22822         * modules/locale (Depends-on): Add extensions.
22823         (Makefile.am): Also substitute HAVE_XLOCALE_H.
22824         * doc/posix-headers/locale.texi: Document the problem with locale_t.
22825
22826 2009-11-22  Bruno Haible  <bruno@clisp.org>
22827
22828         Add comments.
22829         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
22830         invocation.
22831         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
22832         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
22833         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
22834
22835 2009-11-22  Bruno Haible  <bruno@clisp.org>
22836
22837         error: account for the possibility of freopen (stdout).
22838         * lib/error.c: Include <unistd.h>.
22839         (flush_stdout): New function, extracted from error and error_at_line.
22840         Determine stdout's fd dynamically.
22841         (error, error_at_line): Invoke flush_stdout.
22842         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
22843         * modules/error (Depends-on): Add unistd.
22844
22845 2009-11-22  Bruno Haible  <bruno@clisp.org>
22846
22847         diffseq: Add comment.
22848         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
22849
22850 2009-11-22  Jim Meyering  <meyering@redhat.com>
22851
22852         c-stack: avoid defining an unused static function
22853         * lib/c-stack.c (find_stack_direction): Do not define this function
22854         when it will not be used.
22855
22856         diffseq: avoid spurious gcc warnings
22857         * lib/diffseq.h (IF_LINT2): Define.
22858         (compareseq): Use it to initialize two members of "part".
22859         This avoids two used-uninitialized warnings.
22860
22861 2009-11-21  Jim Meyering  <meyering@redhat.com>
22862
22863         c-stack: avoid "ignoring return value of `write'" warning
22864         * lib/c-stack.c: Include "ignore-value.h".
22865         (die): Explicitly ignore each write return value.
22866         * modules/c-stack (Depends-on): Add ignore-value.
22867
22868 2009-11-21  Bruno Haible  <bruno@clisp.org>
22869
22870         diffseq: reduce scope of variable 'best'.
22871         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
22872         variable, earlier used for two different purposes.
22873
22874 2009-11-21  Jim Meyering  <meyering@redhat.com>
22875
22876         diffseq: remove useless assignment to "best"
22877         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
22878         assignment.  At that point "best" is already guaranteed to be zero.
22879
22880 2009-11-20  Eric Blake  <ebb9@byu.net>
22881
22882         build: mention ftp redirector in release announcements
22883         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
22884         values that used to come from cfg.mk; mention FTP redirect URL.
22885         * build-aux/announce-gen: Mention the mirror list.
22886         Suggested by Karl Berry.
22887
22888         nanosleep: improve port to mingw
22889         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
22890         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
22891         LIB_NANOSLEEP, but only when needed.
22892         * modules/select (Link): Document LIBSOCKET.
22893         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
22894         enough.
22895
22896         nanosleep: work around cygwin bug
22897         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
22898         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
22899         bug.
22900         (getnow): Delete, not needed.
22901         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
22902         LIB_CLOCK_GETTIME.
22903         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
22904         clock-time, gettime.
22905         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
22906         bug.
22907         * modules/nanosleep-tests: New test.
22908         * tests/test-nanosleep.c: New file.
22909
22910         sleep: work around cygwin bug
22911         * lib/sleep.c (rpl_sleep): Work around the bug.
22912         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
22913         (gl_PREREQ_SLEEP): Delete unused macro.
22914         * modules/sleep (Depends-on): Add verify.
22915         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
22916         * modules/unistd (Makefile.am): Substitute witness.
22917         * lib/unistd.in.h (sleep): Update prototype.
22918         * doc/posix-functions/sleep.texi (sleep): Document the bug.
22919         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
22920         * modules/sleep-tests (Depends-on): Check for alarm.
22921
22922 2009-11-20  Jim Meyering  <meyering@redhat.com>
22923
22924         maint.mk: improve sc_prohibit_magic_number_exit
22925         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
22926         so it does not match uses like System.exit(1).
22927         Add comments showing how to correct all offenders.
22928
22929 2009-11-19  Eric Blake  <ebb9@byu.net>
22930
22931         xalloc-die-tests: add missing library
22932         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
22933
22934         test-xvasprintf: silence compiler warnings
22935         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
22936         empty string from gcc.
22937
22938 2009-11-19  Jim Meyering  <meyering@redhat.com>
22939
22940         xfreopen: new module, from coreutils
22941         * modules/xfreopen: New module.
22942         * lib/xfreopen.c: New file.
22943         * lib/xfreopen.h: New file.
22944         * MODULES.html.sh (File stream based Input/Output"): Add it.
22945
22946 2009-11-19  Eric Blake  <ebb9@byu.net>
22947
22948         manywarnings: depend on warnings
22949         * modules/manywarnings (Depends-on): Add warnings.
22950
22951         build: avoid compiler warnings
22952         * lib/select.c (rpl_select): Delete unused variable.
22953         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
22954
22955 2009-11-18  Eric Blake  <ebb9@byu.net>
22956
22957         tests: avoid false negative with --with-packager
22958         * tests/test-version-etc.sh: Discard packager information.
22959         * tests/test-argp-version-etc-1.sh: Likewise.
22960         Reported by Mike Frysinger.
22961
22962         utimens: fix regression on Solaris
22963         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
22964         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
22965         can only change fd timestamps via futimesat.  Instead, use an
22966         additional witness macro to avoid BSD bug.
22967         Reported by Jim Meyering.
22968
22969 2009-11-17  Eric Blake  <ebb9@byu.net>
22970
22971         usleep: use it to simplify tests
22972         * modules/stat-time-tests (Depends-on): Add usleep.
22973         (configure.ac): Drop usleep check.
22974         * modules/chown-tests (Depends-on, configure.ac): Likewise.
22975         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
22976         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
22977         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
22978         * modules/openat-tests (Depends-on, configure.ac): Likewise.
22979         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
22980         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
22981         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
22982         Likewise.
22983         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
22984         * tests/test-lchown.h (nap): Likewise.
22985         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
22986         * tests/test-stat-time.c (nap): Likewise.
22987         * tests/test-utimens-common.h (nap): Update comments.
22988
22989         usleep: new module
22990         * modules/usleep: New file.
22991         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
22992         * lib/usleep.c (usleep): Likewise.
22993         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
22994         * modules/unistd (Makefile.am): Substitute witnesses.
22995         * lib/unistd.in.h (usleep): Add declaration.
22996         * doc/pastposix-functions/usleep.texi (usleep): Document this.
22997         * MODULES.html.sh (Date and time): Likewise.
22998         * modules/usleep-tests (Depends-on): New test.
22999         * tests/test-usleep.c: New file.
23000
23001         chown: work around OpenBSD bug
23002         * lib/chown.c (rpl_chown): Work around the bug.
23003         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
23004         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
23005         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
23006         * modules/chown (Depends-on): Add stdbool.
23007         * modules/lchown (Depends-on): Likewise.
23008         * doc/posix-functions/chown.texi (chown): Document the bug.
23009         * doc/posix-functions/lchown.texi (lchown): Likewise.
23010         * tests/test-lchown.h (test_chown): Relax test.
23011
23012         mkstemp: avoid conflict with C++ keyword template
23013         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
23014         * lib/mkostemp.c (mkostemp): Likewise.
23015         * lib/mkostemps.c (mkostemps): Likewise.
23016         * lib/mkstemp.c (mkstemp): Likewise.
23017         * lib/mkstemps.c (mkstemps): Likewise.
23018
23019         xalloc-die-tests: optimize
23020         * tests/test-xalloc-die.sh: Reduce number of processes.
23021
23022 2009-11-17  Simon Josefsson  <simon@josefsson.org>
23023
23024         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
23025         patch from ludo@gnu.org (Ludovic Courtès).
23026
23027 2009-11-17  Jim Meyering  <meyering@redhat.com>
23028
23029         version-etc: use proper license string
23030         * modules/version-etc (License): Use LGPL, not LGPLv3+.
23031         * modules/version-etc-fsf: Likewise.
23032
23033 2009-11-17  Simon Josefsson  <simon@josefsson.org>
23034
23035         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
23036         printed to stdout.  Deal with EOL differences.
23037
23038 2009-11-17  Eric Blake  <ebb9@byu.net>
23039
23040         unsetenv: work around Solaris bug
23041         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
23042         * lib/unsetenv.c (rpl_unsetenv): Work around it.
23043         Reported by Jim Meyering.
23044
23045         vasnprintf: avoid compiler warnings
23046         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
23047         variables.
23048         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
23049
23050 2009-11-17  Simon Josefsson  <simon@josefsson.org>
23051
23052         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
23053         settings since xalloc-die is no longer the self test,
23054         xalloc-die.sh is.
23055
23056 2009-11-17  Jim Meyering  <meyering@redhat.com>
23057
23058         test-xalloc-die.sh: make the code agree with the commit log
23059         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
23060         at the end, just in case you happen to have a test-xalloc-die
23061         program in some other PATH directory.
23062
23063         test-xalloc-die.sh: fix a portability bug
23064         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
23065         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
23066         Otherwise, argv[0] (as often seen in diagnostics) would be too
23067         system-dependent, sometimes with, and sometimes without the leading "./".
23068
23069         version-etc-fsf: relax license to LGPLv3+
23070         * modules/version-etc-fsf (License): Relax license.
23071
23072 2009-11-16  Eric Blake  <ebb9@byu.net>
23073
23074         xalloc-die-tests: avoid printing null pointer
23075         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
23076         shell script.
23077         * tests/test-xalloc-die.c (program_name): Declare.
23078         * tests/test-xalloc-die.sh (tmpfiles): New file.
23079
23080         setenv, unsetenv: work around various bugs
23081         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
23082         (setenv) [HAVE_SETENV]: Work around bugs.
23083         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
23084         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
23085         for bugs.
23086         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
23087         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
23088         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
23089         * modules/stdlib (Makefile.am): Update substitutions.
23090         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
23091         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
23092         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
23093         * modules/setenv-tests: New test.
23094         * modules/unsetenv-tests: Likewise.
23095         * tests/test-setenv.c: New file.
23096         * tests/test-unsetenv.c: Likewise.
23097
23098 2009-11-16  Jim Meyering  <meyering@redhat.com>
23099
23100         version-etc: relax license to LGPLv3+
23101         * modules/version-etc (License): Relax license.
23102
23103         better AC_REQUIRE expanded-before-required-warning avoidance
23104         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
23105         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
23106         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
23107         which is no longer needed.
23108
23109 2009-11-16  Eric Blake  <ebb9@byu.net>
23110
23111         test-freading: clean up temporary file
23112         * tests/test-freading.c (main): Remove file on success, and use
23113         ASSERT more liberally.
23114         Reported by Jim Meyering.
23115
23116 2009-11-16  Jim Meyering  <meyering@redhat.com>
23117
23118         avoid new AC_REQUIRE expanded-before-required warnings
23119         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
23120         merely using it.
23121         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
23122         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
23123
23124 2009-11-15  Simon Josefsson  <simon@josefsson.org>
23125
23126         * tests/test-xalloc-die.c: New file.
23127         * modules/xalloc-die-tests: New file.
23128         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
23129         XFAIL_TESTS so it can be appended by modules.
23130
23131 2009-11-15  Simon Josefsson  <simon@josefsson.org>
23132
23133         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
23134         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
23135
23136 2009-11-14  Eric Blake  <ebb9@byu.net>
23137
23138         fnmatch: avoid compiler warning
23139         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
23140         to silence compiler warning about mismatch signedness in ?:.
23141         Reported by Robert Millan.
23142
23143         intprops: add double-inclusion guard
23144         * lib/intprops.h: Allow idempotent includes.
23145         Suggested by Bruce Korb.
23146
23147         openat: detect Solaris fchownat bug
23148         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
23149         penalizing glibc chownat when only lchownat is broken.
23150         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
23151         trailing slash bugs.
23152         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
23153         * modules/openat-tests (Files): Include more files.
23154         (Depends-on): Add mgetgroups, sleep, stat-time.
23155         (configure.ac): Add additional checks.
23156         (Makefile.am): Build new test.
23157         * tests/test-fchownat.c: New file.
23158
23159         lchown: detect Solaris and FreeBSD bug
23160         * lib/lchown.c (rpl_lchown): Work around bug.
23161         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
23162         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23163         * modules/unistd (Makefile.am): Populate it.
23164         * lib/unistd.in.h (lchown): Update declaration.
23165         * doc/posix-functions/lchown.texi (lchown): Document the bug.
23166         * modules/lchown-tests: New file.
23167         * tests/test-lchown.h (test_lchown): Likewise.
23168         * tests/test-lchown.c (main): Likewise.
23169
23170         chown: detect Solaris and FreeBSD bug
23171         * lib/chown.c (rpl_chown): Work around bug.
23172         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
23173         (gl_PREREQ_CHOWN): Delete.
23174         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
23175         * modules/unistd (Makefile.am): Populate it.
23176         * lib/unistd.in.h (chown): Update declaration.
23177         * lib/lchown.c (chown): Update client.
23178         * modules/lchown (Depends-on): Add lstat.
23179         * doc/posix-functions/chown.texi (chown): Document the bug.
23180         * doc/posix-functions/getgroups.texi (getgroups): Document
23181         getgroups pitfall.
23182         * modules/chown-tests: New file.
23183         * tests/test-chown.h (test_chown): Likewise.
23184         * tests/test-chown.c (main): Likewise.
23185
23186 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
23187
23188         gnulib-tool: correctly detect absence of m4 directories
23189         * gnulib-tool: Avoid extra newline on data passed to wc -l.
23190
23191 2009-11-14  Jim Meyering  <meyering@redhat.com>
23192
23193         maint.mk: Prohibit inclusion of "xalloc.h" without use.
23194         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
23195
23196 2009-11-14  John W. Eaton  <jwe@gnu.org>
23197
23198         strftime.h: wrap funtion declaration in extern "C" block
23199         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
23200
23201 2009-11-13  Eric Blake  <ebb9@byu.net>
23202
23203         getgroups: avoid compiler warning
23204         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
23205
23206         getgroups: work around FreeBSD bug
23207         * lib/getgroups.c (rpl_getgroups): Work around the bug.
23208         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
23209         * doc/posix-functions/getgroups.texi (getgroups): Document it.
23210         * tests/test-getgroups.c (main): Fix buffer overrun.
23211
23212         getgroups: avoid compilation failure
23213         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
23214         * modules/getgroups (Depends-on): Add stdint.
23215
23216 2009-11-13  Jim Meyering  <meyering@redhat.com>
23217
23218         test-getgroups: avoid compilation failure
23219         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
23220
23221 2009-11-13  Eric Blake  <ebb9@byu.net>
23222
23223         mgetgroups: new module, taken from coreutils
23224         * modules/mgetgroups: New file.
23225         * lib/mgetgroups.h: Likewise.
23226         * lib/mgetgroups.c (mgetgroups): Likewise.
23227         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
23228         * MODULES.html.sh (Users and groups): Mention it.
23229
23230         getgroups: don't expose GETGROUPS_T to user
23231         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
23232         an element at a time if GETGROUPS_T is wrong size.
23233         * lib/getugroups.h (getugroups): Change signature.
23234         * lib/unistd.in.h (getgroups): Likewise.
23235         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
23236         signature needs fixing.
23237         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
23238         AC_TYPE_GETGROUPS.
23239         * modules/group-member (Depends-on): Add getgroups.
23240         * lib/group-member.c (group_info, get_group_info): Use gid_t.
23241         (group_member): Rely on getgroups replacement.
23242         * lib/getugroups.c (getugroups): Use gid_t.
23243         * tests/test-getgroups.c (main): Likewise.
23244         * NEWS: Mention the signature change.
23245         * doc/posix-functions/getgroups.texi (getgroups): Mention the
23246         problem with signature.
23247         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
23248         GETGROUPS_T is still useful for setgroups.
23249
23250         getgroups, getugroups: provide stubs for mingw
23251         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
23252         * lib/getugroups.c (getugroups): Likewise.
23253         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
23254         function.  Modernize replacement scheme.
23255         (gl_PREREQ_GETGROUPS): Delete.
23256         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
23257         * modules/getgroups (configure.ac): Declare witness.
23258         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
23259         * modules/unistd (Depends-on): Substitute witness.
23260         * lib/unistd.in.h (getgroups): Declare replacement.
23261
23262         getgroups: avoid calling exit
23263         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
23264         drop xalloc.
23265         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
23266         dependencies.
23267         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
23268         exiting, in the rare case of malloc failure.
23269
23270         getgroups: fix logic error
23271         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
23272         has more than 20 groups.
23273         * modules/getgroups-tests: New test.
23274         * tests/test-getgroups.c: New file.
23275
23276 2009-11-13  Simon Josefsson  <simon@josefsson.org>
23277
23278         * tests/test-base64.c: Improve.
23279
23280 2009-11-13  Simon Josefsson  <simon@josefsson.org>
23281
23282         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
23283         Blake <ebb9@byu.net>.
23284
23285 2009-11-13  Simon Josefsson  <simon@josefsson.org>
23286
23287         * tests/test-xvasprintf.c: Add %s%s related checks.
23288
23289 2009-11-12  Eric Blake  <ebb9@byu.net>
23290
23291         version-etc: match standards.texi style
23292         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
23293         and use <> only for URLs.
23294
23295 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
23296
23297         fts: do not fail on a submount during traversal
23298         * lib/fts.c (fts_build): Read the stat info again after opening
23299         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
23300         Original report at http://bugzilla.redhat.com/501848.
23301
23302 2009-11-12  Jim Meyering  <meyering@redhat.com>
23303
23304         bootstrap: sync from coreutils
23305         * build-aux/bootstrap (bootstrap_epilogue): New function.
23306         Use git_modules_config in one more place.  This make bootstrap's
23307         --gnulib-srcdir option more useful for testing.
23308
23309         bootstrap: generalize autoheader check
23310         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
23311         AC_CONFIG_HEADERS.
23312
23313 2009-11-11  Eric Blake  <ebb9@byu.net>
23314
23315         mkfifoat: use new modules for Solaris and BSD bugs
23316         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
23317         * lib/mkfifoat.c (mknodat): Split...
23318         * lib/mknodat.c (mknodat): ...into new file.
23319         * modules/mkfifoat (Files): Ship new file.
23320         (Depends-on): Add mkfifo, mknod.
23321         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
23322         (Depends-on): Add symlink.
23323         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
23324         redundant with test_mkfifo.h.
23325         (do_mkfifoat, do_mknodat): New helpers.
23326
23327         mknod: new module
23328         * modules/mknod: New file.
23329         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
23330         * lib/mknod.c (mknod): Likewise.
23331         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
23332         defaults.
23333         * modules/sys_stat (Makefile.am): Substitute them.
23334         * lib/sys_stat.in.h (mknod): Declare replacement.
23335         * MODULES.html.sh (Support for systems lacking POSIX:2008):
23336         Document it.
23337         * doc/posix-functions/mknod.texi (mknod): Likewise.
23338         * modules/mknod-tests: New test.
23339         * tests/test-mknod.c: Likewise.
23340
23341         mkfifo: new module
23342         * modules/mkfifo: New file.
23343         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
23344         * lib/mkfifo.c (mkfifo): Likewise.
23345         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
23346         defaults.
23347         * modules/sys_stat (Makefile.am): Substitute them.
23348         * lib/sys_stat.in.h (mkfifo): Declare replacement.
23349         * MODULES.html.sh (Support for systems lacking POSIX:2008):
23350         Document it.
23351         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
23352         * modules/mkfifo-tests: New test.
23353         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
23354         from test-mkfifoat.c.
23355         * tests/test-mkfifo.c: New file.
23356
23357         readlink: detect FreeBSD bug
23358         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
23359         slash on symlink.
23360         * doc/posix-functions/readlink.texi (readlink): Document the bug.
23361         * tests/test-readlink.h (test_readlink): Enhance test.
23362
23363         symlink: detect FreeBSD bug
23364         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
23365         slash on symlink.
23366         * doc/posix-functions/symlink.texi (symlink): Document the bug.
23367         * tests/test-symlink.h (test_symlink): Enhance test.
23368
23369 2009-11-10  Eric Blake  <ebb9@byu.net>
23370
23371         link: detect FreeBSD bug
23372         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
23373         symlink.
23374         * doc/posix-functions/link.texi (link): Document the bug.
23375         * tests/test-link.h (test_link): Enhance test.
23376         * tests/test-linkat.c (main): Update caller.
23377
23378         unlink, remove: detect FreeBSD bug
23379         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
23380         slash on symlink.
23381         * doc/posix-functions/unlink.texi (unlink): Document the bug.
23382         * doc/posix-functions/remove.texi (remove): Likewise.
23383         * tests/test-unlink.h (test_unlink): Enhance test.
23384         * tests/test-remove.c (main): Likewise.
23385
23386 2009-11-09  Eric Blake  <ebb9@byu.net>
23387
23388         rename: detect FreeBSD bug
23389         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
23390         slash on symlink.
23391         * modules/renameat-tests (Depends-on): Add filenamecat.
23392         * tests/test-rename.h (test_rename): Allow one more errno.
23393         * tests/test-renameat.c (main): Likewise.
23394         * doc/posix-functions/rename.texi (rename): Document the bug.
23395
23396         open: detect FreeBSD bug
23397         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
23398         symlink.
23399         * doc/posix-functions/open.texi (open): Document the bug.
23400         * doc/posix-functions/utimes.texi (utimes): Likewise.
23401         * tests/test-open.h (test_open): Add parameters, and test symlink
23402         handling.
23403         * tests/test-open.c (main): Adjust caller.
23404         * tests/test-fcntl-safer.c (main): Likewise.
23405         * modules/open-tests (Depends-on): Add stdbool, symlink.
23406         * modules/fcntl-safer-tests (Depends-on): Likewise.
23407         * tests/test-openat.c (main): Add test-open tests.
23408
23409         stat: detect FreeBSD bug
23410         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
23411         symlink.
23412         * doc/posix-functions/stat.texi (stat): Document the bug.
23413         * tests/test-stat.h (test_stat_func): Add argument.
23414         * tests/test-stat.c (main): Adjust caller.
23415         * tests/test-fstatat.c (main): Likewise.
23416         * modules/stat-tests (Depends-on): Add stdbool, symlink.
23417         Reported by Jim Meyering.
23418
23419 2009-11-09  James Youngman  <jay@gnu.org>
23420
23421         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
23422         * lib/strftime.c: Correct placement of #include "ignore-value.h".
23423
23424 2009-11-08  Jim Meyering  <meyering@redhat.com>
23425
23426         utimens: remove invalid futimesat call
23427         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
23428         It used the file descriptor of the target file as the DIR_FD
23429         parameter and NULL as the file name.  That caused failure with
23430         errno == EFAULT on FreeBSD-8.0-rc2
23431
23432 2009-11-07  Eric Blake  <ebb9@byu.net>
23433
23434         fflush, freadseek: use fseeko, not fseek
23435         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
23436         (clear_ungetc_buffer): Avoid potential problems on large files.
23437         * lib/freadseek.c (freadseek): Likewise.
23438         * modules/freadseek (Depends-on): Add fseeko.
23439         * modules/fseek (configure.ac): Set a witness.
23440         * tests/test-fflush.c (main): Use fseeko.
23441         * tests/test-fpurge.c (fseek): Disable link warning.
23442         * tests/test-freadable.c (fseek): Likewise.
23443         * tests/test-freading.c (fseek): Likewise.
23444         * tests/test-fseeko.c (fseek): Likewise.
23445         * tests/test-ftell.c (fseek): Likewise.
23446         * tests/test-ftello.c (fseek): Likewise.
23447         * tests/test-fwritable.c (fseek): Likewise.
23448         * tests/test-fwriting.c (fseek): Likewise.
23449
23450 2009-11-06  Simon Josefsson  <simon@josefsson.org>
23451
23452         * modules/memchr (Depends-on): Drop getpagesize dependency.
23453
23454 2009-11-06  Simon Josefsson  <simon@josefsson.org>
23455
23456         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
23457         Reported by Ludovic Courtès.
23458         * build-aux/pmccabe2html: Improve example usage.
23459         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
23460
23461 2009-11-06  Jim Meyering  <meyering@redhat.com>
23462
23463         do-release-commit-and-tag: New module.
23464         Automate the release-commit and tag process.
23465         * build-aux/do-release-commit-and-tag: New script, from coreutils.
23466         * modules/do-release-commit-and-tag: New file.
23467         * MODULES.html.sh (Support for maintaining and releasing): Add it.
23468
23469 2009-11-06  Simon Josefsson  <simon@josefsson.org>
23470
23471         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
23472         because test-select.c uses inet_pton.
23473
23474 2009-11-06  Simon Josefsson  <simon@josefsson.org>
23475
23476         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
23477         GETADDRINFO_LIB.  Bump serial number.
23478         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
23479         Suggested by Eric Blake <ebb9@byu.net>.
23480
23481 2009-11-05  Eric Blake  <ebb9@byu.net>
23482
23483         strtod: detect darwin bug
23484         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
23485         Reported by Leo Davis.
23486
23487         freopen-safer: new module
23488         * modules/freopen-safer: New module.
23489         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
23490         * lib/freopen-safer.c (freopen_safer): New file.
23491         * lib/stdio-safer.h (freopen_safer): New declaration.
23492         * lib/stdio--.h (freopen): New override.
23493         * MODULES.html.sh (File stream based Input/Output): Mention it.
23494         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
23495         freopen-safer module.
23496         * doc/posix-functions/stderr.texi (stderr): Likewise.
23497         * doc/posix-functions/stdin.texi (stdin): Likewise.
23498         * doc/posix-functions/stdout.texi (stdout): Likewise.
23499         * modules/freopen-safer-tests: New test.
23500         * tests/test-reopen-safer.c: New file.
23501
23502 2009-11-05  Jim Meyering  <meyering@redhat.com>
23503
23504         maint.mk: Prohibit inclusion of "close-stream.h" without use.
23505         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
23506
23507 2009-11-05  Simon Josefsson  <simon@josefsson.org>
23508
23509         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
23510
23511 2009-11-05  Simon Josefsson  <simon@josefsson.org>
23512
23513         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
23514
23515 2009-11-05  Simon Josefsson  <simon@josefsson.org>
23516
23517         Fix link error.
23518         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
23519         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
23520
23521 2009-11-05  Simon Josefsson  <simon@josefsson.org>
23522
23523         * tests/test-func.c: Also test value of __func__.
23524
23525 2009-11-05  Simon Josefsson  <simon@josefsson.org>
23526
23527         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
23528         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
23529
23530 2009-11-05  Bruno Haible  <bruno@clisp.org>
23531
23532         Fix link error.
23533         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
23534         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
23535         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
23536
23537 2009-11-05  Bruno Haible  <bruno@clisp.org>
23538
23539         Tests for module 'inet_pton'.
23540         * modules/inet_pton-tests: New file.
23541         * tests/test-inet_pton.c: New file.
23542
23543 2009-11-05  Bruno Haible  <bruno@clisp.org>
23544
23545         Tests for module 'inet_ntop'.
23546         * modules/inet_ntop-tests: New file.
23547         * tests/test-inet_ntop.c: New file.
23548
23549 2009-11-04  Eric Blake  <ebb9@byu.net>
23550
23551         stdlib-safer: wrap all mkstemp variants
23552         * modules/mkostemp (configure.ac): Set witness.
23553         * modules/mkostemps (configure.ac): Likewise.
23554         * modules/mkstemps (configure.ac): Likewise.
23555         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
23556         (mkstemps_safer): Wrap more functions.
23557         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
23558         wrapping.
23559         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
23560         (mkstemps_safer): Implement the wrappers.
23561
23562         mkstemps, mkostemps: new modules
23563         * modules/mkostemps: New module.
23564         * modules/mkstemps: Likewise.
23565         * lib/mkostemps.c (mkostemps): New file.
23566         * lib/mkstemps.c (mkstemps): Likewise.
23567         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
23568         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
23569         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
23570         * modules/stdlib (Makefile.am): Substitute them.
23571         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
23572         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
23573         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
23574         * doc/gnulib.texi (Glibc stdlib.h): Include them.
23575         * MODULES.html.sh (File system functions): Mention them.
23576
23577         tempname: resync from glibc
23578         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
23579         same values for __GT_FILE as glibc.  Abort even when assertions
23580         are disabled.
23581         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
23582         match its value otherwise.  Allow idempotent inclusion.
23583         * lib/mkdtemp.c (mkdtemp): Adjust caller.
23584         * lib/mkostemp.c (mkostemp): Likewise.
23585         * lib/mkstemp.c (mkstemp): Likewise.
23586         * lib/tmpfile.c (tmpfile): Likewise.
23587         * NEWS: Document this.
23588
23589         utimens: fix use of futimens on older Linux
23590         * lib/utimens.c (fdutimens): Use updated, rather than original,
23591         timespec to avoid bug in older Linux kernel.
23592         Reported by Simon Josefsson.
23593
23594 2009-11-04  Bruno Haible  <bruno@clisp.org>
23595
23596         Make num_processors more flexible and consistent.
23597         * lib/nproc.h (enum nproc_query): New type.
23598         (num_processors): Add a 'query' argument.
23599         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
23600         (num_processors): Add a 'query' argument. Test the value of the
23601         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
23602         mingw, count the number of CPUs available for the current process.
23603         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
23604         Check for sched_getaffinity and sched_getaffinity_np.
23605         * modules/nproc (Depends-on): Add c-ctype, extensions.
23606         * NEWS: Mention the change.
23607
23608 2009-11-03  Bruno Haible  <bruno@clisp.org>
23609
23610         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
23611
23612 2009-11-03  Jim Meyering  <meyering@redhat.com>
23613
23614         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
23615         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
23616         if it is defined.
23617
23618 2009-11-02  Eric Blake  <ebb9@byu.net>
23619
23620         mktime, timegm: share common declaration
23621         * lib/mktime-internal.h: New file.
23622         * lib/mktime.c: Use it rather than open-coding a declaration.
23623         * lib/timegm.c: Likewise.
23624         * modules/mktime (Files): Ship it.
23625         * modules/timegm (Files): Likewise.
23626         Suggested by Bruno Haible.
23627
23628         test-update-copyright: update test to match script changes
23629         * tests/test-update-copyright.sh: Avoid hard-coding perl
23630         location.  Don't update *.bak created by earlier runs.
23631
23632 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
23633             Simon Josefsson  <simon@josefsson.org>
23634             Bruno Haible  <bruno@clisp.org>
23635
23636         Fix link error on Solaris 8.
23637         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
23638         also in libnsl. Define also INET_PTON_LIB.
23639         * modules/inet_pton (Link): New section.
23640
23641 2009-11-02  Simon Josefsson  <simon@josefsson.org>
23642             Bruno Haible  <bruno@clisp.org>
23643
23644         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
23645         * modules/inet_ntop (Link): New section.
23646         Reported by Boyan Kasarov <bkasarov@gmail.com>.
23647
23648 2009-11-02  Eric Blake  <ebb9@byu.net>
23649
23650         maint: avoid compiler warnings in m4 macros
23651         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
23652         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
23653
23654 2009-11-02  Simon Josefsson  <simon@josefsson.org>
23655
23656         * m4/pmccabe2html.m4: Remove file.
23657         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
23658         function.  Change maintainer.
23659         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
23660         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
23661         Courtès).
23662
23663 2009-10-31  Eric Blake  <ebb9@byu.net>
23664
23665         fseeko: fix m4 regression
23666         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
23667         regression from 2009-10-27.
23668         Reported by Ralf Wildenhues.
23669
23670 2009-10-31  Jim Meyering  <meyering@redhat.com>
23671
23672         inttostr: aesthetics and improved (compile-time) safety
23673         Define inttype_is_signed rather than inttype_is_unsigned,
23674         since the sole use is via "#if inttype_is_signed".
23675         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
23676         inttype_is_unsigned.
23677         * lib/offtostr.c (inttype_is_signed): Likewise.
23678         * lib/uinttostr.c (inttype_is_signed): Likewise.
23679         * lib/umaxtostr.c (inttype_is_signed): Likewise.
23680         * lib/inttostr.c (inttostr): Use verify to cross-check the
23681         inttype_is_signed value and the signedness of the actual type.
23682         * modules/inttostr (Depends-on): Add verify.
23683
23684 2009-10-30  Eric Blake  <ebb9@byu.net>
23685
23686         build: avoid compiler warnings
23687         * lib/fchmodat.c (lchmod): Mark unused variables.
23688         * lib/getopt.c (_getopt_initialize): Likewise.
23689         * lib/mktime.c (__mktime_internal): Provide prototype.
23690         * lib/inttostr.c (inttostr): Avoid compiler warning even with
23691         older gcc that do not understand #pragma GCC diagnostic.
23692         * lib/uinttostr.c (inttype_is_unsigned): Define.
23693         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
23694
23695 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
23696
23697         stat: fix compilation on AIX
23698         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
23699         only see struct stat64.
23700
23701 2009-10-30  Eric Blake  <ebb9@byu.net>
23702
23703         exclude: make more robust
23704         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
23705         rather than masking a coding bug.
23706         Suggested by Bruno Haible.
23707
23708 2009-10-30  Jim Meyering  <meyering@redhat.com>
23709
23710         perl scripts: remove #!/usr/bin/perl in favor of more portable...
23711         Rather than putting #!/usr/bin/perl on the first line,
23712         start with a variant of what's recommended by "man perlrun" that
23713         invokes the first "perl" program from your shell's search path.
23714         * build-aux/gitlog-to-changelog: Replace #!... as above.
23715         Add a "Local Variables" perl mode setting.
23716         Prompted by a patch from Ludovic Courtès.
23717         Improved by Eric Blake.
23718         * build-aux/useless-if-before-free: Likewise.
23719         * build-aux/announce-gen: Likewise.
23720         * build-aux/update-copyright: Likewise.
23721
23722 2009-10-29  Eric Blake  <ebb9@byu.net>
23723
23724         filenamecat-lgpl: adjust clients
23725         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
23726         filenamecat.
23727         * modules/renameat (Depends-on): Likewise.
23728
23729         filenamecat: split into filenamecat-lgpl
23730         * modules/filenamecat-lgpl: New module.
23731         * modules/filenamecat (Files): Move library-safe files into
23732         filenamecat-lgpl.
23733         (Depends-on): Add filenamecat-lgpl.
23734         (configure.ac): Declare witness.
23735         * lib/filenamecat.h (file_name_concat): Only declare when using
23736         GPL module.
23737         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
23738         Move...
23739         * lib/filenamecat-lgpl.c: ...into new file.
23740         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
23741         (gl_FILE_NAME_CONCAT): Use it.
23742         * MODULES.html.sh (File system functions): Mention new module.
23743
23744         argp: avoid memory leak
23745         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
23746         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
23747         base_name, since the latter malloc()s and can call exit().
23748         Leak introduced 2006-07-03.
23749
23750         dirname-lgpl: adjust clients that don't need full dirname
23751         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
23752         * modules/filenamecat (Depends-on): Likewise.
23753         * modules/linkat (Depends-on): Likewise.
23754         * modules/mkancesdirs (Depends-on): Likewise.
23755         * modules/mkdir (Depends-on): Likewise.
23756         * modules/openat (Depends-on): Likewise.
23757         * modules/savewd (Depends-on): Likewise.
23758         * modules/rename (Depends-on): Likewise.
23759         (License): Relax license.
23760         * modules/mkdir-tests (Depends-on): Drop progname.
23761         (Makefile.am): Delete unneeded LDADD.
23762         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
23763
23764         dirname: split into dirname-lgpl
23765         * modules/dirname-lgpl: New module.
23766         * modules/dirname (Files): Move library-safe files into
23767         dirname-lgpl.
23768         (Depends-on): Add dirname-lgpl.
23769         (configure.ac): Declare witness.
23770         * modules/double-slash-root (License): Relax license.
23771         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
23772         module.
23773         * lib/dirname.c (dir_len, mdir_name): Move...
23774         * lib/dirname-lgpl.c: ...into new file.
23775         * lib/basename.c (last_component, base_len): Move...
23776         * lib/basename-lgpl.c: ...into new file.
23777         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
23778         (gl_DIRNAME): Use it.
23779         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
23780         Mention new module.
23781         * modules/dirname-tests (Depends-on): Add progname.
23782         * tests/test-dirname.c (program_name): Delete.
23783
23784         mkdir: make safe for libraries
23785         * modules/mkdir (Depends-on): Drop xalloc.
23786         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
23787         exit.
23788
23789         tests: avoid some compiler warnings
23790         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
23791         literals.
23792         * tests/test-memchr.c (main): Avoid type mismatch.
23793         * tests/test-arpa_inet.c (main): Avoid unused parameters.
23794         * tests/test-base64.c (main): Likewise.
23795         * tests/test-getdelim.c (main): Likewise.
23796         * tests/test-gethostname.c (main): Likewise.
23797         * tests/test-getline.c (main): Likewise.
23798         * tests/test-netinet_in.c (main): Likewise.
23799         * tests/test-select.c (open_server_socket, main): Likewise.
23800         * tests/test-select-stdin.c (main): Likewise.
23801         * tests/test-sockets.c (main): Likewise.
23802         * tests/test-strsignal.c (main): Likewise.
23803         * tests/test-sys_select.c (main): Likewise.
23804         * tests/test-sys_socket.c (main): Likewise.
23805         * tests/test-u64.c (main): Likewise.
23806         * tests/test-xfprintf-posix.c (main): Likewise.
23807         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
23808
23809         sockets: avoid compiler warning
23810         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
23811
23812         maint: detect usage(1) and other suspicious exits
23813         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
23814
23815 2009-10-29  Jim Meyering  <meyering@redhat.com>
23816
23817         timespec: long-to-int truncation could make timespec_cmp malfunction
23818         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
23819         a multiple of 2^32 nanoseconds as no difference.
23820
23821 2009-10-28  Jim Meyering  <meyering@redhat.com>
23822
23823         fprintftime: wrap macro code argument in "do {...} while(0)"
23824         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
23825         cpy macro must be a statement that can be followed by a semicolon.
23826         Now that the else clause contains a comment and is hence longer
23827         than one line, I require curly braces.  That in turn requires
23828         that we wrap this code block in the standard do...while(0).
23829
23830         fprintftime: remove stray semicolon from previous change
23831         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
23832
23833         fprintftime: avoid a warning about ignored fwrite return value
23834         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
23835         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
23836         that is unsafe.
23837         * modules/fprintftime (Depends-on): Add ignore-value.
23838
23839         exclude: avoid an unwarranted warning
23840         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
23841
23842 2009-10-27  Eric Blake  <ebb9@byu.net>
23843
23844         fseek: avoid compilation failure when fflush is replaced
23845         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
23846         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
23847         module is in use.
23848         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
23849         module is not in use; since REPLACE_FSEEK worked otherwise.
23850         (GNULIB_FTELLO): Likewise for ftell.
23851         Reported by Ian Beckwith and others.
23852
23853 2009-10-27  Bruno Haible  <bruno@clisp.org>
23854
23855         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
23856         Reported by Jim Meyering.
23857
23858 2009-10-27  Jim Meyering  <jim@meyering.net>
23859             Bruno Haible  <bruno@clisp.org>
23860
23861         Avoid warning despite dropping the return value of fwrite.
23862         * lib/unicodeio.c: Include ignore-value.h.
23863         (fwrite_success_callback): Explicitly ignore fwrite's return value.
23864         * modules/unicodeio (Depends-on): Add ignore-value.
23865
23866 2009-10-26  Eric Blake  <ebb9@byu.net>
23867
23868         areadlinkat: fix fallback path
23869         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
23870         pointer and zero.
23871
23872 2009-10-22  Pádraig Brady  <P@draigBrady.com>
23873
23874         Use a better IO block size for modern systems
23875         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
23876         * lib/md2.c: Likewise.
23877         * lib/md4.c: Likewise.
23878         * lib/md5.c: Likewise.
23879         * lib/sha1.c: Likewise.
23880         * lib/sha256.c: Likewise.
23881         * lib/sha512.c: Likewise.
23882
23883 2009-10-22  Eric Blake  <ebb9@byu.net>
23884
23885         tests: avoid several compiler warnings
23886         * tests/test-getcwd.c (main): Avoid buffer underflow.
23887         * tests/test-getdate.c (main): String literals are not safe with
23888         putenv, so use setenv.  Declare unused argument.
23889         * modules/getdate-tests (Depends-on): Add setenv.
23890         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
23891         problems with string literals in char *.
23892         * tests/test-hash.c (main): Avoid shadowing declaration.
23893         (insert_new): Treat string literals as char const *.
23894         * tests/test-getopt.h (test_getopt): Likewise.
23895         (getopt_loop): Alter types to minimize casting elsewhere.
23896         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
23897         (test_getopt_long_posix): Likewise.
23898         (do_getopt_long): Add wrapper to minimize casting.
23899         * tests/test-atexit.c (clear_temp_file): Use void.
23900         * tests/test-areadlink-with-size.c (main): Declare unused
23901         arguments.
23902         * tests/test-areadlink.c (main): Likewise.
23903         * tests/test-areadlinkat-with-size.c (main): Likewise.
23904         * tests/test-areadlinkat.c (main): Likewise.
23905         * tests/test-canonicalize-lgpl.c (main): Likewise.
23906         * tests/test-canonicalize.c (main): Likewise.
23907         * tests/test-dirent-safer.c (main): Likewise.
23908         * tests/test-dirname.c (main): Likewise.
23909         * tests/test-dup2.c (main): Likewise.
23910         * tests/test-fchdir.c (main): Likewise.
23911         * tests/test-fcntl-h.c (main): Likewise.
23912         * tests/test-fcntl-safer.c (main): Likewise.
23913         * tests/test-fdopendir.c (main): Likewise.
23914         * tests/test-fdutimensat.c (main): Likewise.
23915         * tests/test-fflush.c (main): Likewise.
23916         * tests/test-filenamecat.c (main): Likewise.
23917         * tests/test-filevercmp.c (main): Likewise.
23918         * tests/test-fopen-safer.c (main): Likewise.
23919         * tests/test-fopen.c (main): Likewise.
23920         * tests/test-fpending.c (main): Likewise.
23921         * tests/test-fpurge.c (main): Likewise.
23922         * tests/test-freading.c (main): Likewise.
23923         * tests/test-fstatat.c (main): Likewise.
23924         * tests/test-fsync.c (main): Likewise.
23925         * tests/test-futimens.c (main): Likewise.
23926         * tests/test-getndelim2.c (main): Likewise.
23927         * tests/test-gettimeofday.c (main): Likewise.
23928         * tests/test-getopt.c (main): Likewise.
23929         * tests/test-i-ring.c (main): Likewise.
23930         * tests/test-inttypes.c (main): Likewise.
23931         * tests/test-link.c (main): Likewise.
23932         * tests/test-lstat.c (main): Likewise.
23933         * tests/test-math.c (main): Likewise.
23934         * tests/test-md5.c (main): Likewise.
23935         * tests/test-memchr2.c (main): Likewise.
23936         * tests/test-memrchr.c (main): Likewise.
23937         * tests/test-mkdir.c (main): Likewise.
23938         * tests/test-mkdirat.c (main): Likewise.
23939         * tests/test-mkfifoat.c (main): Likewise.
23940         * tests/test-open.c (main): Likewise.
23941         * tests/test-openat-safer.c (main): Likewise.
23942         * tests/test-openat.c (main): Likewise.
23943         * tests/test-quotearg.c (main): Likewise.
23944         * tests/test-rawmemchr.c (main): Likewise.
23945         * tests/test-readlink.c (main): Likewise.
23946         * tests/test-remove.c (main): Likewise.
23947         * tests/test-rename.c (main): Likewise.
23948         * tests/test-renameat.c (main): Likewise.
23949         * tests/test-rmdir.c (main): Likewise.
23950         * tests/test-sha1.c (main): Likewise.
23951         * tests/test-signal.c (main): Likewise.
23952         * tests/test-sigaction.c (main): Likewise.
23953         * tests/test-stat.c (main): Likewise.
23954         * tests/test-stat-time.c (main): Likewise.
23955         * tests/test-stddef.c (main): Likewise.
23956         * tests/test-stdint.c (main): Likewise.
23957         * tests/test-stdio.c (main): Likewise.
23958         * tests/test-stdlib.c (main): Likewise.
23959         * tests/test-strchrnul.c (main): Likewise.
23960         * tests/test-strerror.c (main): Likewise.
23961         * tests/test-string.c (main): Likewise.
23962         * tests/test-strtod.c (main): Likewise.
23963         * tests/test-strverscmp.c (main): Likewise.
23964         * tests/test-symlink.c (main): Likewise.
23965         * tests/test-symlinkat.c (main): Likewise.
23966         * tests/test-sys_stat.c (main): Likewise.
23967         * tests/test-sys_time.c (main): Likewise.
23968         * tests/test-time.c (main): Likewise.
23969         * tests/test-unistd.c (main): Likewise.
23970         * tests/test-unlink.c (main): Likewise.
23971         * tests/test-unlinkat.c (main): Likewise.
23972         * tests/test-utimens.c (main): Likewise.
23973         * tests/test-utimensat.c (main): Likewise.
23974         * tests/test-version-etc.c (main): Likewise.
23975         * tests/test-wchar.c (main): Likewise.
23976         * tests/test-wctype.c (main): Likewise.
23977         * tests/test-xprintf-posix.c (main): Likewise.
23978         * tests/test-posixtm.c (main): Likewise.
23979         (STREQ): Delete unused macro.
23980         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
23981         shadowed variables.
23982         * tests/test-memchr.c (main): Likewise.
23983
23984 2009-10-21  Eric Blake  <ebb9@byu.net>
23985
23986         areadlinkat: avoid failure on older glibc
23987         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
23988         rather than mis-comparing 0 against FUNC_RESULT of char*.
23989
23990 2009-10-21  Bruno Haible  <bruno@clisp.org>
23991
23992         * modules/stpncpy (License): Relicense under LGPLv2+.
23993         Reported by David Lutterkort <lutter@redhat.com>.
23994
23995 2009-10-20  Eric Blake  <ebb9@byu.net>
23996
23997         utimensat: work around Solaris 9 bug
23998         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
23999         has trailing slash bugs.
24000         * tests/test-lutimens.h (test_lutimens): Enhance test.
24001         * tests/test-utimens.h (test_utimens): Likewise.
24002         * doc/posix-functions/utime.texi (utime): Enhance documentation.
24003         * doc/posix-functions/utimes.texi (utimes): Likewise.
24004         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
24005         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
24006         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
24007         * doc/posix-functions/futimens.texi (futimens): Likewise.
24008
24009         fdutimensat: new module
24010         * modules/fdutimensat: New file.
24011         * lib/fdutimensat.c (fdutimensat): Likewise.
24012         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
24013         * MODULES.html.sh (File system functions): Mention module.
24014         * modules/fdutimensat-tests: New test.
24015         * tests/test-fdutimensat.c: Likewise.
24016
24017         doc: regenerate INSTALL
24018         * doc/INSTALL: Reflect recent autoconf update.
24019         * doc/INSTALL.ISO: Likewise.
24020         * doc/INSTALL.UTF-8: Likewise.
24021
24022 2009-10-20  Pádraig Brady  <P@draigBrady.com>
24023
24024         acl: warn if ACL support is not detected
24025         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
24026
24027 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
24028
24029         * lib/nproc.h: Add extern "C" block for C++.
24030
24031 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
24032             Bruno Haible  <bruno@clisp.org>
24033
24034         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
24035         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
24036         * doc/posix-functions/isalpha.texi: Likewise.
24037         * doc/posix-functions/isblank.texi: Likewise.
24038         * doc/posix-functions/iscntrl.texi: Likewise.
24039         * doc/posix-functions/isdigit.texi: Likewise.
24040         * doc/posix-functions/isgraph.texi: Likewise.
24041         * doc/posix-functions/islower.texi: Likewise.
24042         * doc/posix-functions/isprint.texi: Likewise.
24043         * doc/posix-functions/ispunct.texi: Likewise.
24044         * doc/posix-functions/isspace.texi: Likewise.
24045         * doc/posix-functions/isupper.texi: Likewise.
24046         * doc/posix-functions/isxdigit.texi: Likewise.
24047
24048 2009-10-18  Bruno Haible  <bruno@clisp.org>
24049
24050         Tests for module 'isblank'.
24051         * modules/isblank-tests: New file.
24052         * tests/test-isblank.c: New file.
24053
24054         New module 'isblank'.
24055         * lib/isblank.c: New file.
24056         * m4/isblank.m4: New file.
24057         * modules/isblank: New file.
24058         * doc/posix-functions/isblank.texi: Mention the new module.
24059
24060 2009-10-18  Bruno Haible  <bruno@clisp.org>
24061
24062         New module 'ctype'.
24063         * lib/ctype.in.h: New file.
24064         * m4/ctype.m4: New file.
24065         * modules/ctype: New file.
24066         * doc/posix-headers/ctype.texi: Mention the new module.
24067
24068 2009-10-18  Jim Meyering  <meyering@redhat.com>
24069
24070         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
24071         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
24072         right after its initialization, rather than farther down.
24073         Keeping these in close proximity makes it easier to ensure
24074         that each such variable is initialized.  E.g.,
24075
24076             LIB_CLOCK_GETTIME=
24077             AC_SUBST([LIB_CLOCK_GETTIME])
24078
24079         This change also increments these serial numbers.
24080         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
24081         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
24082         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24083
24084 2009-10-18  Bruno Haible  <bruno@clisp.org>
24085
24086         Don't let environment variables perturb build.
24087         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
24088         (gl_PREREQ_GETHRXTIME): ... not here.
24089
24090 2009-10-18  Bruno Haible  <bruno@clisp.org>
24091
24092         Avoid symlink attack in localcharset module.
24093         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
24094         (O_NOFOLLOW): Define fallback.
24095         (get_charset_aliases): Don't open the file if it is a symbolic link.
24096         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
24097         gl_FCNTL_H.
24098         (gl_FCNTL_H): Require it.
24099         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
24100         * modules/localcharset (Files): Add m4/fcntl_h.m4.
24101         Reported by Fergal Glynn <fglynn@veracode.com>.
24102
24103 2009-10-18  Bruno Haible  <bruno@clisp.org>
24104
24105         Implement nproc for mingw.
24106         * lib/nproc.c: Include <windows.h>
24107         (num_processors): On native Windows platforms, try GetSystemInfo.
24108
24109 2009-10-18  Bruno Haible  <bruno@clisp.org>
24110
24111         Implement nproc for IRIX.
24112         * lib/nproc.c: Include <sys/sysmp.h>.
24113         (num_processors): On IRIX systems, try sysmp.
24114         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
24115
24116 2009-10-18  Bruno Haible  <bruno@clisp.org>
24117
24118         Implement nproc for HP-UX.
24119         * lib/nproc.c: Include <sys/pstat.h>
24120         (num_processors): On HP-UX systems, try pstat_getdynamic.
24121         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
24122         pstat_getdynamic.
24123
24124 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
24125             Bruno Haible  <bruno@clisp.org>
24126
24127         Implement nproc for NetBSD, OpenBSD.
24128         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
24129         (ARRAY_SIZE): New macro.
24130         (num_processors): On BSD systems, try sysctl of HW_NCPU.
24131         * m4/nproc.m4: New file.
24132         * modules/nproc (Files): Add m4/nproc.m4.
24133         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
24134         (Makefile.am): Instead, augment lib_SOURCES.
24135
24136 2009-10-18  Bruno Haible  <bruno@clisp.org>
24137
24138         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
24139         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
24140         sys/param.h.
24141
24142 2009-10-16  Eric Blake  <ebb9@byu.net>
24143
24144         utimensat: new module
24145         * modules/utimensat: New file.
24146         * lib/utimensat.c (utimensat): Likewise.
24147         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
24148         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
24149         so we can work around Linux bugs.
24150         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
24151         * modules/sys_stat (Makefile.am): Substitute them.
24152         * lib/sys_stat.in.h (utimensat): Declare it.
24153         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24154         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
24155         * modules/utimensat-tests: New test.
24156         * tests/test-utimensat.c: Likewise.
24157
24158         utimens: let lutimens work on non-symlinks
24159         * lib/utimens.c (lutimens): Fall back to utimens rather than
24160         failing with ENOSYS, when file is not a symlink.
24161         (utimens): Reduce redirection.
24162         * tests/test-lutimens.h (test_lutimens): Update test to cover
24163         non-symlinks.
24164         * tests/test-utimens.h (test_utimens): Update test to cover
24165         symlinks.
24166         * tests/test-utimens.c (main): Update caller.
24167
24168         utimens: cache whether utimensat syscall works
24169         * lib/utimens.c (utimensat_works_really): New cache variable.
24170         (fdutimens, lutimens): Use it to avoid failing syscall.
24171
24172         test-stat-time, test-utimens: improve portability
24173         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
24174         ext4 on alpha, and for cygwin.
24175         * tests/test-utimens-common.h: New file.
24176         (nap): Factor delays into single function.
24177         * tests/test-lutimens.h (test_lutimens): Use new header.
24178         * tests/test-futimens.h (test_futimens): Likewise.
24179         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
24180         timestamps to occur from same machine, as was done previously for
24181         test_utimens.
24182         * modules/utimens-tests (Files): Ship new file.
24183         * modules/futimens-tests (Files): Likewise.
24184         Reported in part by Jim Meyering.
24185
24186         sys_stat: sort replacement declarations
24187         * lib/sys_stat.in.h: Sort declarations.
24188         * lib/futimens.c (futimens): Fix typo.
24189
24190 2009-10-15  Jim Meyering  <meyering@redhat.com>
24191
24192         don't let environment settings perturb build
24193         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
24194         could cause a configure-time and/or build-time malfunction.
24195         Typically, a configure-time function-in-library test is performed
24196         via code like this:
24197
24198           LIB_VAR=
24199           AC_SUBST([LIB_VAR])
24200           prefix_saved_LIBS=$LIBS
24201             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
24202                        [test "$ac_cv_search_FUNC" = "none required" ||
24203                         LIB_VAR=$ac_cv_search_FUNC])
24204           LIBS=$prefix_saved_LIBS
24205
24206         However, in each of the files affected by this change, the LIB_VAR=
24207         initialization was omitted.  Thus, when set in the environment, its
24208         value would propagate into generated Makefiles when FUNC is not found
24209         in LIB_NAME.
24210         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
24211         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
24212         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24213
24214 2009-10-14  Eric Blake  <ebb9@byu.net>
24215
24216         fchdir: avoid infinite recursion in mingw
24217         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
24218         recursing.
24219
24220         test-stat-time: port to mingw
24221         * tests/test-stat-time.c (force_unlink): Return a value.
24222         (test_ctime) [W32]: Fix compilation error.
24223         (nap): Don't call usleep with too large an argument.  Use
24224         force_unlink.
24225         * doc/pastposix-functions/usleep.texi (usleep): Document the
24226         portability issue.
24227
24228 2009-10-13  Jim Meyering  <meyering@redhat.com>
24229
24230         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
24231         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
24232         * modules/pipe-filter-ii: Likewise.
24233         * modules/sys_socket-tests: Likewise.
24234         * modules/tsearch-tests: Likewise.
24235         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
24236         (check): Depend on it.
24237
24238 2009-10-12  Eric Blake  <ebb9@byu.net>
24239
24240         utimens-tests: port to NFS file systems
24241         * tests/test-utimens.h (test_utimens): Refactor utimecmp
24242         comparisons to avoid spurious failures from timestamp drift
24243         between NFS machines.
24244
24245 2009-10-12  Eric Blake  <ebb9@byu.net>
24246
24247         stat-time-tests: minor cleanups
24248         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
24249         * tests/test-stat-time.c (nap): Separate assignment from call.
24250         Suggested by Paolo Bonzini and Bruno Haible.
24251
24252         sys_stat: guarantee struct timespec
24253         * lib/sys_stat.in.h (includes): Always include <time.h>
24254         * modules/sys_stat (Depends-on): Add time.
24255         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
24256         mode_t permission values.
24257         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
24258         get at subsecond timestamps.
24259
24260 2009-10-10  Eric Blake  <ebb9@byu.net>
24261
24262         futimens: new module
24263         * modules/futimens: New file.
24264         * lib/futimens.c (futimens): Likewise.
24265         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
24266         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
24267         we can work around Linux bugs.
24268         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
24269         * modules/sys_stat (Makefile.am): Substitute them.
24270         * lib/sys_stat.in.h (futimens): Declare it.
24271         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24272         * doc/posix-functions/futimens.texi (futimens): Likewise.
24273         * modules/futimens-tests: New test.
24274         * tests/test-futimens.c: Likewise.
24275
24276         utimens: introduce fdutimens
24277         * lib/utimens.h (fdutimens): New prototype.
24278         * lib/utimens.c (gl_futimens): Move guts...
24279         (fdutimens): ...to new interface.
24280         * tests/test-utimens.c (do_fdutimens): Use it.
24281
24282         utimens: add UTIME_NOW and UTIME_OMIT support
24283         * lib/utimens.c (validate_timespec, update_timespec): New helper
24284         functions.
24285         (gl_futimens, lutimens): Use them.
24286         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
24287         stdbool, sys_stat.
24288         (Link): Mention resulting library dependency.
24289         * modules/utimecmp (Link): Likewise.
24290         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
24291         (Makefile.am): Pick up library dependency.
24292         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
24293         definition.
24294         * tests/test-sys_stat.c: Test the definitions.
24295         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
24296         * NEWS: Document library dependency.
24297
24298         utimecmp: support symlink timestamps
24299         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
24300         hashing when possible.  Use pathconf when available.
24301         (SYSCALL_RESOLUTION): Recognize tighter resolution.
24302         * modules/utimecmp (Depends-on): Add lstat.
24303
24304         utimens: add lutimens interface
24305         * lib/utimens.c (lutimens): New function.
24306         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
24307         * lib/utimens.h (lutimens): Declare new interface.
24308         * tests/test-utimens.c (main): Enhance test.
24309         * tests/test-lutimens.h (test_lutimens): New file.
24310         * modules/utimens-tests (Files): Distribute it.
24311         (Depends-on): Add symlink.
24312         (configure.ac): Check for usleep.
24313
24314         utimens: validate futimens usage
24315         * lib/utimens.c (gl_futimens): Require valid fd up front, using
24316         fewer syscalls on failure later on.  Avoid compiler warning on
24317         mingw.
24318         * modules/utimens (Depends-on): Add dup2.
24319
24320         utimens: add test
24321         * modules/utimens-tests: New test.
24322         * tests/test-utimens.h: New file.
24323         * tests/test-futimens.h: Likewise.
24324         * tests/test-utimens.c: Likewise.
24325
24326         doc: mention timestamp portability issues
24327         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
24328         instead.
24329         * doc/posix-functions/utime.texi (utime): Likewise.
24330         * doc/posix-functions/utimes.texi (utimes): Likewise.
24331         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
24332         instead.
24333         * doc/posix-functions/futimens.texi (futimens): Mention utimens
24334         module.
24335         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
24336         Mention weakness with symlink timestamps.
24337         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
24338         to utimensat/futimens instead.
24339         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
24340
24341         test-dup2: enhance test
24342         * tests/test-dup2.c (main): Also check AT_FDCWD.
24343
24344         test-stat-time: avoid more spurious failures
24345         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
24346         xfs; and avoid race if the two timestamps cross quantization edge.
24347
24348         relocatable: prefer 'file system' over 'filesystem'
24349         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
24350         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
24351         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
24352         * doc/relocatable.texi (Enabling Relocatability): Likewise.
24353         * lib/relocatable.c (compute_curr_prefix): Likewise.
24354
24355 2009-10-10  Jim Meyering  <meyering@redhat.com>
24356
24357         stat-time-tests: check for the usleep function
24358         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
24359
24360 2009-10-10  Bruno Haible  <bruno@clisp.org>
24361
24362         * modules/xnanosleep: Put the Link section after the Include section.
24363
24364 2009-10-09  Eric Blake  <ebb9@byu.net>
24365
24366         dup2: work around FreeBSD 6.1 bug
24367         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
24368         * doc/posix-functions/dup2.texi (dup2): Document it.
24369         Reported by Nelson H. F. Beebe and Jim Meyering.
24370
24371         test-stat-time: port to buggy NFS clients
24372         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
24373         (test_ctime): Also skip test if mtime and ctime are skewed.
24374
24375         maint: prefer 'file system' over 'filesystem'
24376         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
24377         * doc/posix-functions/lstat.texi (lstat): Likewise.
24378         * lib/file-has-acl.c (file_has_acl): Likewise.
24379         * lib/fwriteerror.c [TEST]: Likewise.
24380         * tests/test-areadlink.h (test_areadlink): Likewise.
24381         * tests/test-areadlinkat-with-size.c (main): Likewise.
24382         * tests/test-areadlinkat.c (main): Likewise.
24383         * tests/test-canonicalize-lgpl.c (main): Likewise.
24384         * tests/test-canonicalize.c (main): Likewise.
24385         * tests/test-fstatat.c (main): Likewise.
24386         * tests/test-linkat.c (main): Likewise.
24387         * tests/test-lstat.h (test_lstat_func): Likewise.
24388         * tests/test-mkdir.h (test_mkdir): Likewise.
24389         * tests/test-readlink.h (test_readlink): Likewise.
24390         * tests/test-remove.c (main): Likewise.
24391         * tests/test-rename.h (test_rename): Likewise.
24392         * tests/test-renameat.c (main): Likewise.
24393         * tests/test-rmdir.h (test_rmdir_func): Likewise.
24394         * tests/test-symlink.h (test_symlink): Likewise.
24395         * tests/test-symlinkat.c (main): Likewise.
24396         * tests/test-unlink.h (test_unlink_func): Likewise.
24397         * tests/test-unlinkat.c (main): Likewise.
24398
24399         maint: make realtime library usage explicit
24400         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
24401         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
24402         * modules/settime (Link): Likewise.
24403         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
24404
24405         test-stat-time: speed up execution
24406         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
24407         warning on mingw.
24408         (nap): New helper function.
24409         (prepare_test): Use it to reduce sleep time.
24410         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
24411         execution.
24412         * modules/stat-time-tests (configure.ac): Check for usleep.
24413
24414 2009-10-09  Jim Meyering  <meyering@redhat.com>
24415
24416         selinux-h: always use getfilecon wrappers
24417         * lib/getfilecon.c: New file.
24418         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
24419         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
24420         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
24421         (fgetfilecon): Provide a stub.
24422         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
24423         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
24424         file unconditionally.
24425         When <selinux/selinux.h> is found, arrange to use wrappers.
24426         * modules/selinux-h (Files): Add getfilecon.c.
24427         (Makefile.am): Substitute include-next-related bits
24428         into the now-always-generated selinux/selinux.h file.
24429         * doc/glibc-functions/lgetfilecon.texi: New file.
24430         * doc/glibc-functions/fgetfilecon.texi: New file.
24431         * doc/glibc-functions/getfilecon.texi: New file.
24432         * doc/glibc-functions/getfilecon-desc.texi: New file.
24433         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
24434         which to pull in the new files.
24435         * MODULES.html.sh (Misc): Add selinux-h.
24436
24437 2009-10-08  Jim Meyering  <meyering@redhat.com>
24438
24439         unistd: fix comment typo
24440         * lib/unistd.in.h (euidaccess): Fix a comment typo.
24441
24442 2009-10-08  Eric Blake  <ebb9@byu.net>
24443
24444         areadlink: use SIZE_MAX consistently
24445         * modules/areadlink (Depends-on): Add stdint.
24446         * modules/areadlink-with-size (Depends-on): Likewise.
24447         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
24448         gives NULL; drop sys/types, since unistd gives size_t; and add
24449         stdint for SIZE_MAX.
24450         (SIZE_MAX): Rely on headers.
24451         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
24452         and add stdint.
24453         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
24454         (SIZE_MAX): Likewise.
24455         (INITIAL_BUF_SIZE): Turn into enum.
24456         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
24457
24458 2009-10-08  Jim Meyering  <meyering@redhat.com>
24459
24460         areadlinkat: avoid compilation failure
24461         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
24462         Fix typo in comment.
24463
24464 2009-10-07  Eric Blake  <ebb9@byu.net>
24465
24466         areadlinkat-with-size: new module
24467         * modules/areadlinkat-with-size: New module.
24468         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
24469         * lib/areadlink.h (areadlinkat): Declare it.
24470         * MODULES.html.sh (File system functions): Mention it.
24471         * modules/areadlinkat-with-size-tests: New test.
24472         * tests/test-areadlinkat-with-size.c: New file.
24473
24474         xreadlinkat: new module
24475         * modules/xreadlinkat: New module.
24476         * lib/xreadlinkat.c (xreadlinkat): New file.
24477         * lib/xreadlink.h (xreadlinkat): Declare it.
24478         * MODULES.html.sh (File system functions): Mention it.
24479
24480         areadlinkat: new module
24481         * lib/at-func.c (FUNC_FAIL): New define.
24482         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
24483         * modules/areadlinkat: New module.
24484         * lib/linkat.c (areadlinkat): Move...
24485         * lib/areadlinkat.c (areadlinkat): ...to new file.
24486         * lib/areadlink.h (areadlinkat): Declare it.
24487         * modules/linkat (Depends-on): Add areadlinkat.
24488         * MODULES.html.sh (File system functions): Mention it.
24489         * modules/areadlinkat-tests: New test.
24490         * tests/test-areadlinkat.c: New file.
24491
24492         areadlink, areadlink-with-size: add tests
24493         * modules/areadlink-tests: New test.
24494         * modules/areadlink-with-size-tests: Likewise.
24495         * tests/test-areadlink.h: New file.
24496         * tests/test-areadlink.c: Likewise.
24497         * tests/test-areadlink-with-size.c: Likewise.
24498
24499         maint: minor cleanups
24500         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
24501         _UNUSED_PARAMETER_ instead.
24502         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
24503         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
24504         * modules/linkat-tests (Files): Distribute test-link.h.
24505
24506         openat, utimens: whitespace cleanup
24507         * lib/openat.c: Prefer space throughout, rather than mix of 8
24508         spaces vs. tabs.
24509         * lib/at-func.c: Likewise.
24510         * lib/utimens.c: Likewise.
24511
24512         openat: avoid using wrong fd
24513         * lib/openat.c (openat_permissive): Reject user's fd if saving the
24514         working directory chooses same fd.
24515         * lib/at-func.c (AT_FUNC_NAME): Likewise.
24516
24517         mkdir, mkdirat: fix cygwin 1.5.x bug
24518         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
24519         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
24520         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
24521         bug.
24522         (gl_PREREQ_MKDIR): Delete unused macro.
24523         * modules/mkdir (Files): Track file rename.
24524         (configure.ac): Update macro name.
24525         * modules/openat (Depends-on): Add mkdir.
24526         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
24527
24528         mkdir, mkdirat: add tests
24529         * modules/mkdir-tests: New test.
24530         * tests/test-mkdir.h: New file.
24531         * tests/test-mkdir.c: Likewise.
24532         * tests/test-mkdirat.c: Likewise.
24533         * modules/openat-tests (Files): Add new files.
24534         (Makefile.am): Run new test.
24535
24536 2009-10-06  Eric Blake  <ebb9@byu.net>
24537
24538         doc: tweak *at function documentation
24539         * doc/posix-functions/faccessat.texi (faccessat): Mention
24540         known issue with replacement.
24541         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
24542         * doc/posix-functions/linkat.texi (linkat): Likewise.
24543         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
24544         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
24545         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
24546         * doc/posix-functions/renameat.texi (renameat): Likewise.
24547         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
24548
24549         openat: fix GNU/Hurd bug in unlinkat
24550         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
24551         broken.
24552         * doc/posix-functions/unlink.texi (unlink): Document this.
24553         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
24554
24555         fdopendir: fix GNU/Hurd bug
24556         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
24557         allowing non-directory fds.
24558         * lib/fdopendir.c (rpl_fdopendir): Work around it.
24559         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
24560         * modules/dirent (Makefile.am): Substitute it.
24561         * lib/dirent.in.h (fdopendir): Declare replacement.
24562         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
24563         * tests/test-fdopendir.c (main): Test something other than
24564         /dev/null, since on Hurd that behaves like a directory.
24565
24566         test-symlink: port to GNU/Hurd
24567         * tests/test-symlink.h (test_symlink): Relax expected errno.
24568
24569         doc: tweak more cygwin information
24570         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
24571         now compatible with glibc.
24572         * doc/posix-functions/getopt.texi (getopt): Likewise.
24573
24574         getopt-gnu: add another test
24575         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
24576         guarantee behavior relied on by m4.
24577         * tests/test-getopt.c (main): Use it.
24578         * modules/getopt-posix-tests (Depends-on): Add setenv.
24579         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
24580
24581         getopt: fix compilation on darwin
24582         * lib/getopt.in.h (includes): Leave breadcrumbs during system
24583         include.
24584         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
24585         Reported by Ludovic Courtès.
24586
24587 2009-10-06  Bruno Haible  <bruno@clisp.org>
24588
24589         * modules/size_max (Description): Discourage its use.
24590         Reported by Simon Josefsson.
24591
24592 2009-10-06  Jim Meyering  <meyering@redhat.com>
24593
24594         linkat: avoid compilation failure
24595         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
24596
24597 2009-10-05  Eric Blake  <ebb9@byu.net>
24598
24599         linkat: support Linux 2.6.17
24600         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
24601         linkat on Linux, but allow cache variable override.
24602         * lib/linkat.c (rpl_linkat): Define override.
24603         * modules/linkat (Depends-on): Add symlinkat.
24604         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
24605         * modules/unistd (Makefile.am): Substitute it.
24606         * lib/unistd.in.h (linkat): Declare replacement.
24607         Reported by Pádraig Brady.
24608
24609         quotearg: port test to systems with C.UTF-8 locale
24610         * tests/test-quotearg.c (struct result_strings): Add another
24611         member, differentiating between C.ASCII and C.UTF-8 handling.
24612         (compare_strings): Add parameter.
24613         (main): Adjust all callers.
24614
24615         getopt: avoid clash with FreeBSD _getopt_internal
24616         * lib/getopt.in.h (_getopt_internal): Override the name.
24617         * lib/getopt_int.h (includes): Pick up any overrides.
24618         Reported by Reuben Thomas.
24619
24620         hash: allow C89 compilation
24621         * lib/hash.c (check_tuning): Move declaration before statement.
24622         Reported by Reuben Thomas.
24623
24624 2009-10-05  Karl Berry  <karl@gnu.org>
24625
24626         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
24627
24628 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
24629             Bruno Haible  <bruno@clisp.org>
24630
24631         * lib/uname.c (uname): Use a table-driven algorithm to compute
24632         Windows NT versions.
24633
24634 2009-10-04  Bruno Haible  <bruno@clisp.org>
24635
24636         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
24637         program_invocation_short_name.
24638         * modules/progname (configure.ac): Test for presence of
24639         program_invocation_short_name.
24640         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
24641
24642 2009-10-04  Bruno Haible  <bruno@clisp.org>
24643
24644         * lib/progname.c (set_program_name): Fix comment.
24645         Reported by Jim Meyering.
24646
24647 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
24648             Bruno Haible  <bruno@clisp.org>
24649
24650         * lib/uname.c: Include <string.h>.
24651         (uname): Do only one call to GetVersionEx in the common case.
24652
24653 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
24654             Bruno Haible  <bruno@clisp.org>
24655
24656         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
24657         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
24658         (uname): Add support for Windows CE and various non-x86 CPU types.
24659
24660 2009-10-03  Bruno Haible  <bruno@clisp.org>
24661
24662         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
24663         invocation to tests/configure.ac.
24664         Reported by Ian Beckwith <ianb@erislabs.net>.
24665
24666 2009-10-02  Eric Blake  <ebb9@byu.net>
24667
24668         fchdir: avoid compiler warning
24669         * lib/fchdir.c (canonicalize_file_name)
24670         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
24671
24672         test-open: support mingw errno values
24673         * tests/test-open.h (test_open): Relax test.
24674         * tests/test-fopen.h (test_fopen): Likewise.
24675         * tests/test-openat-safer.c (main): Likewise.
24676
24677         open: fix opening directory on mingw
24678         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
24679
24680         test-open: on GNU/Hurd, /dev/null is a directory
24681         * tests/test-fopen.h (main): Rename...
24682         (test_fopen): ...to this.  Use a guaranteed non-directory when
24683         confirming open behavior on trailing slash.
24684         * tests/test-openat-safer.c (main): Likewise.
24685         * tests/test-open.h (main): Likewise....
24686         (test_open): ...to this.
24687         * tests/test-fopen.c (main): Adjust caller.
24688         * tests/test-fopen-safer.c (main): Likewise.
24689         * tests/test-open.c (main): Likewise.
24690         * tests/test-fcntl-safer.c (main): Likewise.
24691         Reported by Samuel Thibault.
24692
24693         rename, fchdir: don't ignore chdir failure
24694         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
24695         * lib/rename.c (rpl_rename) [W32]: Likewise.
24696         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
24697         an empty destination directory if source cannot be renamed,
24698         although there is still possibility for failure.
24699         * doc/posix-functions/rename.texi (rename): Document the race.
24700         Reported by Jim Meyering.
24701
24702         maint: cleanup whitespace in recent commits
24703         * lib/rename.c (rpl_rename): Remove tabs.
24704         * tests/test-link.h (test_link): Likewise.
24705         * lib/fchdir.c (get_name): Likewise.
24706         Reported by Jim Meyering.
24707
24708 2009-10-02  Ben Pfaff  <blp@gnu.org>
24709
24710         relocatable-prog-wrapper: Add missing dependency on
24711         double-slash-root.
24712         * modules/relocatable-prog-wrapper: Add dependency.
24713         Reported by Ian Beckwith <ianb@erislabs.net>.
24714
24715 2009-10-02  Eric Blake  <ebb9@byu.net>
24716
24717         renameat: fix Solaris bugs
24718         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
24719         needed fixing.
24720         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
24721         * modules/stdio (Makefile.am): Substitute it.
24722         * lib/stdio.in.h (renameat): Declare replacement.
24723         * lib/renameat.c (rpl_renameat): Implement fix.
24724
24725         renameat: new module
24726         * modules/renameat: New file.
24727         * lib/renameat.c (renameat): Likewise.
24728         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
24729         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
24730         * modules/stdio (Makefile.am): Substitute them.
24731         * lib/stdio.in.h (renameat): Declare it.
24732         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24733         * doc/posix-functions/renameat.texi (renameat): Likewise.
24734         * modules/renameat-tests: New test.
24735         * tests/test-renameat.c: Likewise.
24736
24737         rename: fix mingw bugs
24738         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
24739         directory overwrite bugs.
24740
24741         rename: fix another cygwin 1.5 bug
24742         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
24743         checks.
24744         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
24745         unnecessary cygwin workarounds.  Also work around bug with moving
24746         full directory onto an empty one.
24747         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
24748
24749         rename-dest-slash: merge into rename module
24750         * modules/rename-dest-slash (Status): Mark obsolete.
24751         (Depends-on): Add rename.
24752         (Files): Let rename do it all.
24753         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
24754         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
24755         * m4/rename-dest-slash.m4: ...so this file can be deleted.
24756         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
24757         * lib/rename.c (rpl_rename): Update comments.
24758
24759         rename: fix cygwin 1.5.x bugs
24760         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
24761         * lib/rename.c (rpl_rename): Work around them.
24762         * modules/rename (Depends-on): Add same-inode.
24763
24764         rename: fix Solaris 10 bug
24765         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
24766         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
24767         was the only bug.
24768
24769         rename: fix Solaris 9 bug
24770         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
24771         on non-directory.  Avoid calling exit.
24772         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
24773         strdup.
24774         * modules/rename-tests (Depends-on): Drop lstat.
24775         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
24776         (gl_PREREQ_RENAME): Delete unused macro.
24777
24778         rename-dest-slash: fix NetBSD bug
24779         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
24780         links.
24781         * modules/rename-dest-slash (Depends-on): Add same-inode.
24782
24783         rename-tests: new test, exposes several platform bugs
24784         * modules/rename-tests: New file.
24785         * tests/test-rename.h: Likewise.
24786         * tests/test-rename.c: Likewise.
24787         * doc/posix-functions/rename.texi (rename): Improve documentation,
24788         including bugs that will eventually be fixed in gnulib.
24789
24790 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
24791
24792         * lib/uname.c: Include <stdlib.h>
24793         (uname): Assume version info is available.
24794
24795 2009-10-02  Jim Meyering  <meyering@redhat.com>
24796
24797         gnu-web-doc-update: correct --help output
24798         * build-aux/gnu-web-doc-update: Make --help output relevant.
24799
24800         gnu-web-doc-update: add standard options
24801         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
24802
24803         gnu-web-doc-update: New module.
24804         Use this script to automatically update the on-line web documentation
24805         for your GNU project at http://www.gnu.org/software/$pkg/manual/
24806         * modules/gnu-web-doc-update: New file, from coreutils.
24807         * build-aux/gnu-web-doc-update: New script.
24808
24809 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
24810
24811         link: LoadLibrary is not needed.
24812         * lib/link.c: Use GetModuleHandle.
24813
24814 2009-10-01  Eric Blake  <ebb9@byu.net>
24815
24816         getopt: bump serial number
24817         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
24818         change.
24819
24820         tests: tighten link, rmdir, and remove tests
24821         * tests/test-link.h (includes): No need to use <config.h> here.
24822         Clean up if directory hard link was created, otherwise test for
24823         trailing '.'.
24824         * tests/test-linkat.c (main): Simplify.
24825         * tests/test-remove.c (main): Enhance test for trailing '.'.
24826         * tests/test-rmdir.h (test_rmdir_func): Likewise.
24827
24828 2009-10-01  Jim Meyering  <meyering@redhat.com>
24829
24830         maint.mk: requiring "make major" was annoying, for a "minor" release.
24831         What is intended is "stable", to contrast with alpha and beta,
24832         so require "make stable", not "make major".
24833         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
24834         (get_tool_versions): Likewise.
24835         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
24836
24837 2009-09-30  Ben Pfaff  <blp@gnu.org>
24838
24839         Fix broken build of replacement for Windows tmpfile().
24840         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
24841         flags argument added along with the 'mkostemp' module.
24842
24843 2009-09-28  Bruno Haible  <bruno@clisp.org>
24844
24845         Avoid identifier clash with POSIX function 'remove' defined as a macro.
24846         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
24847         to 'remove_elt'.
24848         (gl_list_remove): Update.
24849         * lib/gl_list.c (gl_list_remove): Update.
24850         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
24851         to 'remove_elt'.
24852         (gl_oset_remove): Update.
24853         * lib/gl_list.c (gl_oset_remove): Update.
24854         Reported by Eric Blake.
24855
24856 2009-09-28  Eric Blake  <ebb9@byu.net>
24857
24858         doc: mention yet more cygwin 1.7 status
24859         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
24860         cygwin.
24861         * doc/glibc-functions/execvpe.texi (execvpe): New file.
24862         * doc/gnulib.texi (Glibc unistd.h): Mention it.
24863
24864         argp: fix test failure
24865         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
24866         that are not upper-case.  Pass correct range to tolower.
24867
24868 2009-09-27  Jim Meyering  <meyering@redhat.com>
24869
24870         test-yesno: work around sparc-dash here-document infelicity
24871         Without this change, the literal \177 byte in a here document
24872         would make dash 0.5.5.1-3 access uninitialized memory.
24873         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
24874         Instead, use a marker, "@", and filter through tr to create the desired
24875         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
24876
24877 2009-09-27  Bruno Haible  <bruno@clisp.org>
24878
24879         Disable untested support for new flavours of ACLs on AIX.
24880         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
24881         progress.
24882         * lib/set-mode-acl.c (qset_acl): Likewise.
24883
24884 2008-12-07  Bruno Haible  <bruno@clisp.org>
24885
24886         Add support for new flavours of ACLs on AIX. (Untested.)
24887         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
24888         (file_has_acl): Add support for newer AIX.
24889         * lib/set-mode-acl.c (qset_acl): Likewise.
24890         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
24891         Rainer Tammer <tammer@tammer.net>.
24892
24893 2009-09-26  Eric Blake  <ebb9@byu.net>
24894
24895         argp: fix compilation of getopt
24896         * lib/getopt.in.h (includes): Use different guard than glibc.
24897         Reported by Sergey Poznyakoff.
24898
24899         doc: mention more cygwin 1.7 status
24900         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
24901         bug.
24902         * doc/posix-functions/execl.texi (execl): Likewise.
24903         * doc/posix-functions/execle.texi (execle): Likewise.
24904         * doc/posix-functions/execlp.texi (execlp): Likewise.
24905         * doc/posix-functions/execv.texi (execv): Likewise.
24906         * doc/posix-functions/execve.texi (execve): Likewise.
24907         * doc/posix-functions/execvp.texi (execvp): Likewise.
24908         * doc/glibc-functions/canonicalize_file_name.texi
24909         (canonicalize_file_name): Cygwin 1.7 now provides this.
24910         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
24911         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
24912         on AT_SYMLINK_NOFOLLOW.
24913
24914 2009-09-24  Eric Blake  <ebb9@byu.net>
24915
24916         test-linkat: make test more robust
24917         * tests/test-linkat.c (main): Avoid collision with EEXIST.
24918
24919         getopt: fix inclusion guards for cygwin
24920         * modules/getopt-posix (Depends-on): Add include-next.
24921         (Makefile.am): Substitute more items in replacement header.
24922         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
24923         <getopt.h>.
24924         * lib/getopt.in.h (includes): Use split inclusion guard, and
24925         prefer <getopt.h> over include <unistd.h> when one is present.
24926         (option): Also override name of 'struct option'.
24927
24928         same-inode: revert prior change; it is not yet ready
24929         * NEWS: Undo mention of this change.
24930         * lib/same-inode.h (same-inode.h): Undo tri-state change.
24931         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
24932         * lib/cycle-check.c (cycle_check): Likewise.
24933         * lib/same.c (same_name): Likewise.
24934         * lib/at-func2.c (at_func2): Likewise.
24935
24936 2009-09-23  Eric Blake  <ebb9@byu.net>
24937
24938         linkat: new module
24939         * modules/linkat: New file.
24940         * lib/at-func2.c (at_func2): Likewise.
24941         * lib/linkat.c (linkat): Likewise.
24942         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
24943         * lib/openat-priv.h (at_func2): Add declaration.
24944         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
24945         * modules/unistd (Makefile.am): Substitute them.
24946         * lib/unistd.in.h (linkat): Declare it.
24947         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
24948         * doc/posix-functions/linkat.texi (linkat): Likewise.
24949         * doc/posix-functions/link.texi (link): Tweak wording.
24950         * tests/test-link.c (main): Move guts...
24951         * tests/test-link.h (test_link): ...into new file.
24952         * modules/linkat-tests: New test.
24953         * tests/test-linkat.c: Likewise.
24954         * modules/link-tests (Files): Ship new file.
24955         (Depends-on): Add stdbool.
24956
24957         dirname: add library-safe mdir_name
24958         * lib/dirname.h (mdir_name): New prototype.
24959         * lib/dirname.c (dir_name): Move guts...
24960         (mdir_name): ...to new function that avoids xalloc_die.
24961
24962         fchdir: another mingw fix
24963         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
24964         * lib/fchdir.c (get_name): New helper method; skips canonicalize
24965         on mingw (where it has not yet been ported), and make it optional
24966         elsewhere.
24967         (_gl_register_fd): Use it.
24968
24969         same-inode: make SAME_INODE tri-state, to port to mingw
24970         * NEWS: Mention this change.
24971         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
24972         st_ino always being 0.
24973         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
24974         * lib/cycle-check.c (cycle_check): Likewise.
24975         * lib/same.c (same_name): Likewise.
24976
24977         lstat: avoid mingw compilation error
24978         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
24979         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
24980         lstat ourselves.
24981         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
24982         was adequate.
24983         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
24984         the checks for lstat.
24985         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
24986
24987         link: fix test failure on Solaris 9
24988         * lib/link.c (rpl_link): Don't assume link will catch bogus
24989         trailing slash on source.
24990
24991         test-symlinkat: enhance test
24992         * tests/test-readlink.c (main): Move guts...
24993         * tests/test-readlink.h (test_readlink): ...into new file.
24994         * tests/test-symlink.c (main): Move guts...
24995         * tests/test-symlink.h (test_symlink): ...into new file.
24996         * tests/test-symlinkat.c (main): Use new files for further
24997         coverage.
24998         (do_symlink, do_readlink): New helper functions.
24999         * modules/symlink-tests (Files): Ship new file.
25000         (Depends-on): Add stdbool.
25001         * modules/readlink-tests (Files): Ship new file.
25002         (Depends-on): Add stdbool.
25003         * modules/symlinkat-tests (Files): Use new files.
25004
25005 2009-09-23  Eric Blake  <ebb9@byu.net>
25006
25007         readlink: document portability issue with symlink length
25008         * doc/posix-functions/lstat.texi (lstat): Mention that some file
25009         systems have bogus st_size on symlinks, and mention the
25010         areadlink-with-size module.
25011         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
25012         * doc/posix-functions/readlink.texi (readlink): Mention the
25013         areadlink module, and ERANGE failure.
25014         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25015         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
25016
25017         readlink: fix Solaris 9 bug with trailing slash
25018         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
25019         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
25020         * doc/posix-functions/readlink.texi (readlink): Document this.
25021         * modules/readlink-tests: New test.
25022         * tests/test-readlink.c: Likewise.
25023
25024         readlink: fix cygwin 1.5.x bug with return type
25025         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
25026         * lib/unistd.in.h (readlink): Use ssize_t.
25027         * lib/readlink.c (readlink): Likewise.
25028         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25029         * modules/unistd (Makefile.am): Substitute it.
25030         * lib/unistd.in.h (readlink): Declare replacement.
25031         * doc/posix-functions/readlink.texi (readlink): Document this.
25032
25033         symlink: use throughout gnulib
25034         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
25035         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
25036         symlink is not used.
25037         * modules/symlinkat (Depends-on): Add symlink.
25038         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
25039         * modules/canonicalize-tests (Depends-on): Likewise.
25040         * modules/lstat-tests (Depends-on): Likewise.
25041         * modules/openat-tests (Depends-on): Likewise.
25042         * modules/remove-tests (Depends-on): Likewise.
25043         * modules/rmdir-tests (Depends-on): Likewise.
25044         * modules/unlink-tests (Depends-on): Likewise.
25045         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
25046         * tests/test-canonicalize.c (symlink): Likewise.
25047         * tests/test-fstatat.c (symlink): Likewise.
25048         * tests/test-lstat.c (symlink): Likewise.
25049         * tests/test-remove.c (symlink): Likewise.
25050         * tests/test-rmdir.c (symlink): Likewise.
25051         * tests/test-unlink.c (symlink): Likewise.
25052         * tests/test-unlinkat.c (symlink): Likewise.
25053
25054         symlink: new module, for Solaris 9 bug
25055         * modules/symlink: New file.
25056         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
25057         * lib/symlink.c: Likewise.
25058         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
25059         * modules/unistd (Makefile.am): Substitute them.
25060         * lib/unistd.in.h (symlink): Declare replacement.
25061         * MODULES.html.sh (File system functions): Mention it.
25062         * doc/posix-functions/symlink.texi (symlink): Likewise.
25063         * modules/symlink-tests: New test.
25064         * tests/test-symlink.c: Likewise.
25065
25066 2009-09-23  Bruno Haible  <bruno@clisp.org>
25067
25068         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
25069         when needed.
25070         Test case: gnulib-tool --import --with-tests atexit inttypes.
25071         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
25072
25073 2009-09-23  Bruno Haible  <bruno@clisp.org>
25074
25075         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
25076         subcommand, not in a subshell.
25077
25078 2009-09-22  Eric Blake  <ebb9@byu.net>
25079
25080         unistd: sort replacement declarations
25081         * lib/unistd.in.h: Sort declarations.
25082
25083         open, openat: minor optimization
25084         * lib/open.c (open): If open succeeded, len is non-zero.
25085         * lib/openat.c (rpl_openat): Likewise.
25086
25087         link-follow: ensure correct result
25088         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
25089         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
25090         distinguish between possible failures.
25091
25092 2009-09-21  Eric Blake  <ebb9@byu.net>
25093
25094         fts: avoid compiler warning
25095         * lib/fts.c (dirent_inode_sort_may_be_useful)
25096         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
25097
25098 2009-09-19  Bruno Haible  <bruno@clisp.org>
25099
25100         * lib/progreloc.c (canonicalize_file_name): New declaration.
25101
25102 2009-09-19  Eric Blake  <ebb9@byu.net>
25103
25104         link: fix quoting
25105         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
25106
25107         openat: fix openat bugs on Solaris 9
25108         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
25109         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
25110         * modules/openat (Depends-on): Add open.
25111         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
25112         * modules/fcntl-h (Makefile.am): Substitute it.
25113         * lib/fcntl.in.h (openat): Declare replacement.
25114         * doc/posix-functions/openat.texi (openat): Document this.
25115
25116         openat: move fstatat and unlinkat into correct files
25117         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
25118         compiled.
25119         * lib/openat.c (fstatat, unlinkat): Move...
25120         * lib/fstatat.c (fstatat): ...into correct files.
25121         * lib/unlinkat.c (unlinkat): Likewise.
25122
25123         openat: fix unlinkat bugs on Solaris 9
25124         * lib/unlinkat.c (unlinkat): New file.
25125         * modules/openat (Depends-on): Add unlink.
25126         (Files): Distribute it.
25127         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
25128         trailing slash behavior is broken.
25129         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25130         * modules/unistd (Makefile.am): Substitute it.
25131         * lib/unistd.in.h (unlinkat): Declare replacement.
25132         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
25133
25134         openat: fix fstatat bugs on Solaris 9
25135         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
25136         stat.
25137         * doc/posix-functions/fstatat.texi (fstatat): Document this.
25138
25139         test-unlinkat: enhance test, to expose Solaris 9 bug
25140         * tests/test-unlink.c (main): Factor guts...
25141         * tests/test-unlink.h (test_rmdir_func): ...into new file.
25142         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
25143         * tests/test-rmdir.c (main): Adjust caller.
25144         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
25145         (unlinker): New helper function.
25146         (rmdirat): Enhance check.
25147         * modules/rmdir-tests (Depends-on): Add stdbool.
25148         * modules/unlink-tests (Depends-on): Likewise.
25149         (Files): Add test-unlink.h.
25150         * modules/openat-tests (Files): Likewise.
25151         (Depends-on): Add unlinkdir.
25152
25153         test-fstatat: new test, to expose Solaris 9 bugs
25154         * tests/test-stat.c (main): Factor guts...
25155         * tests/test-stat.h (test_stat_func): ...into new file.
25156         * tests/test-lstat.c (main): Factor guts...
25157         * tests/test-lstat.h (test_lstat_func): ...into new file.
25158         * tests/test-fstatat.c: New file.
25159         * modules/stat-tests (Files): Add test-stat.h.
25160         * modules/lstat-tests (Files): Add test-lstat.h.
25161         (Depends-on): Add stdbool.
25162         * modules/openat-tests (Depends-on): Add pathmax.
25163         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
25164         (Makefile.am): Run new test.
25165
25166         remove: new module, for mingw and Solaris 9 bugs
25167         * modules/remove: New file.
25168         * lib/remove.c: Likewise.
25169         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
25170         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
25171         * modules/stdio (Makefile.am): Use them.
25172         * lib/stdio.in.h (remove): Declare replacement.
25173         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25174         * doc/posix-functions/remove.texi (remove): Likewise.
25175         * modules/remove-tests: New test.
25176         * tests/test-remove.c: Likewise.
25177
25178         unlink: new module, for Solaris 9 bug
25179         * modules/unlink: New file.
25180         * lib/unlink.c: Likewise.
25181         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
25182         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
25183         * modules/unistd (Makefile.am): Use them.
25184         * lib/unistd.in.h (stat): Declare replacement.
25185         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25186         * doc/posix-functions/unlink.texi (unlink): Likewise.
25187         * modules/unlink-tests: New test.
25188         * tests/test-unlink.c: Likewise.
25189
25190         lstat: fix Solaris 9 bug
25191         * lib/lstat.c (lstat): Also check for trailing slash on
25192         non-symlink, non-directories.  Use stat module to simplify logic.
25193         * doc/posix-functions/lstat.texi (lstat): Document it.
25194         * modules/lstat-tests (Depends-on): Add errno, same-inode.
25195         (configure.ac): Check for symlink.
25196         * tests/test-lstat.c (main): Add more tests.
25197
25198         stat: add as dependency to other modules
25199         * modules/chown (Depends-on): Add stat.
25200         * modules/euidaccess (Depends-on): Likewise.
25201         * modules/fchdir (Depends-on): Likewise.
25202         * modules/isdir (Depends-on): Likewise.
25203         * modules/link (Depends-on): Likewise.
25204         * modules/lstat (Depends-on): Likewise.
25205         * modules/mkdir-p (Depends-on): Likewise.
25206         * modules/modechange (Depends-on): Likewise.
25207         * modules/open (Depends-on): Likewise.
25208         * modules/readlink (Depends-on): Likewise.
25209         * modules/same (Depends-on): Likewise.
25210
25211         stat: fix Solaris 9 bug
25212         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
25213         slash.
25214         * lib/stat.c (rpl_stat): Work around it.
25215         * doc/posix-functions/stat.texi (stat): Update documentation.
25216
25217         stat: new module, for mingw bug
25218         * modules/stat: New file.
25219         * lib/stat.c: Likewise.
25220         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
25221         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
25222         * modules/sys_stat (Makefile.am): Use them.
25223         * lib/sys_stat.in.h (stat): Declare replacement.
25224         * lib/openat.c (fstatat): Deal with lstat and stat being function
25225         macros.
25226         * modules/openat (Depends-on): Add inline.
25227         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
25228         * doc/posix-functions/stat.texi (stat): Likewise.
25229         * modules/stat-tests: New test.
25230         * tests/test-stat.c: Likewise.
25231
25232 2009-09-19  Jim Meyering  <meyering@redhat.com>
25233
25234         syntax-check: detect unnecessary inclusion of canonicalize.h
25235         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
25236
25237 2009-09-19  Eric Blake  <ebb9@byu.net>
25238
25239         canonicalize-lgpl: adjust clients to use correct header
25240         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
25241         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
25242         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
25243         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
25244         * lib/progreloc.c (includes): Likewise.
25245
25246 2009-09-19  Jim Meyering  <meyering@redhat.com>
25247
25248         test-posixtm.c: correct a comment
25249         * tests/test-posixtm.c: Correct first-line comment.
25250         Spotted by Eric Blake.
25251
25252 2009-09-16  Jim Meyering  <meyering@redhat.com>
25253
25254         posixtm-tests: make T const-correct; add a test case
25255         * tests/test-posixtm.c (T): Declare const.
25256         Add a test for -(2^31+1).
25257         Remove useless can-succeed-only-in-2002 test.
25258
25259         posixtm-tests: adjust the sole failing test
25260         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
25261         expected output matches what mktime now produces.  Cross-checked via
25262         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
25263
25264         posixtm: move #ifdef'd tests into a new module
25265         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
25266         * tests/test-posixtm.c: ... this new file.
25267         * modules/posixtm-tests: New module.
25268
25269 2009-09-19  Eric Blake  <ebb9@byu.net>
25270
25271         openat: simplify use of at-func.c
25272         * lib/at-func.c (includes): Include prerequisites here, to
25273         simplify requirements on client files.
25274         * lib/openat-priv.h: Add double-inclusion guard.
25275         * lib/faccessat.c (includes): Simplify.
25276         * lib/fchmodat.c (includes): Likewise.
25277         * lib/fchownat.c (includes): Likewise.
25278         * lib/mkdirat.c (includes): Likewise.
25279         * lib/mkfifoat.c (includes): Likewise.
25280         * lib/symlinkat.c (includes): Likewise.
25281
25282         openat: allow return of fd 0
25283         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
25284         * modules/save-cwd (Depends-on): Replace fcntl-safer with
25285         unistd-safer.
25286         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
25287         <fcntl.h>; this module does not leak fds.
25288         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
25289         must be allowed to return 0, leaving openat_safer to add the
25290         safety.
25291         (openat_permissive): Avoid writing to just-opened fd 2 if
25292         restoring the current directory fails.
25293         * lib/openat-die.c (openat_restore_fail): Add comment.
25294         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
25295         (save_cwd): Guarantee safe fd, but without use of open_safer.
25296         * tests/test-openat.c: New test.
25297         * modules/openat-tests (Files, Makefile.am): Distribute and build
25298         new file.
25299
25300         relocatable-prog-wrapper: fix build
25301         * modules/relocatable-prog-wrapper (Files): Update name of
25302         canonicalize m4 file, broken on 2009-09-17.
25303         Reported by emad hajjar <aleppos@hotmail.com>.
25304
25305 2009-09-19  Bruno Haible  <bruno@clisp.org>
25306
25307         * lib/safe-alloc.h: Use the standard header with GPL copyright.
25308         * lib/safe-alloc.c: Likewise.
25309         Reported by Ian Beckwith <ianb@erislabs.net>.
25310
25311 2009-09-18  Bruno Haible  <bruno@clisp.org>
25312
25313         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
25314         Reported by <erobles@sensacd.com.mx>.
25315
25316 2009-09-17  Eric Blake  <ebb9@byu.net>
25317
25318         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
25319         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
25320         slashes when checking if last component is missing.
25321         * tests/test-canonicalize.c (main): Test this.
25322
25323         canonicalize, canonicalize-lgpl: honor // if distinct from /
25324         * modules/canonicalize (Files): Add double-slash-root.m4.
25325         * modules/canonicalize-lgpl (Files): Likewise.
25326         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
25327         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
25328         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
25329         fallback definition.
25330         (canonicalize_filename_mode): Use it to protect //.
25331         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
25332         (__realpath): Likewise.
25333         * tests/test-canonicalize.c (main): Test this.
25334         * tests/test-canonicalize-lgpl.c (main): Likewise.
25335         * modules/canonicalize-tests (Depends-on): Add same-inode.
25336         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
25337
25338         canonicalize-lgpl: fix glibc bug with trailing slash
25339         * m4/canonicalize-lgpl.m4: Move contents...
25340         * m4/canonicalize.m4: ...here.
25341         (gl_CANONICALIZE_LGPL): Factor realpath check...
25342         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
25343         glibc 2.3.5 bug, fixed 2005-04-27.
25344         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
25345         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
25346         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
25347         * modules/canonicalize-lgpl (Files): Manage file rename.
25348         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
25349         * modules/stdlib (Makefile.am): Substitute witness.
25350         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
25351         is needed.
25352         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
25353         replacement is required.
25354         * lib/canonicalize.c (canonicalize_file_name): Likewise.
25355         * doc/glibc-functions/canonicalize_file_name.texi
25356         (canonicalize_file_name): Document this.
25357         * doc/posix-functions/realpath.texi (realpath): Likewise.
25358
25359         canonicalize-lgpl: reject non-directory with trailing slash
25360         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
25361         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
25362         catches failures in glibc 2.3.5.
25363         * tests/test-canonicalize.c (main): Likewise.
25364
25365         canonicalize-lgpl: use native realpath if it works
25366         * lib/canonicalize-lgpl.c (realpath): Guard with
25367         FUNC_REALPATH_WORKS.
25368         * lib/stdlib.in.h (realpath): Make declaration optional based on
25369         HAVE_REALPATH.
25370         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
25371         native realpath works.
25372         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
25373         * modules/stdlib (Makefile.am): Substitute witness.
25374
25375         canonicalize, canonicalize-lgpl: use <stdlib.h>
25376         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
25377         (Include): Mention <stdlib.h>.
25378         (configure.ac): Mention functions we provide.
25379         * modules/canonicalize (configure.ac): Likewise.
25380         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
25381         realpath if canonicalize_file_name is missing.
25382         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
25383         * modules/stdlib (Makefile.am): Substitute witnesses.
25384         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
25385         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
25386         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
25387         * NEWS: Document this.
25388         * doc/glibc-functions/canonicalize_file_name.texi
25389         (canonicalize_file_name): Likewise.
25390         * doc/posix-functions/realpath.texi (realpath): Likewise.
25391         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
25392
25393         test-canonicalize: consolidate into single C program
25394         * tests/test-canonicalize.sh: Delete; move setup into...
25395         * tests/test-canonicalize.c (main): ...the program, making it
25396         easier to run in debugger.  Add some tests.
25397         * modules/canonicalize-tests (Files): Remove unused file.
25398         (Depends-on): Add progname.
25399         (configure.ac, Makefile.am): Simplify.
25400
25401         test-canonicalize-lgpl: consolidate into single C program
25402         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
25403         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
25404         easier to run in debugger.  Add some tests.
25405         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
25406         (configure.ac, Makefile.am): Simplify.
25407
25408         canonicalize: avoid resolvepath
25409         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
25410         unnecessary checks.
25411         * lib/canonicalize.c (includes): Simplify.
25412         (canonicalize_file_name): Drop resolvepath implementation.
25413         * modules/canonicalize (Depends-on): Drop filenamecat.
25414
25415         canonicalize: don't lose errno
25416         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
25417         over calls to free.
25418
25419         canonicalize: simplify errno handling
25420         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
25421         assignment.
25422
25423         canonicalize, canonicalize-lgpl: update module dependencies
25424         * modules/canonicalize (Depends-on): Add extensions, lstat,
25425         pathmax, stdlib.
25426         (Files): Drop pathmax.h.
25427         (configure.ac): Adjust macro name.
25428         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
25429         lstat, stdlib, sys_stat.
25430         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
25431         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
25432         extensions.
25433         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
25434         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
25435         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
25436         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
25437         declaration, if available.
25438         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
25439         we can rely on the readlink module.
25440         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
25441         (includes): Use <unistd.h> unconditionally.
25442
25443 2009-09-17  Eric Blake  <ebb9@byu.net>
25444
25445         maint: make Include sections of modules consistent
25446         * modules/alloca: Use only header name; no need to list #include.
25447         * modules/alloca-opt: Likewise.
25448         * modules/arpa_inet: Likewise.
25449         * modules/canon-host: Likewise.
25450         * modules/configmake: Likewise.
25451         * modules/dirent: Likewise.
25452         * modules/eealloc: Likewise.
25453         * modules/environ: Likewise.
25454         * modules/fchdir: Likewise.
25455         * modules/fcntl: Likewise.
25456         * modules/fcntl-h: Likewise.
25457         * modules/gethrxtime: Likewise.
25458         * modules/gettime: Likewise.
25459         * modules/ignore-value: Likewise.
25460         * modules/inet_ntop: Likewise.
25461         * modules/inet_pton: Likewise.
25462         * modules/inttypes: Likewise.
25463         * modules/isnand-nolibm: Likewise.
25464         * modules/isnanf-nolibm: Likewise.
25465         * modules/mbchar: Likewise.
25466         * modules/mbfile: Likewise.
25467         * modules/mbiter: Likewise.
25468         * modules/mbuiter: Likewise.
25469         * modules/netdb: Likewise.
25470         * modules/netinet_in: Likewise.
25471         * modules/nproc: Likewise.
25472         * modules/pagealign_alloc: Likewise.
25473         * modules/poll: Likewise.
25474         * modules/printf-frexp: Likewise.
25475         * modules/pthread: Likewise.
25476         * modules/putenv: Likewise.
25477         * modules/random_r: Likewise.
25478         * modules/relocatable-prog: Likewise.
25479         * modules/search: Likewise.
25480         * modules/select: Likewise.
25481         * modules/selinux-h: Likewise.
25482         * modules/settime: Likewise.
25483         * modules/signal: Likewise.
25484         * modules/size_max: Likewise.
25485         * modules/socklen: Likewise.
25486         * modules/ssize_t: Likewise.
25487         * modules/stdarg: Likewise.
25488         * modules/stdbool: Likewise.
25489         * modules/stddef: Likewise.
25490         * modules/stdint: Likewise.
25491         * modules/stdio: Likewise.
25492         * modules/stdlib: Likewise.
25493         * modules/string: Likewise.
25494         * modules/strings: Likewise.
25495         * modules/sys_file: Likewise.
25496         * modules/sys_ioctl: Likewise.
25497         * modules/sys_select: Likewise.
25498         * modules/sys_socket: Likewise.
25499         * modules/sys_stat: Likewise.
25500         * modules/sys_time: Likewise.
25501         * modules/sys_times: Likewise.
25502         * modules/sys_utsname: Likewise.
25503         * modules/sys_wait: Likewise.
25504         * modules/sysexits: Likewise.
25505         * modules/time: Likewise.
25506         * modules/times: Likewise.
25507         * modules/tmpfile: Likewise.
25508         * modules/trim: Likewise.
25509         * modules/unistd: Likewise.
25510         * modules/wchar: Likewise.
25511         * modules/wctype: Likewise.
25512
25513 2009-09-17  Bruno Haible  <bruno@clisp.org>
25514
25515         Make getdate.y compile on QNX and NetBSD 5 / i386.
25516         * m4/getdate.m4 (gl_GETDATE): Conditionally define
25517         TIME_T_FITS_IN_LONG_INT.
25518         * lib/getdate.y (long_time_t): New type.
25519         (relative_time): Change type of 'seconds' field to long_time_t.
25520         (get_date): Update types of local variables. Check against overflow
25521         during conversion from long_time_t to time_t.
25522         Reported by Matt Kraai <kraai@ftbfs.org>
25523         and Hasso Tepper <hasso@netbsd.org>.
25524
25525 2009-09-17  Bruno Haible  <bruno@clisp.org>
25526
25527         * modules/COPYING: Update copyright years.
25528         * modules/README: Likeiwse.
25529         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
25530         Reported by Ian Beckwith <ianb@erislabs.net>.
25531
25532 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
25533
25534         * users.txt: Update references for gnuit package.
25535
25536 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
25537
25538         * m4/getdelim.m4: Fix typo in copyright line.
25539
25540 2009-09-17  Bruno Haible  <bruno@clisp.org>
25541
25542         * lib/atoll.c: Use the standard header with GPL copyright.
25543         * lib/argz.in.h: Likewise.
25544         * lib/glob.c: Likewise.
25545         * lib/glob-libc.h: Likewise.
25546         * lib/random_r.c: Likewise.
25547         * lib/siglist.h: Likewise.
25548         * lib/strsignal.c: Likewise.
25549         Reported by Ian Beckwith <ianb@erislabs.net>.
25550
25551 2009-09-17  Eric Blake  <ebb9@byu.net>
25552
25553         rmdir: ensure correct dependency order
25554         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
25555
25556 2009-09-17  Bruno Haible  <bruno@clisp.org>
25557
25558         Disable assertion that fails on NetBSD 5 / i386.
25559         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
25560         Reported by Sam Steingold <sds@gnu.org>
25561         and Hasso Tepper <hasso@netbsd.org>.
25562
25563 2009-09-16  Eric Blake  <ebb9@byu.net>
25564
25565         unlinkdir: port to mingw
25566         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
25567         on which no one can unlink a directory.
25568
25569         stdlib: sort witness names
25570         * modules/stdlib (Makefile.am): Sort replacements.
25571         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
25572         * lib/stdlib.in.h: Likewise.
25573
25574         parse-duration-tests: avoid link failure
25575         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
25576         LIBINTL.
25577         Reported by Tom G. Christensen.
25578
25579         openat-tests: ensure unlinkat behaves like rmdir
25580         * tests/test-rmdir.c (main): Factor guts...
25581         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
25582         * modules/rmdir-tests (Files): Ship new file.
25583         * modules/openat-tests: New test.
25584         * tests/test-unlinkat.c: Likewise.
25585
25586         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
25587         * modules/rmdir-errno (Status, Notice): Now obsolete.
25588
25589         rmdir: work around cygwin 1.5.x and mingw bugs
25590         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
25591         * lib/rmdir.c (rmdir): Work around it.
25592         * modules/rmdir (Status, Notice): No longer obsolete.
25593         (Files): Add dos.m4.
25594         (Depends-on): Add unistd.
25595         (configure.ac): Set witnesses.
25596         (License): Relax to LGPLv2+.
25597         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
25598         * modules/unistd (Makefile.am): Substitute witnesses.
25599         * lib/unistd.in.h (rmdir): Declare replacement.
25600         * doc/posix-functions/rmdir.texi (rmdir): Document this.
25601         * modules/rmdir-tests: New tests.
25602         * tests/test-rmdir.c: Likewise.
25603
25604 2009-09-15  Eric Blake  <ebb9@byu.net>
25605
25606         fchdir: improve use of replacement functions
25607         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
25608         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
25609         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
25610         REPLACE_CLOSEDIR.
25611         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
25612         * modules/sys_stat (Makefile.am): Substitute correct witness.
25613         * modules/dirent (Makefile.am): Likewise.
25614         * modules/unistd (Makefile.am): Likewise.
25615         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
25616         * lib/unistd.in.h (dup): Likewise.
25617         * lib/sys_stat.in.h (fstat): Likewise.
25618
25619         maint: ignore gnulib-tool temp files
25620         * .gitignore: Ignore files created during gnulib-tool --test.
25621
25622 2009-09-13  Jim Meyering  <meyering@redhat.com>
25623
25624         posixtm: don't reject a time that specify "60" as the number of seconds
25625         * lib/posixtm.c (posixtime): The code to reject invalid dates
25626         would also reject a time specified with the .60 suffix.
25627         But POSIX allows that, in order to accommodate leap seconds.
25628         So don't reject it.
25629         (main): Adjust tests accordingly.
25630         * modules/posixtm (Depends-on): Add stpcpy.
25631
25632 2009-09-11  Jim Meyering  <meyering@redhat.com>
25633
25634         announce-gen: include [$release_type] in emitted Subject:
25635         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
25636         e.g., [stable] in the emitted Subject: line.
25637
25638 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25639
25640         Remove obsolete macros from several modules.
25641         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
25642         obsolete Autoconf macros with their modern counterparts.
25643         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
25644         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
25645         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
25646         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
25647         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
25648         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
25649         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
25650         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
25651         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
25652         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
25653         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
25654         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
25655         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
25656         * m4/sockets.m4 (gl_SOCKETS): Likewise.
25657         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
25658         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
25659         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
25660         * m4/time_r.m4 (gl_TIME_R): Likewise.
25661         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
25662         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
25663         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
25664
25665         Fix copyright header in build-aux scripts.
25666         * build-aux/git-version-gen: Fix copyright header to match GPLv3
25667         recommendation.
25668         * build-aux/ncftpput-ftp: Likewise.
25669         * build-aux/update-copyright: Likewise.
25670
25671 2009-09-09  Eric Blake  <ebb9@byu.net>
25672
25673         test-link: allow Linux choice of errno
25674         * tests/test-link.c (main): Relax test for alternate error.
25675
25676         strndup: fix improper m4 caching
25677         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
25678         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
25679         (gl_PREREQ_STRNDUP): Delete.
25680         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
25681         * modules/string (Makefile.am): Substitute it.
25682         * lib/string.in.h (strndup): Modernize prototype.
25683
25684         getcwd: port to mingw
25685         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
25686         different from the POSIX assumptions made throughout the getcwd
25687         module; fortunately, the mingw getcwd does not need replacement.
25688         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
25689         * modules/getcwd-tests: New test.
25690         * tests/test-getcwd.c: Likewise.
25691
25692         link: fix platform bugs
25693         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
25694         * lib/link.c (link): Work around them.  Fix related mingw bug.
25695         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
25696         * modules/unistd (Makefile.am): Substitute it.
25697         * lib/unistd.in.h (link): Declare replacement.
25698         * doc/posix-functions/link.texi (link): Document this.
25699         * modules/link (Depends-on): Add strdup-posix, sys_stat.
25700
25701         test-link: consolidate into single C program, test more cases
25702         * tests/test-link.sh: Delete.
25703         * tests/test-link.c: Test more error conditions.  Exposes bugs on
25704         at least Cygwin and Solaris.
25705         * modules/link-tests (Files): Remove unused file.
25706         (Depends-on): Add errno, sys_stat.
25707         (Makefile.am): Simplify.
25708
25709 2009-09-08  Bruno Haible  <bruno@clisp.org>
25710
25711         Work around towlower, towupper bug on mingw.
25712         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
25713         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
25714         * doc/posix-functions/towlower.texi: Mention the mingw bug.
25715         * doc/posix-functions/towupper.texi: Likewise.
25716         Reported by Eric Blake.
25717
25718 2009-09-08  Jim Meyering  <meyering@redhat.com>
25719
25720         build: don't try to run autoheader if we don't use it
25721         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
25722         is not used in configure.ac.
25723
25724 2009-09-08  Eric Blake  <ebb9@byu.net>
25725
25726         euidaccess: fix compilation error
25727         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
25728
25729         rawmemchr: relax license
25730         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
25731         okay.
25732         Reported by Jim Meyering.
25733
25734         mkfifoat: new module
25735         * modules/mkfifoat: New file.
25736         * lib/mkfifoat.c: Likewise.
25737         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
25738         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
25739         * modules/sys_stat (Makefile.am): Use them.
25740         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
25741         * MODULES.html.sh (File system functions): Mention module.
25742         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
25743         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
25744         * modules/mkfifoat-tests: New test.
25745         * tests/test-mkfifoat.c: Likewise.
25746
25747         strchrnul: relax license
25748         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
25749         okay.
25750         Reported by Jim Meyering.
25751
25752 2009-09-08  Eric Blake  <ebb9@byu.net>
25753
25754         fstatat: fix compilation on Solaris
25755         * lib/fstatat.c (includes): Add fcntl.h.
25756         Reported by Pádraig Brady.
25757
25758 2009-09-07  Eric Blake  <ebb9@byu.net>
25759
25760         rename: modernize replacement
25761         * modules/rename (Depends-on): Add stdio.
25762         (configure.ac): Declare witness.
25763         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
25764         stdio take care of replacement.
25765         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
25766         * modules/stdio (Makefile.am): Substitute them.
25767         * lib/stdio.in.h (rename): Declare replacement.
25768         * lib/rename.c (includes): Allow cross-compilation to non-windows
25769         machines.
25770         * doc/posix-functions/rename.texi (rename): Improve
25771         documentation.
25772
25773         stdio: sort witness names
25774         * modules/stdio (Makefile.am): Sort replacements.
25775         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
25776         * lib/stdio.in.h: Likewise.
25777
25778         getcwd: minor cleanups
25779         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
25780         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
25781
25782         openat: provide more convenience names
25783         * modules/faccessat (configure.ac): Add C witness.
25784         * lib/unistd.in.h (readlinkat): Fix typo.
25785         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
25786         convenience wrappers.
25787         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
25788         wrappers in syntax checks.
25789
25790 2009-09-06  Eric Blake  <ebb9@byu.net>
25791
25792         doc: fix comments in recent patches
25793         * lib/faccessat.c: Mention correct function.
25794         * lib/fchmodat.c: Likewise.
25795         * lib/fchownat.c: Likewise.
25796         * lib/symlinkat.c: Likewise.
25797         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
25798         constants.
25799
25800         faccessat, symlinkat: continue cleanup of previous patch
25801         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
25802         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
25803         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
25804         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
25805         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
25806         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
25807         set.
25808
25809 2009-09-06  Bruno Haible  <bruno@clisp.org>
25810
25811         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
25812         (fstatat): Declare if GNULIB_FSTATAT is set.
25813         (mkdirat): Declare if GNULIB_MKDIRAT is set.
25814         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
25815         (unlinkat): Declare if GNULIB_UNLINKAT is set.
25816         * modules/fcntl-h (Files): Remove m4/openat.m4.
25817         * modules/sys_stat (Files): Remove m4/openat.m4.
25818         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
25819         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
25820         * modules/unistd (Files): Remove m4/openat.m4.
25821         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
25822         GNULIB_OPENAT.
25823         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
25824         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
25825         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
25826         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
25827         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
25828         gl_OPENAT_DEFAULTS.
25829         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
25830         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
25831         Don't require gl_OPENAT_DEFAULTS.
25832         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
25833         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
25834         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
25835         (gl_OPENAT_DEFAULTS): Remove macro.
25836
25837 2009-09-06  Bruno Haible  <bruno@clisp.org>
25838
25839         * modules/openat (configure.ac): Remove unneeded witness.
25840
25841 2009-09-06  Bruno Haible  <bruno@clisp.org>
25842
25843         Set errno to ENOSYS when a function is entirely unsupported.
25844         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
25845         EOPNOTSUPP.
25846         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
25847         * modules/chown (Depends-on): Remove errno.
25848
25849 2009-09-06  Bruno Haible  <bruno@clisp.org>
25850
25851         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
25852
25853 2009-09-06  Bruno Haible  <bruno@clisp.org>
25854
25855         * lib/sys_stat.in.h: Fix preprocessor command indentation.
25856
25857 2009-09-06  Ben Pfaff  <blp@gnu.org>
25858             Bruno Haible  <bruno@clisp.org>
25859
25860         Work around a glibc bug in strtok_r.
25861         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
25862         Undefine if UNDEFINE_STRTOK_R is set.
25863         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
25864         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
25865         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
25866         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
25867         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
25868         UNDEFINE_STRTOK_R.
25869         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
25870
25871 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
25872
25873         exclude: minor fix
25874         * lib/exclude.c: Include wctype.h
25875
25876 2009-09-06  Akim Demaille  <demaille@gostai.com>
25877
25878         bootstrap: improve error message
25879         * build-aux/bootstrap (find_tool): Upon failure, report the list
25880         of candidates.
25881         Honor the initial value of the envvar.
25882
25883 2009-09-05  Eric Blake  <ebb9@byu.net>
25884
25885         symlinkat: new module
25886         * modules/symlinkat: New file.
25887         * lib/symlinkat.c: Likewise.
25888         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
25889         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
25890         * modules/unistd (Makefile.am): Use them.
25891         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
25892         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
25893         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
25894         * MODULES.html.sh (File system functions): Mention module.
25895         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
25896         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25897         * modules/symlinkat-tests: New test.
25898         * tests/test-symlinkat.c: Likewise.
25899
25900         test-openat-safer: add more checks
25901         * tests/test-openat-safer.c (main): Check more code paths.
25902
25903 2009-09-05  Jim Meyering  <meyering@redhat.com>
25904
25905         syntax-check: detect unnecessary inclusion of openat.h
25906         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
25907
25908 2009-09-05  Bruno Haible  <bruno@clisp.org>
25909
25910         Support towlower, towupper.
25911         * doc/posix-functions/towlower.texi: Mention module wctype.
25912         * doc/posix-functions/towupper.texi: Likewise.
25913         * lib/wctype.in.h (towlower, towupper): New functions.
25914         * tests/test-wctype.c: Include stdio.h, stdlib.h.
25915         (ASSERT): New macro.
25916         (e): New variable.
25917         (main): Test also towlower, towupper. Test WEOF argument.
25918         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
25919
25920 2009-09-05  Bruno Haible  <bruno@clisp.org>
25921
25922         Fix conversion behaviour when the input is invalid.
25923         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
25924         mark occurring in first pass of indirect conversion.
25925         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
25926         input.
25927         Found by clang's static analyzer.
25928
25929 2009-09-05  Bruno Haible  <bruno@clisp.org>
25930
25931         * tests/test-striconveh.c (main): Test indirect conversion on platforms
25932         where direct conversion is possible.
25933
25934 2009-09-04  Eric Blake  <ebb9@byu.net>
25935
25936         openat: fail with ENOENT on empty name
25937         * lib/openat-proc.c (openat_proc_name): Special-case the empty
25938         buffer.
25939
25940         link-follow: fix logic bug in prior patch
25941         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
25942         reversed sense of yes and no in prior patch.  Avoid confusing
25943         compilation failure with desired semantics.
25944
25945         link-follow: accomodate mingw and cross-compilation
25946         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
25947         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
25948         cross-compilation results to -1, to make linkat easier to
25949         implement when cross-compiling.  Trivially support mingw.
25950         * modules/link-follow (configure.ac): Call new name.
25951         * NEWS: Mention this.
25952
25953 2009-09-03  Eric Blake  <ebb9@byu.net>
25954
25955         faccessat: compile replacement
25956         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
25957         needed.
25958
25959         fts: fix compilation error
25960         * lib/fts.c (includes): Re-add "openat.h", for
25961         openat_needs_fchdir.
25962
25963         faccessat: new module
25964         * modules/faccessat: New file.
25965         * lib/faccessat.c: Likewise.
25966         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
25967         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
25968         * modules/unistd (Makefile.am): Use it.
25969         * lib/unistd.in.h (faccessat): Declare it.
25970         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
25971         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
25972         * MODULES.html.sh (File system functions): Mention it.
25973         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
25974         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
25975
25976         euidaccess: prefer POSIX over non-standard implementation
25977         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
25978         * lib/euidaccess.c (euidaccess): Use it if available.
25979
25980         openat: make template easier to use
25981         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
25982         AT_FUNC_F2 to be undefined.
25983         (VALIDATE_FLAG): New macro; use it to reject bad flags.
25984         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
25985         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
25986         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
25987         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
25988         Likewise.
25989         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
25990         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
25991         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
25992         Likewise.
25993
25994         openat: declare in POSIX headers
25995         * NEWS: Mention this.
25996         * modules/openat (configure.ac): Declare witnesses.
25997         (Depends-on): Add fcntl-h, sys_stat, unistd.
25998         (Include): Mention correct headers.
25999         * modules/fcntl-h (Depends-on): Add link-warning.
26000         (Files): Add openat.m4.
26001         (Makefile.am): Substitute witnesses.
26002         * modules/sys_stat (Files, Makefile.am): Likewise.
26003         * modules/unistd (Files, Makefile.am): Likewise.
26004         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
26005         (gl_OPENAT_DEFAULTS): New macro.
26006         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
26007         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
26008         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
26009         (SYS_STAT_H): Remove unused variable.
26010         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
26011         * lib/fcntl--.h (includes): Remove unneeded header.
26012         * lib/openat-safer.c (includes): Likewise.
26013         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
26014         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
26015         appropriate headers.
26016         (__OPENAT_PREFIX): Delete.
26017         * lib/fcntl.in.h (openat): Provide declaration.
26018         (AT_FDCWD): Fix Solaris bug.
26019         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
26020         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
26021         * lib/fchmodat.c (includes):  Adjust to find declaration.
26022         * lib/fchownat.c (includes): Likewise.
26023         * lib/mkdirat.c (includes): Likewise.
26024         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
26025         still visible.
26026
26027 2009-09-02  Eric Blake  <ebb9@byu.net>
26028
26029         errno: use consistently
26030         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
26031         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
26032         * lib/canonicalize.c (ELOOP): Likewise.
26033         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
26034         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
26035         * lib/lchown.c (EOPNOTSUPP): Likewise.
26036         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
26037         * lib/savewd.c (ESTALE): Likewise.
26038         * lib/settime.c (ENOSYS): Likewise.
26039         * lib/utimens.c (ENOSYS): Likewise.
26040         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
26041         * lib/chdir-safer.c (ELOOP): Likewise.
26042         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
26043         * modules/c-stack (Depends-on): Add errno.
26044         * modules/canonicalize (Depends-on): Likewise.
26045         * modules/chdir-safer (Depends-on): Likewise.
26046         * modules/fdopendir (Depends-on): Likewise.
26047         * modules/inet_ntop (Depends-on): Likewise.
26048         * modules/inet_pton (Depends-on): Likewise.
26049         * modules/lchown (Depends-on): Likewise.
26050         * modules/openat (Depends-on): Likewise.
26051         * modules/savewd (Depends-on): Likewise.
26052         * modules/settime (Depends-on): Likewise.
26053         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
26054
26055         fts: avoid leaking fds
26056         * modules/fts (Depends-on): Add cloexec.
26057         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
26058         flag.
26059
26060         fts: make directory fds more robust
26061         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
26062         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
26063
26064         backupfile, chdir-long, fts, savedir: make safer
26065         * lib/backupfile.c (includes): Use "dirent--.h", since
26066         numbered_backup can write to stderr during readdir.
26067         * lib/savedir.c (includes): Likewise.
26068         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
26069         emulation can write to stderr on failure.
26070         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
26071         * lib/getcwd.c: Document why opendir_safer is unused.
26072         * lib/glob.c: Likewise.
26073         * lib/scandir.c: Likewise.
26074         * lib/openat-proc.c: Likewise, for open_safer.
26075         * modules/backupfile (Depends-on): Add dirent-safer.
26076         * modules/savedir (Depends-on): Likewise.
26077         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
26078         * modules/chdir-long (Depends-on): Add openat-safer.
26079
26080         openat-safer: new module
26081         * modules/openat-safer: New file.
26082         * lib/openat-safer.c: Likewise.
26083         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
26084         * lib/fcntl-safer.h (openat_safer): Declare.
26085         * lib/fcntl--.h (openat): Override.
26086         * MODULES.html.sh (File descriptor based I/O): Mention it.
26087         * lib/openat.h: Add double-inclusion guards.
26088         * lib/openat.c (includes): Only include "fcntl-safer.h", not
26089         "fcntl--.h", so we can implement openat.
26090         * modules/openat-safer-tests: New test.
26091         * tests/test-openat-safer.c: New file.
26092
26093         dirent-safer: new module
26094         * modules/dirent-safer: New file.
26095         * lib/dirent--.h: Likewise.
26096         * lib/dirent-safer.h: Likewise.
26097         * lib/opendir-safer.c: Likewise.
26098         * m4/dirent-safer.m4: Likewise.
26099         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
26100         * modules/dirent-safer-tests: New test.
26101         * tests/test-dirent-safer.c: New file.
26102         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
26103
26104         fdopendir: optimize on mingw
26105         * lib/unistd.in.h (_gl_directory_name): New prototype.
26106         * lib/fchdir.c (_gl_directory_name): Implement it.
26107         (fchdir): Use it to simplify implementation.
26108         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
26109         fchdir, when available, to avoid calling [f]chdir().
26110
26111         fdopendir: split into its own module
26112         * lib/openat.c (fdopendir): Move...
26113         * lib/fdopendir.c: ...into new file.
26114         * modules/fdopendir: New module.
26115         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
26116         * modules/openat (Depends-on): Add fdopendir.
26117         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
26118         fdopendir here.
26119         * modules/savedir (Depends-on): Only need fdopendir, not full
26120         openat.
26121         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
26122         * lib/openat.h (fdopendir): Drop prototype.
26123         * lib/dirent.in.h (fdopendir): Provide prototype.
26124         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
26125         * modules/dirent (Makefile.am): Substitute them.
26126         * MODULES.html.sh (File system functions): Mention it.
26127         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
26128         * modules/fdopendir-tests: New file.
26129         * tests/test-fdopendir.c: Likewise.
26130
26131         fchdir: use more consistent macro convention
26132         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
26133         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
26134         REPLACE_FCHDIR, rather than relying on config.h macros.
26135         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
26136         inside a single make-time REPLACE_FCHDIR block, rather than using
26137         the config.h FCHDIR_REPLACEMENT.
26138         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
26139         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
26140         Manage fstat replacement.
26141         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
26142         REPLACE_FCHDIR.
26143         * modules/sys_stat (Files): Add m4/unistd_h.m4.
26144         (Makefile.am): Substitute REPLACE_FCHDIR.
26145         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
26146         FCHDIR_REPLACEMENT.
26147         * lib/dup-safer.c (dup_safer): Likewise.
26148         * lib/dup2.c (rpl_dup2): Likewise.
26149         * lib/dup3.c (rpl_dup3): Likewise.
26150         * lib/open.c (rpl_open): Likewise.
26151
26152         fchdir: simplify error handling, and support dup3
26153         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
26154         stdbool, malloc-posix, realloc-posix.
26155         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
26156         (ensure_dirs_slot): Return false on allocation failure.
26157         (rpl_dup2): Delete.
26158         (_gl_register_dup): New function.
26159         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
26160         (_gl_register_fd): Close fd on allocation failure.
26161         * lib/fcntl.in.h (_gl_register_fd): Update signature.
26162         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
26163         prototype.
26164         (rpl_dup2_fchdir): Delete prototype.
26165         * lib/open.c (open): Update caller.
26166         * lib/dup2.c (dup2): Track fchdir metadata.
26167         * lib/dup3.c (dup3): Likewise.
26168         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
26169         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
26170
26171 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26172
26173         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
26174         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
26175         don't pass arguments to AC_OUTPUT.
26176
26177 2009-09-02  Bruno Haible  <bruno@clisp.org>
26178
26179         * modules/mkdtemp (License): Relicense under LGPLv2+.
26180         Reported by Paolo Bonzini.
26181
26182 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26183
26184         Replace uses of obsolete autoconf macros in Jim's modules.
26185         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
26186         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
26187         can evoke a warning from autoconf when run with -Wobsolete
26188         enabled.  They were declared obsolete for good reasons (see
26189         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
26190         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
26191         should not continue using the deprecated macros.
26192         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
26193         obsolete Autoconf macros with modern counterparts.
26194         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
26195         * m4/dos.m4 (gl_AC_DOS): Likewise.
26196         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
26197         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
26198         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
26199         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
26200         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
26201         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
26202         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
26203         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
26204         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
26205         Likewise.
26206         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
26207         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
26208         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
26209         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
26210         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
26211         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
26212
26213 2009-09-01  Eric Blake  <ebb9@byu.net>
26214
26215         fchdir: fix off-by-one bug in previous patch
26216         * lib/fchdir.c (rpl_fstat): Use correct bounds.
26217         (_gl_unregister_fd): Delete useless if.
26218
26219 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
26220
26221         maint.mk: sort the list of syntax-check rules
26222         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
26223         easier to get a sense of progress when the rules are run sequentially
26224         and take a long time.
26225
26226 2009-09-01  Simon Josefsson  <simon@josefsson.org>
26227
26228         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
26229         * modules/netinet_in: Likewise.
26230         * modules/sys_file: Likewise.
26231         * modules/sys_ioctl: Likewise.
26232         * modules/sys_select: Likewise.
26233         * modules/sys_socket: Likewise.
26234         * modules/sys_stat: Likewise.
26235         * modules/sys_time: Likewise.
26236         * modules/sys_times: Likewise.
26237         * modules/sys_utsname: Likewise.
26238         * modules/sys_wait: Likewise.
26239
26240 2009-09-01  Jim Meyering  <meyering@redhat.com>
26241
26242         fts: help ensure that return values are not ignored
26243         * lib/fts_.h (__GNUC_PREREQ): Define.
26244         (__attribute_warn_unused_result__): Define.
26245         (fts_children, fts_close, fts_open, fts_read): Declare with
26246         __attribute_warn_unused_result__.
26247
26248         fts: fts_close now fails also when closing a dir file descriptor fails
26249         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
26250         and propagate to caller, along with errno.
26251
26252         announce-gen: correct formatting in --help output
26253         * build-aux/announce-gen (usage): Move the one-line description in
26254         --help output "up", to where it belongs, just after Usage:.
26255
26256 2009-08-31  Eric Blake  <ebb9@byu.net>
26257
26258         fchdir: port to mingw
26259         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
26260         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
26261         opened, then use a substitute.
26262         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
26263         replacement.
26264         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
26265         (_gl_register_fd): No need to check stat if open already filters
26266         all directories.
26267         (fchdir): Fix error condition to match POSIX.
26268         * modules/fchdir (Depends-on): Add sys_stat.
26269         * doc/posix-functions/open.texi (open): Document the limitation.
26270         * modules/fchdir-tests: New file.
26271         * tests/test-fchdir.c: Likewise.
26272
26273         canonicalize: allow cross-testing from cygwin to mingw
26274         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
26275         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
26276         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
26277         Likewise.
26278         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
26279         target does not support symlinks.
26280         * tests/test-canonicalize-lgpl.sh: Likewise.
26281
26282         chown: avoid compilation warning on mingw
26283         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
26284         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
26285         mingw.
26286         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
26287         * modules/chown (Depends-on): Add errno.
26288
26289 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
26290
26291         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
26292         command.
26293
26294 2009-08-31  Jim Meyering  <meyering@redhat.com>
26295
26296         canonicalize: remove useless initialization
26297         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
26298         initialization of local, "end".
26299
26300 2009-08-30  Bruno Haible  <bruno@clisp.org>
26301
26302         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
26303         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
26304         ENOSYS.
26305
26306 2009-08-30  Bruno Haible  <bruno@clisp.org>
26307
26308         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
26309         /usr/xpg4/bin/tr when it exists.
26310         * tests/test-pipe-filter-gi1.sh: Likewise.
26311
26312 2009-08-30  Bruno Haible  <bruno@clisp.org>
26313
26314         Work around deficient /usr/bin/id program on Solaris.
26315         * tests/test-file-has-acl.sh (ID): New variable.
26316         * tests/test-set-mode-acl.sh (ID): Likewise.
26317         * tests/test-copy-acl.sh (ID): Likewise.
26318         * tests/test-copy-file.sh (ID): Likewise.
26319
26320 2009-08-30  Bruno Haible  <bruno@clisp.org>
26321
26322         New module 'xstriconveh'.
26323         * lib/xstriconveh.h: New file.
26324         * lib/xstriconveh.c: New file.
26325         * modules/xstriconveh: New file.
26326
26327 2009-08-30  Bruno Haible  <bruno@clisp.org>
26328
26329         Make it easier to use mem_cd_iconveh.
26330         * lib/striconveh.h (iconveh_t): New type.
26331         (iconveh_open, iconveh_close): New declarations.
26332         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
26333         with a single 'const iconveh_t *' argument.
26334         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
26335         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
26336         with a single 'const iconveh_t *' argument.
26337         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
26338         * tests/test-striconveh.c (main): Update.
26339         * NEWS: Mention the change.
26340
26341 2009-08-30  Bruno Haible  <bruno@clisp.org>
26342
26343         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
26344         problem.
26345
26346 2009-08-30  Bruno Haible  <bruno@clisp.org>
26347
26348         Work around iconv_open problem on Solaris.
26349         * lib/iconv_open-solaris.gperf: New file.
26350         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
26351         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
26352         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
26353         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
26354         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
26355         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
26356
26357 2009-08-29  Jim Meyering  <meyering@redhat.com>
26358
26359         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
26360         * top/maint.mk (cvs-check): Remove target; it was just an alias
26361         to the better-named vc-diff-check.
26362         (maintainer-distcheck): Remove rule.  It was used only from
26363         the (alpha/beta/major) target, and all of its commands but one
26364         were coreutils-specific.
26365         (vc-dist): Remove rule.
26366         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
26367         Run vc-diff-check, not vc-dist.
26368         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
26369
26370 2009-08-27  Bruno Haible  <bruno@clisp.org>
26371
26372         * tests/test-bitrotate.c (main): Remove test that uses a shift count
26373         of 0.
26374
26375 2009-08-27  Bruno Haible  <bruno@clisp.org>
26376
26377         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
26378         compilers.
26379         * doc/func.texi: Document the SunPRO C bug.
26380
26381 2009-08-27  Bruno Haible  <bruno@clisp.org>
26382
26383         Fix link error on Solaris.
26384         * tests/test-parse-duration.c (xstrdup): Remove function.
26385
26386 2009-08-26  Pádraig Brady  <P@draigbrady.com>
26387
26388         ignore-value: handle pointer types, too
26389         * lib/ignore-value.h (__attribute__): Remove definition.
26390         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
26391         of a more concise and more-often effective "(void) i" statement.
26392         (ignore_ptr): New function to suppress warnings from functions that
26393         return pointers, and to make it explicit that one function doesn't
26394         handle all cases.
26395
26396 2009-08-25  Bruno Haible  <bruno@clisp.org>
26397
26398         dup2: work around a Linux bug.
26399         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
26400         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
26401         * doc/posix-functions/dup2.texi: Mention the Linux bug.
26402         Reported by Simon Josefsson.
26403
26404 2009-08-25  Jim Meyering  <meyering@redhat.com>
26405
26406         libguestfs uses gnulib
26407         * users.txt: Add libguestfs.
26408
26409 2009-08-24  Eric Blake  <ebb9@byu.net>
26410
26411         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
26412         * lib/pipe2.c (includes): Add binary-io.h.
26413         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
26414
26415 2009-08-24  Bruno Haible  <bruno@clisp.org>
26416
26417         Tolerate declared but missing accept4 syscall.
26418         * lib/accept4.c (accept4): Invoke original accept4 function first, if
26419         available.
26420         * lib/sys_socket.in.h (accept4): If the function is already present,
26421         override it.
26422         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
26423         * modules/accept4 (Makefile.am): Compile accept4.c always.
26424         Reported by Paolo Bonzini and Eric Blake.
26425
26426 2009-08-23  Bruno Haible  <bruno@clisp.org>
26427
26428         New module 'accept4'.
26429         * lib/sys_socket.in.h (accept4): New declaration.
26430         * lib/accept4.c: New file.
26431         * m4/accept4.m4: New file.
26432         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
26433         GNULIB_ACCEPT4, HAVE_ACCEPT4.
26434         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
26435         HAVE_ACCEPT4.
26436         * modules/accept4: New file.
26437         * doc/glibc-functions/accept4.texi: Mention the new module.
26438
26439 2009-08-24  Jim Meyering  <meyering@redhat.com>
26440
26441         progname: also set global program_invocation_name, when possible
26442         Before this change, a libtool-enabled program that calls glibc's
26443         error function would report the program name as
26444         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
26445         * modules/progname (configure.ac): Check for a declaration of
26446         program_invocation_name.
26447         * lib/progname.c:  Include <errno.h>.
26448         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
26449         Set program_invocation_name.
26450
26451 2009-08-23  Bruno Haible  <bruno@clisp.org>
26452
26453         * lib/dup3.c: Include <string.h>.
26454
26455 2009-08-23  Bruno Haible  <bruno@clisp.org>
26456
26457         * lib/dup3.c (dup3): Test only once whether the system actually exists.
26458         * lib/pipe2.c (pipe2): Likewise.
26459         Suggested by Eric Blake.
26460
26461 2009-08-23  Bruno Haible  <bruno@clisp.org>
26462
26463         Tolerate declared but missing dup3 syscall.
26464         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
26465         * lib/unistd.in.h (dup3): If the function is already present,
26466         override it.
26467         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
26468         * modules/dup3 (Makefile.am): Compile dup3.c always.
26469         Reported by Paolo Bonzini.
26470
26471 2009-08-23  Bruno Haible  <bruno@clisp.org>
26472
26473         Tolerate declared but missing pipe2 syscall.
26474         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
26475         available.
26476         * lib/unistd.in.h (pipe2): If the function is already present,
26477         override it.
26478         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
26479         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
26480         Reported by Paolo Bonzini.
26481
26482 2009-08-23  Bruno Haible  <bruno@clisp.org>
26483
26484         * lib/pipe2.c (pipe2): Move #ifs inside function.
26485
26486 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
26487
26488         quotearg: document limitations of quote_these_too
26489         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
26490         those limitations are created.
26491         * lib/quotearg.h (set_char_quoting): Document that digits and
26492         letters that are special after backslash are not permitted.
26493         (quotearg_char): Cross-reference set_char_quoting documentation.
26494
26495 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
26496
26497         quotearg: implement custom_quoting_style
26498         * lib/quotearg.c: (struct quoting_options): Add left_quote and
26499         right_quote fields.
26500         (set_custom_quoting): New public function.
26501         (quotearg_buffer_restyled): Add left_quote and right_quote
26502         arguments, handle them very much like locale quoting, and update
26503         all uses.
26504         (quotearg_n_custom): New public function.
26505         (quotearg_n_custom_mem): New public function.
26506         (quotearg_custom): New public function.
26507         (quotearg_custom_mem): New public function.
26508         * lib/quotearg.h: Prototype and document new public functions.
26509         (enum quoting_style): For escape_quoting_style and
26510         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
26511         ignored even though they're otherwise like c_quoting_style.
26512         Add custom_quoting_style member and document with comparison to
26513         clocale_quoting_style.
26514         * tests/test-quotearg.c (custom_quotes): New array.
26515         (custom_results): New array.
26516         (main): Extend to test custom quoting.
26517
26518 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
26519
26520         quotearg: fix right quote escaping when it's in quote_these_too
26521         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
26522         quote, be sure to prepend only one backslash.
26523         * tests/test-quotearg.c (use_quote_double_quotes): New function.
26524         (main): Test it.
26525
26526 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
26527
26528         quotearg-tests: test escaping of embedded locale quotes
26529         * tests/test-quotearg.c (struct result_strings): Add member for
26530         new input.
26531         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
26532         (inputs): Add new input.
26533         (results_g): Add expected results.
26534         (flag_results): Likewise.
26535         (locale_results): Likewise.
26536         (compare_strings): Check those.
26537
26538 2009-08-23  Bruno Haible  <bruno@clisp.org>
26539
26540         Tests for module 'dup3'.
26541         * modules/dup3-tests: New file.
26542         * tests/test-dup3.c: New file.
26543
26544         New module 'dup3'.
26545         * lib/unistd.in.h (dup3): New declaration.
26546         * lib/dup3.c: New file.
26547         * m4/dup3.m4: New file.
26548         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
26549         HAVE_DUP3.
26550         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
26551         * modules/dup3: New file.
26552         * doc/glibc-functions/dup3.texi: Mention the new module.
26553
26554 2009-08-23  Bruno Haible  <bruno@clisp.org>
26555
26556         Tweak the dup2 test.
26557         * tests/test-dup2.c (main): Create the test file empty. Verify that an
26558         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
26559         the test file is still empty. Fix argument order of lseek.
26560
26561 2009-08-23  Bruno Haible  <bruno@clisp.org>
26562
26563         Avoid test link errors when the modules getopt-gnu, gettext are used.
26564         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
26565         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
26566
26567 2009-08-23  Bruno Haible  <bruno@clisp.org>
26568
26569         Fix getdtablesize() on mingw.
26570         * lib/getdtablesize.c (getdtablesize): Implement differently.
26571         * lib/unistd.in.h (getdtablesize): Improve comment.
26572
26573 2009-08-23  Bruno Haible  <bruno@clisp.org>
26574
26575         New module 'mkostemp'.
26576         Based on Ulrich Drepper's 2007-08-10 change in glibc.
26577         * lib/stdlib.in.h (mksotemp): New declaration.
26578         * lib/mkostemp.c: New file, from glibc with modifications.
26579         * lib/tempname.h (GT_FILE): Remove outdated comment.
26580         (gen_tempname): Add flags argument.
26581         * lib/tempname.c (__GT_BIGFILE): Remove macro.
26582         (__GT_FILE): Map to 1.
26583         (small_open, large_open): Remove macros.
26584         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
26585         * lib/mkstemp.c (mkstemp): Update.
26586         * lib/mkdtemp.c (mkdtemp): Likewise.
26587         * m4/mkostemp.m4: New file.
26588         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
26589         HAVE_MKOSTEMP.
26590         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
26591         HAVE_MKOSTEMP.
26592         * modules/mkostemp: New file, based on modules/mkstemp.
26593         * doc/glibc-functions/mkostemp.texi: Mention the new module.
26594         * NEWS: Mention the change.
26595
26596 2009-08-23  Bruno Haible  <bruno@clisp.org>
26597
26598         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
26599         Reported by Eric Blake.
26600
26601 2009-08-23  Bruno Haible  <bruno@clisp.org>
26602
26603         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
26604         Reported by Eric Blake.
26605
26606 2009-08-23  Bruno Haible  <bruno@clisp.org>
26607
26608         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
26609         * modules/pipe2 (Depends-on): Likewise.
26610
26611 2009-08-23  Eric Blake  <ebb9@byu.net>
26612
26613         fcntl-h: add O_TTY_INIT support
26614         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
26615         * tests/test-fcntl-h.c (o): Test it.
26616         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
26617
26618         fcntl-h: rename from fcntl, in preparation for fcntl(2)
26619         * modules/fcntl: Move <fcntl.h> header replacement...
26620         * modules/fcntl-h: ...to new name, so as not to collide with
26621         like-named function.
26622         * tests/test-fcntl.c: Rename...
26623         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
26624         * modules/fcntl-tests: Rename...
26625         * modules/fcntl-h-tests: ...to this.  Update test file name.
26626         * modules/chdir-long (Depends-on): Update clients.
26627         * modules/chdir-safer (Depends-on): Likewise.
26628         * modules/fcntl-safer (Depends-on): Likewise.
26629         * modules/fts (Depends-on): Likewise.
26630         * modules/mkancesdirs (Depends-on): Likewise.
26631         * modules/mkdir-p (Depends-on): Likewise.
26632         * modules/open (Depends-on): Likewise.
26633         * modules/savewd (Depends-on): Likewise.
26634         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
26635         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
26636
26637 2009-08-22  Bruno Haible  <bruno@clisp.org>
26638
26639         * modules/binary-io (License): Relicense under LGPL.
26640         * modules/pipe2 (License): Likewise.
26641
26642 2009-08-22  Bruno Haible  <bruno@clisp.org>
26643
26644         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
26645         return value.
26646         * lib/pipe-filter-gi.c (filter_init): Likewise.
26647         Reported by Eric Blake.
26648
26649 2009-08-22  Bruno Haible  <bruno@clisp.org>
26650
26651         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
26652         * modules/pipe (Depends-on): Add pipe2.
26653
26654 2009-08-22  Bruno Haible  <bruno@clisp.org>
26655
26656         Tests for module 'pipe2'.
26657         * modules/pipe2-tests: New file.
26658         * tests/test-pipe2.c: New file.
26659
26660         New module 'pipe2'.
26661         * lib/unistd.in.h (pipe2): New declaration.
26662         * lib/pipe2.c: New file.
26663         * m4/pipe2.m4: New file.
26664         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
26665         HAVE_PIPE2.
26666         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
26667         * modules/pipe2: New file.
26668         * doc/glibc-functions/pipe2.texi: Mention the new module.
26669
26670 2009-08-22  Bruno Haible  <bruno@clisp.org>
26671
26672         Reference some new glibc functions.
26673         * doc/glibc-functions/accept4.texi: New file.
26674         * doc/glibc-functions/dup3.texi: New file.
26675         * doc/glibc-functions/mkostemp.texi: New file.
26676         * doc/glibc-functions/pipe2.texi: New file.
26677         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
26678         (Glibc sys/socket.h): Refer to accept4.
26679         (Glibc unistd.h): Refer to dup3, pipe2.
26680         Reported by Eric Blake.
26681
26682 2009-08-22  Jim Meyering  <meyering@redhat.com>
26683             Bruno Haible  <bruno@clisp.org>
26684
26685         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
26686         This makes it so packages using automake-1.11's silent-rules option
26687         can print e.g., a single "GEN    configmake.h" line, rather than
26688         the 30+ statements that perform the job.  If you want to see the
26689         actual commands, you can still run "make V=1".
26690         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
26691         so that make output is abbreviated when those variables are defined
26692         appropriately.
26693         * modules/argz: Likewise.
26694         * modules/arpa_inet: Likewise.
26695         * modules/byteswap: Likewise.
26696         * modules/configmake: Likewise.
26697         * modules/dirent: Likewise.
26698         * modules/errno: Likewise.
26699         * modules/fcntl: Likewise.
26700         * modules/float: Likewise.
26701         * modules/fnmatch: Likewise.
26702         * modules/getopt-posix: Likewise.
26703         * modules/glob: Likewise.
26704         * modules/iconv_open: Likewise.
26705         * modules/inttypes: Likewise.
26706         * modules/localcharset: Likewise.
26707         * modules/locale: Likewise.
26708         * modules/math: Likewise.
26709         * modules/netdb: Likewise.
26710         * modules/netinet_in: Likewise.
26711         * modules/poll: Likewise.
26712         * modules/posix_spawnp-tests: Likewise.
26713         * modules/sched: Likewise.
26714         * modules/search: Likewise.
26715         * modules/selinux-h: Likewise.
26716         * modules/signal: Likewise.
26717         * modules/spawn: Likewise.
26718         * modules/stdarg: Likewise.
26719         * modules/stdbool: Likewise.
26720         * modules/stddef: Likewise.
26721         * modules/stdint: Likewise.
26722         * modules/stdio: Likewise.
26723         * modules/stdlib: Likewise.
26724         * modules/string: Likewise.
26725         * modules/strings: Likewise.
26726         * modules/sys_file: Likewise.
26727         * modules/sys_ioctl: Likewise.
26728         * modules/sys_select: Likewise.
26729         * modules/sys_socket: Likewise.
26730         * modules/sys_stat: Likewise.
26731         * modules/sys_time: Likewise.
26732         * modules/sys_times: Likewise.
26733         * modules/sys_utsname: Likewise.
26734         * modules/sys_wait: Likewise.
26735         * modules/sysexits: Likewise.
26736         * modules/time: Likewise.
26737         * modules/unistd: Likewise.
26738         * modules/wchar: Likewise.
26739         * modules/wctype: Likewise.
26740
26741 2009-08-22  Jim Meyering  <meyering@redhat.com>
26742
26743         announce-gen: detect write failure
26744         * build-aux/announce-gen: Add Coda at end.
26745         Remove equivalent-but-more-verbose block at top.
26746
26747 2009-08-19  Akim Demaille  <demaille@gostai.com>
26748
26749         bootstrap: --help to stdout.
26750         * bootstrap (usage): Don't send --help to stderr.
26751         Use a here doc instead of a long string.
26752
26753 2009-08-21  Eric Blake  <ebb9@byu.net>
26754
26755         test-popen-safer: split from test-popen
26756         * tests/test-popen.c (main): Move...
26757         * tests/test-popen.h: ...into new file.
26758         * tests/test-popen-safer2.c: New file.
26759         * modules/popen-tests (Files): Add test-popen.h.
26760         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
26761         Suggested by Bruno Haible.
26762
26763         test-fcntl-safer: split from test-open
26764         * tests/test-open.c (main): Move...
26765         * tests/test-open.h: ...into new file.
26766         * tests/test-fcntl-safer.c: New file.
26767         * modules/open-tests (Files): Add test-open.h.
26768         * modules/fcntl-safer-tests: New file.
26769         Suggested by Bruno Haible.
26770
26771         test-fopen-safer: split from test-fopen
26772         * tests/test-fopen.c (main): Move...
26773         * tests/test-fopen.h: ...into new file.
26774         * tests/test-fopen-safer.c: New file.
26775         * modules/fopen-tests (Files): Add test-fopen.h.
26776         * modules/fopen-safer-tests: New file.
26777         Suggested by Bruno Haible.
26778
26779 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
26780
26781         popen-safer: test O_CLOEXEC at run-time.
26782         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
26783
26784 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
26785
26786         fcntl: move more flags to the header
26787         * lib/cloexec.c: Do not define FD_CLOEXEC here.
26788         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
26789         * lib/fcntl.in.h: Do both things here.
26790
26791 2009-08-21  Jim Meyering  <meyering@redhat.com>
26792
26793         consistently remove $@-t before redirecting to it
26794         * modules/argz: Remove $@-t and $@ before redirecting to the former.
26795         * modules/alloca-opt: Likewise.
26796         * modules/byteswap: Likewise.
26797         * modules/fnmatch: Likewise.
26798         * modules/getopt-posix: Likewise.
26799         * modules/glob: Likewise.
26800         * modules/poll: Likewise.
26801         * modules/posix_spawnp-tests: Likewise.
26802         * modules/sys_socket: Likewise.
26803         * modules/sysexits: Likewise.
26804
26805 2009-08-21  Eric Blake  <ebb9@byu.net>
26806
26807         popen: simplify access to original popen
26808         * lib/popen.c (rpl_popen): No need to worry about popen being a
26809         macro.
26810         Reported by Bruno Haible.
26811
26812 2009-08-20  Eric Blake  <ebb9@byu.net>
26813
26814         build: avoid some compiler warnings
26815         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
26816         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
26817         type.
26818         (new_exclude_segment, excluded_file_pattern_p)
26819         (excluded_file_name_p): Reduce scope.
26820         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
26821         old-style declaration.
26822
26823 2009-08-20  Simon Josefsson  <simon@josefsson.org>
26824
26825         * tests/test-exclude1.sh: Handle Windows EOL.
26826         * tests/test-exclude2.sh: Likewise.
26827         * tests/test-exclude3.sh: Likewise.
26828         * tests/test-exclude4.sh: Likewise.
26829         * tests/test-exclude5.sh: Likewise.
26830         * tests/test-exclude6.sh: Likewise.
26831         * tests/test-exclude7.sh: Likewise.
26832
26833 2009-08-19  Akim Demaille  <demaille@gostai.com>
26834
26835         bootstrap: find sha1sum when named gsha1sum.
26836         * bootstrap (find_tool): New.
26837         ($SHA1SUM): New.
26838         Use it.
26839
26840 2009-08-20  Jim Meyering  <meyering@redhat.com>
26841
26842         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
26843         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
26844         expression that converts "." in a file name to "\." in the resulting
26845         regexp.  Start with a dummy statement, so that prior shell variable
26846         definitions are expanded portably.  Reported by Simon Josefsson.
26847
26848 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
26849
26850         Fix polling for writeability of a screen buffer.
26851         * lib/poll.c: Distinguish input and screen buffers for the
26852         Win32 implementation.
26853         * lib/select.c: Likewise.
26854
26855 2009-08-19  Eric Blake  <ebb9@byu.net>
26856
26857         popen-safer: prevent popen from clobbering std descriptors
26858         * modules/popen-safer: New file.
26859         * lib/popen-safer.c: Likewise.
26860         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
26861         * lib/stdio--.h (popen): Provide override.
26862         * lib/stdio-safer.h (popen_safer): Provide declaration.
26863         * tests/test-popen.c (includes): Partially test this.
26864         * modules/popen-safer-tests: New file, for more tests.
26865         * tests/test-popen-safer.c: Likewise.
26866         * MODULES.html.sh (file stream based Input/Output): Mention it.
26867
26868         tests: test some of the *-safer modules
26869         * modules/fopen-safer (Depends-on): Add fopen.
26870         * modules/fcntl-safer (Depends-on): Add fcntl.
26871         * modules/stdlib-safer (Depends-on): Add stdlib.
26872         (configure.ac): Set indicator.
26873         * modules/unistd-safer (configure.ac): Likewise.
26874         * modules/tmpfile-safer (configure.ac): Likewise.
26875         (Depends-on): Add tmpfile.
26876         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
26877         active.
26878         * tests/test-fopen.c (includes): Test safer versions when they are
26879         in use.
26880         * tests/test-open.c (includes): Likewise.
26881
26882         popen: fix cygwin 1.5 bug when stdin closed
26883         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
26884         * modules/popen: New file.
26885         * modules/popen-tests: Likewise.
26886         * tests/test-popen.c: Likewise.
26887         * m4/popen.m4: Likewise.
26888         * lib/popen.c: Likewise.
26889         * lib/stdio.in.h (popen): New declaration.
26890         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
26891         * modules/stdio (Makefile.am): Likewise.
26892         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
26893
26894 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
26895
26896         maint.mk: give full control over update-copyright exclusions
26897         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
26898         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
26899         (update-copyright): Don't force inclusion of top-level
26900         ChangeLog.  Don't force exclusion of all COPYING files, but make
26901         them the default exclusion instead.
26902
26903 2009-08-16  Bruno Haible  <bruno@clisp.org>
26904
26905         Fix test failures on Solaris 10.
26906         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
26907         tests when Solaris iconv() is used.
26908         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
26909         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
26910         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
26911         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
26912         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
26913
26914 2009-08-16  Bruno Haible  <bruno@clisp.org>
26915
26916         Fix test failures on Solaris 10.
26917         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
26918         'tr' program and pass it as first argument.
26919         * tests/test-pipe-filter-gi1.sh: Likewise.
26920         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
26921         program as first argument.
26922         * tests/test-pipe-filter-gi1.c (main): Likewise.
26923
26924 2009-08-16  Eric Blake  <ebb9@byu.net>
26925
26926         fpurge: fix previous commits
26927         * modules/fpurge (Makefile.am): Make replacement conditional,
26928         partially reverting 2007-04-29 change; missed in previous
26929         attempt.
26930         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
26931         is missing.
26932
26933 2009-08-16  Bruno Haible  <bruno@clisp.org>
26934
26935         Clarify fpurge's effect on the file position.
26936         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
26937         * tests/test-fpurge.c (main): Make a second pass for checking the file
26938         position.
26939
26940 2009-08-16  Bruno Haible  <bruno@clisp.org>
26941
26942         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
26943         declaration of fpurge is missing.
26944         * tests/test-fpurge.c (main): Check that the file has not more contents
26945         than expected. Close the file before removing it.
26946
26947 2009-08-15  Eric Blake  <ebb9@byu.net>
26948
26949         fpurge: don't wrap working cygwin implementation
26950         * lib/fpurge.c (fpurge): Fix comment typo.
26951         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
26952         1.7 to avoid replacement.
26953         * tests/test-fpurge.c (main): Enhance test.
26954
26955 2009-08-15  Eric Blake  <ebb9@byu.net>
26956         and Jim Meyering  <meyering@redhat.com>
26957
26958         test-update-copyright: skip if perl is insufficient
26959         * tests/test-update-copyright.sh: Failure to run maintainer tool
26960         should not cause testsuite failure on cygwin 1.5.
26961
26962 2009-08-14  Eric Blake  <ebb9@byu.net>
26963
26964         doc: mention more functions added in cygwin 1.7.0
26965         * doc/posix-headers/limits.texi (limits.h): Update for recent
26966         cygwin additions.
26967         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
26968         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
26969         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
26970         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
26971         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
26972
26973 2009-08-14  Eric Blake  <ebb9@byu.net>
26974
26975         maint.mk: simplify update-copyright rule
26976         * top/maint.mk (update-copyright-local): Delete, and document how
26977         to do it in cfg.mk instead.
26978         (update-copyright-exclude-regexp): Delete, and document how to do
26979         it in .x-update-copyright instead.
26980         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
26981         exclude ChangeLog.
26982
26983 2009-08-14  Bruno Haible  <bruno@clisp.org>
26984
26985         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
26986
26987 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
26988
26989         maint.mk: support update-copyright-env
26990         * top/maint.mk (update-copyright-env): Define place-holder.
26991         (update-copyright): Expand $(update-copyright-env) before
26992         invoking update-copyright.
26993
26994 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
26995
26996         update-copyright: implement forced reformatting
26997         * build-aux/update-copyright: Implement and document
26998         UPDATE_COPYRIGHT_FORCE.
26999         * tests/test-update-copyright.sh: Test it.
27000
27001 2009-08-14  Eric Blake  <ebb9@byu.net>
27002         and Bruno Haible  <bruno@clisp.org>
27003
27004         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
27005         * tests/test-locale.c: Revert previous patch related to NULL.
27006         * tests/test-stdio.c: Likewise.
27007         * tests/test-stdlib.c: Likewise.
27008         * tests/test-string.c: Likewise.
27009         * tests/test-unistd.c: Likewise.
27010         * modules/time-tests (Depends-on): Add verify.
27011         * modules/wchar-tests (Depends-on): Likewise.
27012         * tests/test-time.c: Test for NULL compliance.
27013         * tests/test-wchar.c: Likewise.
27014         * modules/locale (Depends-on): Add stddef.
27015         * modules/stdio (Depends-on): Likewise.
27016         * modules/stdlib (Depends-on): Likewise.
27017         * modules/string (Depends-on): Likewise.
27018         * modules/time (Depends-on): Likewise.
27019         * modules/unistd (Depends-on): Likewise.
27020         * modules/wchar (Depends-on): Likewise.
27021         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
27022         * lib/stdlib.in.h (includes): Likewise.
27023         * lib/string.in.h (includes): Likewise.
27024         * lib/time.in.h (includes): Likewise.
27025         * lib/unistd.in.h (includes): Likewise.
27026         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
27027         replaced.
27028         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
27029         * m4/stddef_h.m4: New file.
27030         * modules/stddef: Likewise.
27031         * lib/stddef.in.h: Likewise.
27032         * modules/stddef-tests: Likewise.
27033         * tests/test-stddef.c: Likewise.
27034         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
27035         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
27036         * doc/posix-headers/locale.texi (locale.h): Likewise.
27037         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
27038         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
27039         * doc/posix-headers/string.texi (string.h): Likewise.
27040         * doc/posix-headers/time.texi (time.h): Likewise.
27041         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
27042         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
27043
27044 2009-08-14  Eric Blake  <ebb9@byu.net>
27045
27046         doc: improve git diff of texinfo files
27047         * .gitattributes: Add rule for *.texi files, with hint on how to
27048         use it.
27049         Copied from m4, and based on a report by Bruno Haible.
27050
27051 2009-08-14  Bruno Haible  <bruno@clisp.org>
27052
27053         Disable multithread support by default on Cygwin 1.5.x for real.
27054         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
27055
27056 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
27057
27058         update-copyright: much ado about intervals
27059         * build-aux/update-copyright: Implement and document
27060         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
27061         of copyright year intervals.
27062         Also, document UPDATE_COPYRIGHT_YEAR.
27063         * tests/test-update-copyright.sh: Test it.
27064
27065         update-copyright: convert 2-digit to 4-digit years
27066         * build-aux/update-copyright: Implement and document.
27067         * tests/test-update-copyright.sh: Update.
27068
27069 2009-08-14  Jim Meyering  <meyering@redhat.com>
27070
27071         test-exclude: avoid coreutils "make check" failure
27072         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
27073         just as in test-argmatch.c.
27074
27075 2009-08-13  Eric Blake  <ebb9@byu.net>
27076
27077         test-dup2: fix bad assumption
27078         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
27079         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
27080
27081         test-version-etc: fix CRLF portability issue
27082         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
27083         recognize \r.
27084         * tests/test-argp-version-etc-1.sh: Likewise.
27085
27086         getopt: update client modules
27087         * modules/argp (Depends-on): Use getopt-gnu.
27088         * modules/git-merge-changelog (Depends-on): Likewise.
27089         * modules/long-options (Depends-on): Likewise.
27090         * modules/xstrtol (Depends-on): Likewise.
27091
27092 2009-08-13  Simon Josefsson  <simon@josefsson.org>
27093
27094         * tests/test-version-etc.sh: Don't fail on different
27095         project/version.  Don't fail on CRLF differences.  Rewrite to use
27096         multiple -e instead of multiple sed forks, suggested by Eric Blake
27097         <ebb9@byu.net>.
27098         * tests/test-argp-version-etc-1.sh: Likewise.
27099
27100 2009-08-13  Simon Josefsson  <simon@josefsson.org>
27101
27102         * tests/test-version-etc.sh: Don't fail on different
27103         project/version.
27104
27105 2009-08-12  Bruno Haible  <bruno@clisp.org>
27106
27107         Tests for modules 'getopt-posix', 'getopt-gnu'.
27108         * modules/getopt-posix-tests: New file.
27109         * tests/test-getopt.c: New file.
27110         * tests/test-getopt.h: New file.
27111         * tests/test-getopt_long.h: New file.
27112
27113         New modules 'getopt-posix', 'getopt-gnu'.
27114         * modules/getopt-gnu: New file, renamed from modules/getopt.
27115         * modules/getopt-posix: New file.
27116         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
27117         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
27118         (gl_GETOPT): Remove macro.
27119         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
27120         Disable the test against BSD systems that declare optreset. Test
27121         against mingw bug. Test against lack of support of optional arguments
27122         on many platforms.
27123         * doc/glibc-headers/getopt.texi: Update module name and list of
27124         relevant platforms.
27125         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
27126         'getopt-gnu' and more portability problems.
27127         * NEWS: Mention the changes.
27128
27129 2009-08-12  Bruno Haible  <bruno@clisp.org>
27130
27131         Ensure that optarg etc. get declared by <unistd.h>.
27132         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
27133         AC_USE_SYSTEM_EXTENSIONS.
27134         * modules/getopt (Depends-on): Add 'extensions'.
27135
27136 2009-08-12  Bruno Haible  <bruno@clisp.org>
27137
27138         Avoid test link errors.
27139         * modules/pipe-filter-ii-tests (Makefile.am): Define
27140         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
27141         * modules/pipe-filter-gi-tests (Makefile.am): Define
27142         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
27143         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27144
27145 2009-08-12  Bruno Haible  <bruno@clisp.org>
27146
27147         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
27148         gl_GETOPT_SUBSTITUTE before.
27149         (gl_GETOPT): Use it.
27150         * m4/argp.m4 (gl_ARGP): Update.
27151         Reported by Sergey Poznyakoff.
27152
27153         * m4/getopt.m4: Reorder macros.
27154         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
27155         (gl_GETOPT_SUBSTITUTE): Remove macro.
27156
27157 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
27158
27159         Minor improvement in gitlog-to-changelog
27160
27161         * build-aux/gitlog-to-changelog: New option `--format' makes
27162         output format string configurable.
27163
27164 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
27165
27166         Optimize exclude: use hash tables for non-wildcard patterns.
27167
27168         * lib/exclude.c: Include hash.h and mbuiter.h
27169         (struct exclude_pattern, exclude_segment): New data types.
27170         (struct exclude): Rewrite.
27171         (fnmatch_pattern_has_wildcards): New function.
27172         (new_exclude_segment, free_exclude_segment): New functions.
27173         (excluded_file_pattern_p, excluded_file_name_p): New functions.
27174         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
27175         * lib/exclude.h (is_fnmatch_pattern): New prototype.
27176         * modules/exclude: Depend on hash and mbuiter.
27177
27178         * modules/exclude-tests: New file.
27179         * tests/test-exclude.c: New file.
27180         * tests/test-exclude1.sh: New file.
27181         * tests/test-exclude2.sh: New file.
27182         * tests/test-exclude3.sh: New file.
27183         * tests/test-exclude4.sh: New file.
27184         * tests/test-exclude5.sh: New file.
27185         * tests/test-exclude6.sh: New file.
27186         * tests/test-exclude7.sh: New file.
27187
27188 2009-08-12  Bruno Haible  <bruno@clisp.org>
27189
27190         Ensure that getopt() gets declared by <unistd.h>.
27191         * lib/unistd.in.h: Conditionally include getopt.h.
27192         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
27193         Set GNULIB_UNISTD_H_GETOPT.
27194         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27195         GNULIB_UNISTD_H_GETOPT.
27196         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
27197
27198 2009-08-12  Bruno Haible  <bruno@clisp.org>
27199
27200         Clarify logic.
27201         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
27202         gl_replace_getopt instead of GETOPT_H.
27203
27204 2009-08-12  Bruno Haible  <bruno@clisp.org>
27205
27206         * m4/getopt.m4: Add comments.
27207
27208 2009-08-12  Bruno Haible  <bruno@clisp.org>
27209
27210         Disable multithread support by default on Cygwin 1.5.x.
27211         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
27212         set gl_use_threads=no if not specified otherwise.
27213
27214 2009-08-11  Bruno Haible  <bruno@clisp.org>
27215
27216         Avoid compilation error on NetBSD 5.0.
27217         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
27218         * tests/test-stdio.c: Likewise.
27219         * tests/test-stdlib.c: Likewise.
27220         * tests/test-string.c: Likewise.
27221         * tests/test-unistd.c: Likewise.
27222         Reported by Greg Troxel <gdt@ir.bbn.com>
27223         at <https://savannah.gnu.org/support/?106973>.
27224
27225 2009-08-11  Bruno Haible  <bruno@clisp.org>
27226
27227         * modules/dup2-tests (Depends-on): Remove close.
27228
27229         Undo 2009-07-19 commit.
27230         * modules/acl-tests (Depends-on): Remove close.
27231         * modules/binary-io-tests (Depends-on): Likewise.
27232         * modules/closein-tests (Depends-on): Likewise.
27233         * modules/flock-tests (Depends-on): Likewise.
27234         * modules/fsync-tests (Depends-on): Likewise.
27235         * modules/lseek-tests (Depends-on): Likewise.
27236         * modules/pipe-tests (Depends-on): Likewise.
27237         * modules/posix_spawn-tests (Depends-on): Likewise.
27238         * modules/posix_spawnp-tests (Depends-on): Likewise.
27239         * modules/stat-time-tests (Depends-on): Likewise.
27240         * modules/yesno-tests (Depends-on): Likewise.
27241
27242 2009-08-10  Bruno Haible  <bruno@clisp.org>
27243
27244         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
27245
27246 2009-08-10  Bruno Haible  <bruno@clisp.org>
27247
27248         Fix a gcc warning.
27249         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
27250
27251 2009-08-10  Bruno Haible  <bruno@clisp.org>
27252
27253         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
27254         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
27255         not only the first time.
27256         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
27257         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
27258         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
27259         is 1, not only the the first time.
27260
27261 2009-08-10  Bruno Haible  <bruno@clisp.org>
27262
27263         Make it possible to use module 'gethostname' without module 'close'.
27264         * lib/unistd.in.h (close): Evoke a link error only if
27265         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
27266         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27267         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27268         * modules/unistd (Makefile.am): Substitute
27269         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27270         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
27271         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
27272         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
27273         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27274         * modules/sys_ioctl (Makefile.am): Substitute
27275         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27276         * modules/socket (configure.ac): On native Windows, set
27277         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
27278         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
27279         Reported by Sam Steingold <sds@gnu.org>.
27280
27281 2009-08-10  Bruno Haible  <bruno@clisp.org>
27282
27283         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
27284         * modules/ioctl (configure.ac): Likewise.
27285
27286 2009-08-10  Bruno Haible  <bruno@clisp.org>
27287
27288         Avoid collision between gnulib wrapper and libintl wrapper.
27289         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
27290         already defined in intl/printf.c.
27291         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
27292         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
27293
27294 2009-08-09  Bruno Haible  <bruno@clisp.org>
27295
27296         Make <sys/select.h> really self-contained, also on Solaris 10.
27297         * lib/sys_select.in.h: Include <string.h>.
27298         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
27299         Solaris 10 problem.
27300         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
27301         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
27302         Reported by Jim Meyering.
27303
27304 2009-08-09  Bruno Haible  <bruno@clisp.org>
27305
27306         Avoid warnings from 'aclocal' that are due to a use of macro name
27307         AM_XGETTEXT_OPTION that is not defined in automake.
27308         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
27309         automake.
27310         * modules/error (configure.ac): Likewise.
27311         * modules/propername (configure.ac): Likewise.
27312         * modules/vasprintf (configure.ac): Likewise.
27313         * modules/verror (configure.ac): Likewise.
27314         * modules/xprintf (configure.ac): Likewise.
27315         * modules/xvasprintf (configure.ac): Likewise.
27316
27317 2009-08-08  Bruno Haible  <bruno@clisp.org>
27318
27319         Avoid compilation error in C++ mode.
27320         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
27321         Reported by Sam Steingold <sds@gnu.org>.
27322
27323 2009-08-08  Bruno Haible  <bruno@clisp.org>
27324
27325         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
27326         for the various Unix platforms.
27327         * doc/posix-headers/limits.texi: Update platforms list regarding
27328         HOST_NAME_MAX.
27329         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27330
27331 2009-08-07  Jim Meyering  <meyering@redhat.com>
27332
27333         selinux-at: fix typo in a comment
27334         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
27335         Spotted by Paolo Bonzini.
27336
27337         selinux-at: remove redundant m4 code, add documentation
27338         * modules/selinux-at (configure.ac): Remove redundant code.
27339         LIB_SELINUX is already set via the dependent module, selinux-h.
27340         (Include): Add quotes around selinux-at.h.
27341         * lib/selinux-at.h: Add documentation.
27342         Reported by Bruno Haible in
27343         http://marc.info/?l=gnulib-bug&m=124958988300749
27344
27345 2009-08-07  Bruno Haible  <bruno@clisp.org>
27346
27347         Avoid link error on MacOS X 10.3 and 10.4.
27348         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
27349         on non-ELF systems.
27350         * lib/argp-pv.c (argp_program_version): Likewise.
27351         Reported by Simon Josefsson.
27352
27353 2009-08-07  Simon Josefsson  <simon@josefsson.org>
27354
27355         * tests/test-version-etc.sh: Use $EXEEXT.
27356
27357 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
27358
27359         update-copyright: update documentation to point to maint.mk
27360         * build-aux/update-copyright: Here.
27361
27362 2009-08-06  Jim Meyering  <meyering@redhat.com>
27363
27364         maint.mk: support update-copyright-local
27365         * top/maint.mk (update-copyright-local): Define place-holder.
27366         (update-copyright): Depend on $(update-copyright-local).
27367
27368 2009-08-06  Jim Meyering  <meyering@redhat.com>
27369
27370         selinux-at: new module
27371         Initially written for coreutils, this module will soon be
27372         used by findutils, too.
27373         * MODULES.html.sh [Misc]: Add selinux-at.
27374         * lib/selinux-at.h: New file, from coreutils.
27375         * lib/selinux-at.c: Likewise.
27376         * modules/selinux-at: Likewise.
27377         (License): Change from LGPL to GPL, since it depends
27378         on the GPL'd openat module.
27379
27380         doc: update README
27381         * README: Remove references to cogito.
27382         Remove cvs-repo-updating instructions from 2007.
27383         Don't imply that CVS is better if you have limited disk space.
27384
27385 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
27386
27387         update-copyright: support C-style comments
27388         * build-aux/update-copyright: Implement and document.
27389         * tests/test-update-copyright.sh: Test.
27390
27391 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
27392
27393         update-copyright: support omitted "(C)"
27394         * build-aux/update-copyright: Implement and document.  Also,
27395         allow variable whitespace before "(C)".
27396         * tests/test-update-copyright.sh: Test.
27397
27398 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
27399
27400         update-copyright: don't trip on non-FSF copyright statements
27401         * build-aux/update-copyright: Fix so that the first correctly
27402         formatted FSF copyright statement is recognized no matter what
27403         appears before it.  Update documentation.
27404         * tests/test-update-copyright.sh: Test that.
27405
27406 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
27407
27408         update-copyright: clean up code a little
27409         * build-aux/update-copyright: Append "_re" to the name of any
27410         variable holding a regular expression.
27411         Replace "old" and "new" with "stmt" in variable names.
27412         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
27413         handled correctly.
27414         Format code more consistently.
27415
27416 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
27417
27418         update-copyright-tests: improve portability
27419         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
27420         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
27421
27422 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
27423
27424         update-copyright: support @copyright{} and &copy;
27425         * build-aux/update-copyright: Implement and document.
27426         * tests/test-update-copyright.sh: Test.
27427
27428 2009-08-04  Jim Meyering  <meyering@redhat.com>
27429
27430         update-copyright-tests: correctly test EOL=\r\n handling
27431         * tests/test-update-copyright.sh: Put \r at the end of some lines
27432         for the dos-eol tests.  Based on a patch by Joel E. Denny.
27433
27434         maint.mk: make update-copyright exclusion list more configurable
27435         * top/maint.mk (update-copyright): Default to excluding COPYING,
27436         but allow an override, in case someone does want to update that file.
27437
27438         maint.mk: don't update copyright date in COPYING
27439         * top/maint.mk (update-copyright): Exclude COPYING.
27440
27441         maint.mk: add a copyright-updating rule
27442         * top/maint.mk (update-copyright): New rule.
27443         Derived from coreutils/Makefile.am.
27444
27445         update-copyright: rename some variables
27446         * build-aux/update-copyright: Rename a few variables for clarity.
27447         Tweak syntax.  List Joel E. Denny as coauthor.
27448
27449 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
27450
27451         update-copyright: fix bug for 2-digit last year and add tests
27452         * build-aux/update-copyright: Fix bug.
27453         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
27454         specified.
27455         * modules/update-copyright-tests: New
27456         * tests/test-update-copyright.sh: New.
27457
27458 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
27459
27460         update-copyright: handle leading tabs in line prefix
27461         * build-aux/update-copyright: Count leading tabs as 8 spaces
27462         when computing margin.  This helps with the formatting of
27463         ChangeLogs, for example.
27464         Fix documentation a little.
27465
27466 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
27467
27468         update-copyright: support EOL=\r\n
27469         * build-aux/update-copyright: Implement that.
27470
27471 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
27472
27473         update-copyright: automatically format copyright statements
27474         * build-aux/update-copyright: Implement that.
27475         Also, be a little more predictable and safer by always failing
27476         when the full copyright format is not perfectly recognized as an
27477         unbroken whole.  Discussed at
27478         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
27479         Rewrite documentation.
27480
27481 2009-08-03  Bruno Haible  <bruno@clisp.org>
27482
27483         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
27484
27485 2009-08-02  Bruno Haible  <bruno@clisp.org>
27486
27487         Tests for module 'uname'.
27488         * modules/uname-tests: New file.
27489         * tests/test-uname.c: New file.
27490
27491         New module 'uname'.
27492         * lib/uname.c: New file.
27493         * m4/uname.m4: New file.
27494         * modules/uname: New file.
27495         * doc/posix-functions/uname.texi: Mention the new module.
27496
27497 2009-08-02  Bruno Haible  <bruno@clisp.org>
27498
27499         Tests for module 'sys_utsname'.
27500         * modules/sys_utsname-tests: New file.
27501         * tests/test-sys_utsname.c: New file.
27502
27503         New module 'sys_utsname'.
27504         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
27505         * m4/sys_utsname_h.m4: New file.
27506         * modules/sys_utsname: New file.
27507         * doc/posix-headers/sys_utsname.texi: Mention the new module.
27508
27509 2009-08-02  Bruno Haible  <bruno@clisp.org>
27510
27511         Implicitly initialize the sockets library.
27512         * lib/gethostname.c: Include sockets.h.
27513         (rpl_gethostname): Invoke gl_sockets_startup.
27514         * lib/socket.c: Include sockets.h.
27515         (rpl_socket): Invoke gl_sockets_startup.
27516         * modules/gethostname (Depends-on): Add sockets.
27517         * modules/socket (Depends-on): Likewise.
27518         * tests/test-poll.c: Don't include sockets.h.
27519         (main): Don't invoke gl_sockets_startup.
27520         * tests/test-select.c: Don't include sockets.h.
27521         (main): Don't invoke gl_sockets_startup.
27522
27523 2009-08-02  Bruno Haible  <bruno@clisp.org>
27524
27525         Allow multiple calls to gl_sockets_startup.
27526         * lib/sockets.c (initialized_sockets_version): New variable.
27527         (gl_sockets_startup): Do nothing if already called for this or a higher
27528         version.
27529         (gl_sockets_cleanup): Reset initialized_sockets_version.
27530
27531 2009-08-03  Simon Josefsson  <simon@josefsson.org>
27532
27533         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
27534         different project/version.
27535
27536 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
27537             Bruno Haible  <bruno@clisp.org>
27538
27539         Tests for module 'pipe-filter-gi'.
27540         * modules/pipe-filter-gi-tests: New file.
27541         * tests/test-pipe-filter-gi1.sh: New file.
27542         * tests/test-pipe-filter-gi1.c: New file.
27543         * tests/test-pipe-filter-gi2.sh: New file.
27544         * tests/test-pipe-filter-gi2-main.c: New file.
27545         * tests/test-pipe-filter-gi2-child.c: New file.
27546
27547         New module 'pipe-filter-gi'.
27548         * lib/pipe-filter-gi.c: New file.
27549         * modules/pipe-filter-gi: New file.
27550
27551 2009-08-02  Bruno Haible  <bruno@clisp.org>
27552             Paolo Bonzini  <bonzini@gnu.org>
27553
27554         Tests for module 'pipe-filter-ii'.
27555         * modules/pipe-filter-ii-tests: New file.
27556         * tests/test-pipe-filter-ii1.sh: New file.
27557         * tests/test-pipe-filter-ii1.c: New file.
27558         * tests/test-pipe-filter-ii2.sh: New file.
27559         * tests/test-pipe-filter-ii2-main.c: New file.
27560         * tests/test-pipe-filter-ii2-child.c: New file.
27561
27562         New module 'pipe-filter-ii'.
27563         * lib/pipe-filter.h: New file.
27564         * lib/pipe-filter-ii.c: New file.
27565         * lib/pipe-filter-aux.h: New file.
27566         * modules/pipe-filter-ii: New file.
27567
27568 2009-08-02  Simon Josefsson  <simon@josefsson.org>
27569
27570         * lib/gc-libgcrypt.c: Change copyright to FSF.
27571         * lib/gc-gnulib.c: Likewise.
27572
27573 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
27574
27575         * lib/gethostname.c: Include limits.h.
27576
27577 2009-08-02  Simon Josefsson  <simon@josefsson.org>
27578             Bruno Haible  <bruno@clisp.org>
27579
27580         Ensure HOST_NAME_MAX as part of the gethostname module.
27581         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
27582         define also HOST_NAME_MAX.
27583         * tests/test-gethostname.c: Include <limits.h>.
27584         (main): Check also HOST_NAME_MAX.
27585         * doc/posix-headers/limits.texi: Document the mingw problem.
27586
27587 2009-08-02  Bruno Haible  <bruno@clisp.org>
27588
27589         * lib/gethostname.c (gethostname): Fix handling of large len argument.
27590         Add comments.
27591
27592 2009-03-31  Simon Josefsson  <simon@josefsson.org>
27593
27594         * lib/gethostname.c: Add Windows wrapper.
27595         * m4/gethostname.m4: Look for gethostname in -lws2_32.
27596         * modules/gethostname: Depend on sys_socket & errno, for also
27597         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
27598         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
27599
27600 2009-07-31  Jim Meyering  <meyering@redhat.com>
27601
27602         getloadavg: fix symbol name in comment
27603         * lib/getloadavg.c: Correct a typo I introduced when adding
27604         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
27605         Matt Kraai spotted the problem.
27606
27607 2009-07-29  Matt Kraai  <mkraai@beckman.com>
27608
27609         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
27610         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
27611         code also if ! defined N_NAME_POINTER.
27612         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
27613         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
27614         but the n_name member is a 12-byte array.
27615
27616 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
27617
27618         update-copyright: generalize comment handling
27619         * build-aux/update-copyright: Handle copyright statements
27620         within more comment styles.
27621         Document usage.
27622         Report any file with an external copyright holder or parse failure.
27623
27624 2009-07-29  Jim Meyering  <meyering@redhat.com>
27625
27626         mktime: correct setting of REPLACE_MKTIME
27627         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
27628
27629         update-copyright: new module
27630         * modules/update-copyright: New file.
27631         * build-aux/update-copyright: New file.
27632         * MODULES.html.sh (maint+release support): Add update-copyright.
27633
27634 2009-07-27  Bruno Haible  <bruno@clisp.org>
27635
27636         Fix compilation error when <ctime> is used and mktime is replaced.
27637         * lib/time.in.h (mktime): New declaration.
27638         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
27639         REPLACE_MKTIME instead of defining mktime in config.h.
27640         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
27641         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
27642         Reported by Ross McFarland <rwmcfa1@neces.com>.
27643
27644 2009-07-27  Bruno Haible  <bruno@clisp.org>
27645
27646         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
27647         Reported by Matt Kraai <mkraai@beckman.com>.
27648
27649 2009-07-25  Jim Meyering  <meyering@redhat.com>
27650
27651         maint.mk: avoid warnings about missing files
27652         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
27653         diagnostic when .prev-version does not exist.
27654         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
27655         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
27656         nonexistent cfg.mk.
27657         Suggestions from Simon Josefsson.
27658
27659 2009-07-25  Bruno Haible  <bruno@clisp.org>
27660
27661         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
27662         defined as macros. Needed on QNX 6.4.1.
27663         Reported by Matt Kraai <mkraai@beckman.com>.
27664
27665 2009-07-23  Jim Meyering  <meyering@redhat.com>
27666
27667         maint.mk: invoke "make dist" with a working value of XZ_OPT
27668         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
27669
27670 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
27671
27672         Make fseeko.c compile on QNX.
27673         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
27674
27675 2009-07-22  Peter Simons  <simons@cryp.to>
27676
27677         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
27678         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
27679         * lib/md4.h: Likewise.
27680         * lib/md5.h: Likewise.
27681         * lib/sha1.h: Likewise.
27682         * lib/sha256.h: Likewise.
27683         * lib/sha512.h: Likewise.
27684
27685         tests-sha1: don't assign literal string to 'char *' variable
27686         * tests/test-sha1.c (main): Declare locals with "const" to match
27687         attributes of the right hand side.
27688
27689 2009-07-21  Eric Blake  <ebb9@byu.net>
27690
27691         dup2: fix more mingw problems
27692         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
27693         fd to itself.
27694         * doc/posix-functions/dup2.texi (dup2): Document the bug.
27695         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
27696         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
27697         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
27698         care of mingw bugs.
27699
27700 2009-07-21  Jim Meyering  <meyering@redhat.com>
27701
27702         vc-list-files: avoid failure when /bin/sh is dash
27703         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
27704         On some Debian based systems, /bin/sh is a symlink to dash, and running
27705         this command would omit the "/" following each 'tests' prefix:
27706           dash -x build-aux/vc-list-files -C . tests
27707         That is because bash and dash work differently:
27708           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
27709           bash ok
27710           dash odd
27711
27712 2009-07-21  Eric Blake  <ebb9@byu.net>
27713
27714         dup2-tests: test previous patch
27715         * modules/dup2-tests: New file.
27716         * tests/test-dup2.c: Likewise.
27717         * tests/test-open.c (main): Avoid unspecified behavior.
27718         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
27719         test.
27720
27721         dup2: work around mingw and cygwin 1.5 bug
27722         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
27723         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
27724         * modules/unistd (Makefile.am): Substitute it.
27725         * lib/unistd.in.h (dup2): Declare the replacement.
27726         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
27727         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
27728         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
27729         * modules/execute (Depends-on): Add dup2.
27730         * modules/fseterr (Depends-on): Likewise.
27731         * modules/pipe (Depends-on): Likewise.
27732         * modules/posix_spawn-internal (Depends-on): Likewise.
27733
27734 2009-07-21  Bruno Haible  <bruno@clisp.org>
27735
27736         * modules/.gitattributes: New file.
27737
27738 2009-07-20  Bruno Haible  <bruno@clisp.org>
27739
27740         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
27741         (main): Use it.
27742
27743 2009-07-20  Eric Blake  <ebb9@byu.net>
27744
27745         test-pipe: make a bit more robust.
27746         * tests/test-pipe.c (myerr): Allow error messages regardless of
27747         what we do to stderr.
27748         (test_pipe): Rearrange to avoid deadlock.
27749         (child_main): Try a larger read, to ensure we avoided deadlock.
27750         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
27751         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
27752         if misused.
27753
27754 2009-07-19  Jim Meyering  <meyering@redhat.com>
27755
27756         fts: avoid false-positive cycle-detection
27757         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
27758         for each new command line argument.
27759
27760 2009-07-19  Bruno Haible  <bruno@clisp.org>
27761
27762         Fix build error on mingw with the modules sys_select and unistd.
27763         * modules/acl-tests (Depends-on): Add close.
27764         * modules/binary-io-tests (Depends-on): Likewise.
27765         * modules/closein-tests (Depends-on): Likewise.
27766         * modules/flock-tests (Depends-on): Likewise.
27767         * modules/fsync-tests (Depends-on): Likewise.
27768         * modules/lseek-tests (Depends-on): Likewise.
27769         * modules/pipe-tests (Depends-on): Likewise.
27770         * modules/posix_spawn-tests (Depends-on): Likewise.
27771         * modules/posix_spawnp-tests (Depends-on): Likewise.
27772         * modules/stat-time-tests (Depends-on): Likewise.
27773         * modules/yesno-tests (Depends-on): Likewise.
27774
27775 2009-07-19  Bruno Haible  <bruno@clisp.org>
27776
27777         Unify conditionals.
27778         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
27779         macros, not at the compiler macros.
27780         * lib/pipe.c: Likewise.
27781         * lib/execute.c: Likewise.
27782         * lib/spawni.c: Likewise.
27783
27784 2009-07-19  Bruno Haible  <bruno@clisp.org>
27785
27786         Fix handling of closed stdin/stdout/stderr on mingw.
27787         * lib/w32spawn.h: Include unistd.h.
27788         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
27789         file descriptor with O_NOINHERIT flag.
27790         (fd_safer_noinherit): New function, based on fd-safer.c.
27791         (dup_safer_noinherit): New function, based on dup-safer.c.
27792         (undup_safer_noinherit): New function.
27793         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
27794         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
27795         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
27796         instead of fd_safer.
27797         * tests/test-pipe.c: Include <windows.h>.
27798         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
27799         result.
27800
27801         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
27802         from main.
27803         (test_pipe): Pass an extra argument for disambiguation.
27804         (main): Invoke parent_main or child_main.
27805
27806         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
27807         consistently.
27808
27809 2009-07-18  Eric Blake  <ebb9@byu.net>
27810
27811         test-pipe: fix mingw build
27812         * tests/test-pipe.c (main): Avoid fcntl on mingw.
27813
27814 2009-07-18  Bruno Haible  <bruno@clisp.org>
27815
27816         * modules/pipe-tests (Makefile.am): Fix typo.
27817
27818 2009-07-18  Eric Blake  <ebb9@byu.net>
27819
27820         error: fix mingw build
27821         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
27822         Reported by Bruno Haible.
27823
27824         error: avoid undefined use of stdout
27825         * lib/error.c (error, error_at_line): Check that fd 1 is open
27826         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
27827         is handling faults and the close_stdout module wants to report the
27828         detection of closed stdout as an error.
27829
27830 2009-07-17  Eric Blake  <ebb9@byu.net>
27831
27832         pipe: be robust in face of closed fds
27833         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
27834         should cause child to misbehave.
27835         * modules/pipe-tests: New module.
27836         * tests/test-pipe.c: New file.
27837         * tests/test-pipe.sh: New file.
27838         Reported by Akim Demaille.
27839
27840 2009-07-14  Bruno Haible  <bruno@clisp.org>
27841
27842         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
27843         Reported by anonymous kc.
27844
27845 2009-07-07  Jim Meyering  <meyering@redhat.com>
27846
27847         maint.mk: don't look for translatable strings in *.m4 or *.mk
27848         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
27849         when searching for translatable strings.
27850
27851 2009-07-05  Jim Meyering  <meyering@redhat.com>
27852
27853         remove superfluous parentheses in STREQ definition
27854         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
27855         * lib/getugroups.c (STREQ): Likewise.
27856         * lib/fnmatch.c (STREQ): Likewise.
27857         Spotted by Bruno Haible.
27858
27859 2009-07-04  Jim Meyering  <meyering@redhat.com>
27860
27861         argv-iter: new module
27862         * MODULES.html.sh: Add argv-iter.
27863         * lib/argv-iter.c, lib/argv-iter.h: New files.
27864         * modules/argv-iter: New file.
27865         * modules/argv-iter-tests: New file.
27866         * tests/test-argv-iter.c: Test it.
27867
27868 2009-07-04  Bruno Haible  <bruno@clisp.org>
27869
27870         Fix assertion.
27871         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
27872         contains more exact copies of a given entry than file2, leave the extra
27873         copies unpaired rather than aborting.
27874         Reported by Eric Blake.
27875
27876 2009-07-02  Bruno Haible  <bruno@clisp.org>
27877
27878         Speedup git-merge-changelog for git cherry-pick.
27879         * lib/git-merge-changelog.c (struct entries_mapping): New type.
27880         (entries_mapping_get): New function, extracted from compute_mapping.
27881         (entries_mapping_reverse_get): New function.
27882         (compute_mapping): Add a 'full' argument. Return the result in a
27883         'struct entries_mapping'.
27884         (main): Update. Access the mappings through entries_mapping_get.
27885         Reported by Eric Blake.
27886
27887 2009-07-02  Bruno Haible  <bruno@clisp.org>
27888
27889         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
27890         best_i.
27891
27892 2009-07-02  Bruno Haible  <bruno@clisp.org>
27893
27894         Speed up approximate search for matching ChangeLog entries.
27895         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
27896         argument. Call fstrcmp_bounded instead of fstrcmp.
27897         (compute_mapping, try_split_merged_entry, main): Update callers.
27898
27899 2009-07-02  Bruno Haible  <bruno@clisp.org>
27900
27901         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
27902
27903 2009-06-30  Bruno Haible  <bruno@clisp.org>
27904
27905         Reduce the number of uc_is_cased calls.
27906         * lib/unicase.h (casing_suffix_context_t): Add
27907         'first_char_except_ignorable' field.
27908         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
27909         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
27910         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
27911         Update initializer.
27912         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
27913         case-ignorable characters.
27914         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
27915         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
27916         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
27917         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
27918         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
27919
27920 2009-06-30  Bruno Haible  <bruno@clisp.org>
27921
27922         Tests for module 'unicase/ignorable'.
27923         * modules/unicase/ignorable-tests: New file.
27924         * tests/unicase/test-ignorable.c: New file, generated by
27925         gen-uni-tables.
27926
27927         Tests for module 'unicase/cased'.
27928         * modules/unicase/cased-tests: New file.
27929         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
27930         * tests/unicase/test-predicate-part1.h: New file, derived from
27931         tests/unictype/test-predicate-part1.h.
27932         * tests/unicase/test-predicate-part2.h: New file, same as
27933         tests/unictype/test-predicate-part2.h.
27934
27935         Fix evaluation of "Before C" condition of FINAL_SIGMA.
27936         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
27937         (output_casing_properties): New function.
27938         (main): Call it.
27939         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
27940         * lib/unicase/cased.c: Include unictype/bitmap.h.
27941         (uc_is_cased): Define through a bitmap lookup.
27942         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
27943         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
27944         (uc_is_case_ignorable): Define through a bitmap lookup.
27945         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
27946         lib/unictype/bitmap.h.
27947         (Depends-on): Add inline. Clean up.
27948         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
27949         lib/unictype/bitmap.h.
27950         (Depends-on): Add inline. Clean up.
27951         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
27952         recognition.
27953         * tests/unicase/test-u16-tolower.c (main): Likewise.
27954         * tests/unicase/test-u32-tolower.c (main): Likewise.
27955
27956 2009-06-30  Bruno Haible  <bruno@clisp.org>
27957
27958         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
27959         * lib/unicase/u16-casemap.c: Likewise.
27960         * lib/unicase/u32-casemap.c: Likewise.
27961
27962 2009-06-29  Bruno Haible  <bruno@clisp.org>
27963
27964         Define u32_casefold as a wrapper around u32_ct_casefold.
27965         * lib/unicase/u32-casefold.c: Update.
27966         * modules/unicase/u32-casefold (Depends-on): Add
27967         unicase/u32-ct-casefold, unicase/empty-prefix-context,
27968         unicase/empty-suffix-context. Clean up.
27969
27970         Define u16_casefold as a wrapper around u16_ct_casefold.
27971         * lib/unicase/u16-casefold.c: Update.
27972         * modules/unicase/u16-casefold (Depends-on): Add
27973         unicase/u16-ct-casefold, unicase/empty-prefix-context,
27974         unicase/empty-suffix-context. Clean up.
27975
27976         Define u8_casefold as a wrapper around u8_ct_casefold.
27977         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
27978         * lib/unicase/u8-casefold.c: Update.
27979         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
27980         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27981
27982         Define u32_totitle as a wrapper around u32_ct_totitle.
27983         * lib/unicase/u32-totitle.c: Update.
27984         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
27985         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27986
27987         Define u16_totitle as a wrapper around u16_ct_totitle.
27988         * lib/unicase/u16-totitle.c: Update.
27989         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
27990         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27991
27992         Define u8_totitle as a wrapper around u8_ct_totitle.
27993         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
27994         functions.
27995         (FUNC): Delegate to U_CT_TOTITLE.
27996         * lib/unicase/u8-totitle.c: Update.
27997         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
27998         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
27999
28000         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
28001         invocation.
28002         * modules/unicase/u32-tolower (Depends-on): Add
28003         unicase/empty-prefix-context, unicase/empty-suffix-context.
28004
28005         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
28006         invocation.
28007         * modules/unicase/u16-tolower (Depends-on): Add
28008         unicase/empty-prefix-context, unicase/empty-suffix-context.
28009
28010         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
28011         * modules/unicase/u8-tolower (Depends-on): Add
28012         unicase/empty-prefix-context, unicase/empty-suffix-context.
28013
28014         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
28015         invocation.
28016         * modules/unicase/u32-toupper (Depends-on): Add
28017         unicase/empty-prefix-context, unicase/empty-suffix-context.
28018
28019         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
28020         invocation.
28021         * modules/unicase/u16-toupper (Depends-on): Add
28022         unicase/empty-prefix-context, unicase/empty-suffix-context.
28023
28024         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
28025         * modules/unicase/u8-toupper (Depends-on): Add
28026         unicase/empty-prefix-context, unicase/empty-suffix-context.
28027
28028         New module 'unicase/u32-ct-casefold'.
28029         * lib/unicase/u32-ct-casefold.c: New file.
28030         * modules/unicase/u32-ct-casefold: New file.
28031
28032         New module 'unicase/u16-ct-casefold'.
28033         * lib/unicase/u16-ct-casefold.c: New file.
28034         * modules/unicase/u16-ct-casefold: New file.
28035
28036         New module 'unicase/u8-ct-casefold'.
28037         * lib/unicase/u8-ct-casefold.c: New file.
28038         * lib/unicase/u-ct-casefold.h: New file, derived from
28039         lib/unicase/u-casefold.h.
28040         * modules/unicase/u8-ct-casefold: New file.
28041
28042         New module 'unicase/u32-ct-totitle'.
28043         * lib/unicase/u32-ct-totitle.c: New file.
28044         * modules/unicase/u32-ct-totitle: New file.
28045
28046         New module 'unicase/u16-ct-totitle'.
28047         * lib/unicase/u16-ct-totitle.c: New file.
28048         * modules/unicase/u16-ct-totitle: New file.
28049
28050         New module 'unicase/u8-ct-totitle'.
28051         * lib/unicase/u8-ct-totitle.c: New file.
28052         * lib/unicase/u-ct-totitle.h: New file, derived from
28053         lib/unicase/u-totitle.h.
28054         * modules/unicase/u8-ct-totitle: New file.
28055
28056         New module 'unicase/u32-ct-tolower'.
28057         * lib/unicase/u32-ct-tolower.c: New file.
28058         * modules/unicase/u32-ct-tolower: New file.
28059
28060         New module 'unicase/u16-ct-tolower'.
28061         * lib/unicase/u16-ct-tolower.c: New file.
28062         * modules/unicase/u16-ct-tolower: New file.
28063
28064         New module 'unicase/u8-ct-tolower'.
28065         * lib/unicase/u8-ct-tolower.c: New file.
28066         * modules/unicase/u8-ct-tolower: New file.
28067
28068         New module 'unicase/u32-ct-toupper'.
28069         * lib/unicase/u32-ct-toupper.c: New file.
28070         * modules/unicase/u32-ct-toupper: New file.
28071
28072         New module 'unicase/u16-ct-toupper'.
28073         * lib/unicase/u16-ct-toupper.c: New file.
28074         * modules/unicase/u16-ct-toupper: New file.
28075
28076         New module 'unicase/u8-ct-toupper'.
28077         * lib/unicase/u8-ct-toupper.c: New file.
28078         * modules/unicase/u8-ct-toupper: New file.
28079
28080         Add context arguments to u*_casemap functions.
28081         * lib/unicase/unicasemap.h: Include unicase.h.
28082         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
28083         suffix_context arguments.
28084         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
28085         functions.
28086         (FUNC): Add prefix_context and suffix_context arguments. Use
28087         uc_is_cased and uc_is_case_ignorable.
28088         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
28089         * lib/unicase/u16-casemap.c: Likewise.
28090         * lib/unicase/u32-casemap.c: Likewise.
28091         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
28092         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
28093         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
28094         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
28095         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
28096         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
28097
28098         New module 'unicase/u32-suffix-context'.
28099         * lib/unicase/u32-suffix-context.c: New file.
28100         * modules/unicase/u32-suffix-context: New file.
28101
28102         New module 'unicase/u16-suffix-context'.
28103         * lib/unicase/u16-suffix-context.c: New file.
28104         * modules/unicase/u16-suffix-context: New file.
28105
28106         New module 'unicase/u8-suffix-context'.
28107         * lib/unicase/u8-suffix-context.c: New file.
28108         * lib/unicase/u-suffix-context.h: New file.
28109         * modules/unicase/u8-suffix-context: New file.
28110
28111         New module 'unicase/empty-suffix-context'.
28112         * lib/unicase/empty-suffix-context.c: New file.
28113         * modules/unicase/empty-suffix-context: New file.
28114
28115         New module 'unicase/u32-prefix-context'.
28116         * lib/unicase/u32-prefix-context.c: New file.
28117         * modules/unicase/u32-prefix-context: New file.
28118
28119         New module 'unicase/u16-prefix-context'.
28120         * lib/unicase/u16-prefix-context.c: New file.
28121         * modules/unicase/u16-prefix-context: New file.
28122
28123         New module 'unicase/u8-prefix-context'.
28124         * lib/unicase/u8-prefix-context.c: New file.
28125         * lib/unicase/u-prefix-context.h: New file.
28126         * lib/unicase/context.h: New file.
28127         * modules/unicase/u8-prefix-context: New file.
28128
28129         New module 'unicase/empty-prefix-context'.
28130         * lib/unicase/empty-prefix-context.c: New file.
28131         * modules/unicase/empty-prefix-context: New file.
28132
28133         New module 'unicase/ignorable'.
28134         * lib/unicase/ignorable.c: New file.
28135         * modules/unicase/ignorable: New file.
28136
28137         New module 'unicase/cased'.
28138         * lib/unicase/caseprop.h: New file.
28139         * lib/unicase/cased.c: New file.
28140         * modules/unicase/cased: New file.
28141
28142         New functions for case mapping of substrings.
28143         * lib/unicase.h (casing_prefix_context_t): New type.
28144         (unicase_empty_prefix_context): New variable.
28145         (u8_casing_prefix_context, u16_casing_prefix_context,
28146         u32_casing_prefix_context, u8_casing_prefixes_context,
28147         u16_casing_prefixes_context, u32_casing_prefixes_context): New
28148         declarations.
28149         (casing_suffix_context_t): New type.
28150         (unicase_empty_suffix_context): New variable.
28151         (u8_casing_suffix_context, u16_casing_suffix_context,
28152         u32_casing_suffix_context, u8_casing_suffixes_context,
28153         u16_casing_suffixes_context, u32_casing_suffixes_context,
28154         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
28155         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
28156         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
28157         declarations.
28158
28159 2009-06-28  Jim Meyering  <meyering@redhat.com>
28160
28161         boostrap: indent only with spaces
28162         * build-aux/bootstrap: Indent only with spaces, never TABs.
28163
28164         bootstrap: split long lines
28165         * build-aux/bootstrap: Keep line length < 80.
28166
28167         bootstrap: sync from coreutils
28168         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
28169         just as autoreconf does.  Verify a list of prerequisite
28170         package-name,version-number pairs if defined in bootstrap.conf.
28171         Refer to README-prereq, if prerequisites are not satisfied.
28172
28173 2009-06-27  Eric Blake  <ebb9@byu.net>
28174
28175         tests: add test for bogus NULL definition
28176         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
28177         * tests/test-stdlib.c: Likewise.
28178         * tests/test-string.c: Likewise.
28179         * tests/test-locale.c: Likewise.
28180         * tests/test-unistd.c: Likewise.
28181         * modules/stdio-tests (Depends-on): Add verify.
28182         * modules/stdlib-tests (Depends-on): Likewise.
28183         * modules/string-tests (Depends-on): Likewise.
28184         * modules/locale-tests (Depends-on): Likewise.
28185         * modules/unistd-tests (Depends-on): Likewise.
28186
28187 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
28188
28189         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
28190         self-explaining comment.
28191         * m4/selinux-selinux-h: Update serial.
28192         (gl_LIBSELINUX): New macro, adding a warning for missing development
28193         packages to code extracted from...
28194         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
28195         Add warning for missing development packages here, too.
28196
28197 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
28198
28199         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
28200
28201 2009-06-25  Eric Blake  <ebb9@byu.net>
28202
28203         version-etc: fix regression
28204         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
28205         gcc.
28206         (version_etc): Use it, to catch bugs with trailing NULL.
28207         * lib/version-etc.c (version_etc_arn): Delete unused argument.
28208         (version_etc_va): Fix logic bug.
28209         * modules/version-etc-tests: Add test.
28210         * tests/test-version-etc.c: New file.
28211         * tests/test-version-etc.sh: Likewise.
28212
28213 2009-06-25  Sam Steingold  <sds@gnu.org>
28214
28215         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
28216         mbtowc declaration.
28217
28218 2009-06-25  Eric Blake  <ebb9@byu.net>
28219
28220         fpurge: migrate into <stdio.h>
28221         * lib/fpurge.h: Delete...
28222         * lib/stdio.in.h (fpurge): ...and declare here, instead.
28223         * lib/fpurge.c (fpurge): Change declaring header.
28224         * modules/fpurge (Files): Drop deleted file.
28225         (Depends-on): Add stdio.
28226         (configure.ac): Set witness.
28227         * modules/stdio (Makefile.am): Support fpurge macros.
28228         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
28229         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
28230         * lib/fflush.c: Update client.
28231         * tests/test-fpurge.c: Likewise.
28232         * NEWS: Mention the change.
28233
28234 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
28235
28236         * lib/argp-version-etc.c (program_authors): Add const
28237         qualifier.
28238         * lib/version-etc.c: Fix typos in the comments.
28239         * modules/argp-version-etc: Depends on version-etc.
28240
28241 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
28242
28243         argp-version-etc: new module.
28244
28245         * lib/argp-version-etc.c: New file.
28246         * lib/argp-version-etc.h: New file.
28247         * modules/argp-version-etc: New file.
28248         * modules/argp-version-etc-tests: New file.
28249         * tests/test-argp-version-etc.c: New test.
28250         * tests/test-argp-version-etc-1.sh: New test.
28251
28252 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
28253
28254         Provide additional interfaces and documentation for version-etc
28255         module.
28256
28257         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
28258         interfaces.
28259         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
28260         prototypes.
28261
28262 2009-06-24  Bruno Haible  <bruno@clisp.org>
28263
28264         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
28265         HAVE_LIB${NAME} macro.
28266         Reported by Sam Steingold <sds@gnu.org>.
28267
28268 2009-06-23  Simon Josefsson  <simon@josefsson.org>
28269
28270         * modules/hash-tests (test_hash_LDADD): Link to libintl when
28271         needed.
28272
28273 2009-06-21  Bruno Haible  <bruno@clisp.org>
28274
28275         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
28276         work.
28277         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
28278         together with LIB${NAME}, LTLIB${NAME}.
28279         Reported by Sam Steingold <sds@gnu.org>.
28280
28281 2009-06-20  Jim Meyering  <meyering@redhat.com>
28282
28283         tests: make sc_require_test_exit_idiom more generic
28284         * top/maint.mk (Exit_witness_file): New overridable variable.
28285         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
28286         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
28287
28288 2009-06-19  Jim Meyering  <meyering@redhat.com>
28289
28290         hash: reverse order of src/dst parameters in an internal interface
28291         * lib/hash.c (transfer_entries): Reverse order of parameters to
28292         put DST before SRC.  Adjust callers.
28293
28294         tests: test-hash: avoid wholesale duplication
28295         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
28296         Instead, use a loop and add a single conditional.
28297
28298         tests: test-hash: allow seed selection via a command line argument
28299         * tests/test-hash.c (get_seed): New function.
28300         (main): Use it.
28301
28302 2009-06-19  Eric Blake  <ebb9@byu.net>
28303
28304         hash: avoid memory leak on allocation failure
28305         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
28306         failure.  Factor repeated algorithm...
28307         (transfer_entries): ...into new helper routine.
28308         (hash_delete): React to hash_rehash return value.
28309
28310         hash: reduce memory pressure in hash_rehash no-op case
28311         * lib/hash.c (next_prime): Avoid overflow.
28312         (hash_initialize): Factor bucket size computation...
28313         (compute_bucket_size): ...into new helper function.
28314         (hash_rehash): Use new function and open coding to reduce memory
28315         pressure, and avoid a memory leak in USE_OBSTACK code.
28316         Reported by Jim Meyering.
28317
28318 2009-06-18  Eric Blake  <ebb9@byu.net>
28319
28320         hash: make rotation more obvious
28321         * modules/hash (Depends-on): Add bitrotate and stdint.
28322         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
28323         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
28324         (SIZE_MAX): Rely on headers for definition.
28325         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
28326         (raw_hasher): Use rotr_sz.
28327         Suggested by Jim Meyering.
28328
28329         hash: fix memory leak in last patch
28330         * lib/hash.c (hash_rehash): Avoid memory leak.
28331
28332         hash: avoid no-op rehashing
28333         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
28334
28335         hash: provide default callback functions
28336         * lib/hash.c (raw_hasher, raw_comparator): New functions.
28337         (hash_initialize): Use them as defaults.
28338         * tests/test-hash.c (main): Test this.
28339
28340         hash: minor optimization
28341         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
28342         when possible.
28343         (hash_initialize): Document this promise.
28344         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
28345         * tests/test-hash.c (hash_compare_strings): Test this.
28346
28347 2009-06-18  Bruno Haible  <bruno@clisp.org>
28348
28349         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
28350         going to be replaced anyway.
28351
28352 2009-06-18  Bruno Haible  <bruno@clisp.org>
28353
28354         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
28355         in one place.
28356         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
28357         be replaced anyway.
28358
28359 2009-06-18  Eric Blake  <ebb9@byu.net>
28360
28361         hash: check for resize before insertion
28362         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
28363         threshold before insertion, so that a pathological hash_rehash
28364         that fills every bucket can still trigger another rehash.
28365
28366 2009-06-18  Jim Meyering  <meyering@redhat.com>
28367
28368         hash-tests: add a loop around the small tests
28369         * tests/test-hash.c (main): Repeat small tests with selected
28370         small initial table sizes.
28371
28372 2009-06-17  Eric Blake  <ebb9@byu.net>
28373
28374         hash: minor cleanups
28375         * lib/hash.h (hash_entry): Make opaque, by moving...
28376         * lib/hash.c (hash_entry): ...here.
28377         (hash_insert): Clarify restrictions on what can be inserted.
28378         (hash_get_next): Clarify when it is safe to remove an element
28379         during traversal.
28380         (check_tuning): Skip verification when tuning is known safe.
28381         (hash_initialize): Clarify restrictions on tuning.
28382
28383 2009-06-17  Jim Meyering  <jim@meyering.net>
28384         and Eric Blake  <ebb9@byu.net>
28385
28386         hash-tests: new module
28387         * modules/hash-tests: New file.
28388         * tests/test-hash.c: New file.
28389
28390 2009-06-17  Eric Blake  <ebb9@byu.net>
28391
28392         strstr-simple: document new module
28393         * MODULES.html.sh: Document new module.
28394
28395         strstr, strcasestr: replace on platforms with broken memchr
28396         * modules/strstr: Split into...
28397         * modules/strstr-simple: ...new module that does not care about
28398         performance, but does care about glibc bug.
28399         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
28400         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
28401         if platform memchr is broken, per Debian bug 521737.
28402         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
28403         memchr.
28404         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
28405         * doc/posix-functions/strstr.texi (strstr): Document the fix.
28406         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
28407         * modules/mountlist (Depends-on): Add strstr-simple.
28408         * modules/gen-uni-tables (Depends-on): Likewise.
28409         * modules/argz (Depends-on): Add strstr.
28410
28411 2009-06-17  Bruno Haible  <bruno@clisp.org>
28412
28413         * modules/posix_spawn-internal (Depends-on): Add errno.
28414
28415 2009-06-17  Bruno Haible  <bruno@clisp.org>
28416
28417         Define missing ESTALE on Interix 3.5.
28418         * lib/errno.in.h (ESTALE): Assign a value if missing.
28419         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
28420         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
28421         missing.
28422         * doc/posix-headers/errno.texi: Mention the Interix bug.
28423         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
28424
28425 2009-06-15  Eric Blake  <ebb9@byu.net>
28426
28427         memchr, memchr2: add valgrind exception
28428         * lib/memchr.valgrind: New file.
28429         * lib/memchr2.valgrind: New file.
28430         * modules/memchr (Files): Distribute valgrind file.
28431         * modules/memchr2 (Files): Likewise.
28432
28433         docs: memchr is no longer obsolete
28434         * MODULES.html.sh: Move memchr from obsolete to string.h section.
28435         * lib/string.in.h (memchr): Simplify logic.
28436
28437 2009-06-14  Jim Meyering  <meyering@redhat.com>
28438
28439         link-follow: fix the "checking..." message to not mention trailing slash
28440         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
28441         never considered trailing slashes.
28442
28443 2009-06-14  Bruno Haible  <bruno@clisp.org>
28444
28445         * m4/memchr.m4: Mention also the bug on IA-64.
28446         * doc/posix-functions/memchr.texi: Likewise.
28447
28448 2009-06-12  Eric Blake  <ebb9@byu.net>
28449
28450         memchr: detect broken x86_64 and alpha implementations
28451         * modules/memchr-tests (Depends-on): Move mmap detection...
28452         * modules/memchr (Depends-on): ...here.
28453         (configure.ac): Set indicator.
28454         * lib/string.in.h (memchr): Declare replacement.
28455         * modules/string (Makefile.am): Trigger replacement.
28456         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
28457         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
28458         bugs.
28459         * doc/posix-functions/memchr.texi (memchr): Document the bug.
28460         * modules/getpagesize (License): Relax license.
28461
28462 2009-06-11  Bruno Haible  <bruno@clisp.org>
28463
28464         * lib/idpriv.h: Add more references.
28465
28466 2009-06-08  Bruno Haible  <bruno@clisp.org>
28467
28468         Tests for module 'idpriv-droptemp'.
28469         * modules/idpriv-droptemp-tests: New file.
28470         * tests/test-idpriv-droptemp.sh: New file.
28471         * tests/test-idpriv-droptemp.su.sh: New file.
28472         * tests/test-idpriv-droptemp.c: New file.
28473
28474         New module 'idpriv-droptemp'.
28475         * lib/idpriv-droptemp.c: New file.
28476         * modules/idpriv-droptemp: New file.
28477
28478 2009-06-08  Bruno Haible  <bruno@clisp.org>
28479
28480         Tests for module 'idpriv-drop'.
28481         * modules/idpriv-drop-tests: New file.
28482         * tests/test-idpriv-drop.sh: New file.
28483         * tests/test-idpriv-drop.su.sh: New file.
28484         * tests/test-idpriv-drop.c: New file.
28485
28486         New module 'idpriv-drop'.
28487         * lib/idpriv.h: New file.
28488         * lib-idpriv-drop.c: New file.
28489         * m4/idpriv.m4: New file.
28490         * modules/idpriv-drop: New file.
28491
28492 2009-06-08  Bruno Haible  <bruno@clisp.org>
28493
28494         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
28495         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28496         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28497         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28498         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28499         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28500         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28501
28502 2009-06-08  Eric Blake  <ebb9@byu.net>
28503
28504         test-strstr: use memory fence, when possible
28505         * tests/test-strstr.c (main): Use memory fence, in order to be
28506         more likely to trigger Debian bug 521737.
28507         * modules/strstr-tests (Files): Pull in additional files.
28508
28509         memchr: no longer obsolete, for wider field testing
28510         * modules/memchr (Status, Notice): Delete, this module is no
28511         longer obsolete.
28512         * modules/vasnprintf (Depends-on): Add memchr.
28513
28514 2009-06-07  Jim Meyering  <meyering@redhat.com>
28515
28516         hash: declare some functions with the warn_unused_result attribute
28517         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
28518
28519 2009-06-07  Bruno Haible  <bruno@clisp.org>
28520
28521         * tests/test-alignof.c: Don't test int64_t if it does not exist.
28522         Reported by Eric Blake.
28523
28524 2009-06-06  Eric Blake  <ebb9@byu.net>
28525
28526         test-alignof: fix typo with long double
28527         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
28528         compiler error.
28529
28530 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
28531
28532         Escape non-texinfo { and }s.
28533         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
28534         markup error.
28535
28536 2009-06-04  Jim Meyering  <meyering@redhat.com>
28537
28538         gitlog-to-changelog: don't infloop on an empty commit log
28539         * build-aux/gitlog-to-changelog: Warn about an empty log message.
28540         Reported by Boris Petersen <transacid@centerim.org>.
28541
28542 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
28543
28544         version-etc: extend for packagers
28545         Add three new configure options, intended for packagers:
28546           --with-packager="packager name"
28547           --with-packager-version="packager-specific version"
28548           --with-packager-bug-reports="packager bug reporting"
28549         An example with coreutils:
28550           $ ./configure \
28551             --with-packager=Gentoo \
28552             --with-packager-bug-report=http://bugs.gentoo.org/ \
28553             --with-packager-version="patchset 1.6"
28554           $ ./src/ls --version | head -n2
28555           ls (GNU coreutils) 7.1-dirty
28556           Packaged by Gentoo (patchset 1.6)
28557         Note that the bug reporting info via --help doesn't show up because
28558         coreutils uses its own custom emit_bug_reporting_address() implementation
28559         in src/system.h.  If it didn't, it'd look like:
28560           $ ./src/ls --help | tail -n4
28561           Report bugs to <bug-coreutils@gnu.org>.
28562           Report Gentoo bugs to <http://bugs.gentoo.org/>.
28563           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
28564           General help using GNU software: <http://www.gnu.org/gethelp/>.
28565         * lib/version-etc.c: Print new information, if provided.
28566         * m4/version-etc.m4: New file.
28567         * modules/version-etc (Files): Add m4/version-etc.m4.
28568         (configure.ac): Add gl_VERSION_ETC.
28569
28570 2009-05-31  Bruno Haible  <bruno@clisp.org>
28571
28572         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
28573         and 'int64_t'.
28574         * modules/alignof-tests (Dependencies): Add stdint.
28575         Reported by Eric Blake.
28576
28577 2009-05-31  Bruno Haible  <bruno@clisp.org>
28578
28579         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
28580         restriction due to compiler bugs.
28581         Reported by Eric Blake.
28582
28583 2009-05-31  Simon Josefsson  <simon@josefsson.org>
28584             Bruno Haible  <bruno@clisp.org>
28585
28586         Fix test-alignof failure.
28587         * lib/alignof.h (alignof_slot): New macro.
28588         (alignof_type): New macro, with the same semantics as the previous
28589         'alignof'.
28590         (alignof): Alias to alignof_slot.
28591         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
28592         check that the results are usable as constant expressions.
28593
28594 2009-05-31  Bruno Haible  <bruno@clisp.org>
28595
28596         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
28597         * tests/test-memchr.c (main): Check that memchr does not read past the
28598         first occurrence of the byte.
28599         * tests/test-strstr.c (main): Update comment.
28600         Suggested by Eric Blake.
28601
28602 2009-05-30  Bruno Haible  <bruno@clisp.org>
28603
28604         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
28605         detail how to use dumpbin.
28606         Reported by David Byron <dbyron@dbyron.com>.
28607
28608 2009-06-02  Simon Josefsson  <simon@josefsson.org>
28609
28610         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
28611
28612 2009-06-02  Simon Josefsson  <simon@josefsson.org>
28613
28614         * m4/manywarnings.m4: Add GCC 4.4 warnings.
28615
28616 2009-05-28  Bruno Haible  <bruno@clisp.org>
28617
28618         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
28619         build-aux/ files.
28620
28621 2009-05-28  Simon Josefsson  <simon@josefsson.org>
28622
28623         * gnulib-tool (func_import): Transform license on build-aux/ files too.
28624
28625 2009-05-27  Simon Josefsson  <simon@josefsson.org>
28626
28627         * gnulib-tool (sed_transform_main_lib_file)
28628         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
28629         regexps.
28630
28631 2009-05-26  Simon Josefsson  <simon@josefsson.org>
28632
28633         * tests/test-strstr.c: Add another self-test.
28634         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
28635         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
28636
28637 2009-05-23  Bruno Haible  <bruno@clisp.org>
28638
28639         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
28640         change.
28641
28642 2009-05-21  Bruno Haible  <bruno@clisp.org>
28643
28644         Simplify use of mode_t varargs.
28645         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
28646         uses 'mode_t' or 'int'.
28647         * lib/openat.c (openat): Likewise.
28648         * lib/open-safer.c (open_safer): Likewise.
28649         * m4/mode_t.m4: New file.
28650         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
28651         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
28652         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
28653         * modules/open (Files): Add m4/mode_t.m4.
28654         * modules/openat (Files): Likewise.
28655         * modules/fcntl-safer (Files): Likewise.
28656         Suggested by Eric Blake.
28657
28658 2009-05-21  Pádraig Brady  <P@draigbrady.com>
28659
28660         * doc/glibc-functions/fallocate.texi: New file.
28661         * doc/gnulib.texi: Include it.
28662
28663 2009-05-21  Eric Blake  <ebb9@byu.net>
28664             Bruno Haible  <bruno@clisp.org>
28665
28666         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
28667         invocations.
28668         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
28669
28670 2009-05-21  Eric Blake  <ebb9@byu.net>
28671             Bruno Haible  <bruno@clisp.org>
28672
28673         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
28674         include_next. Fix of 2008-11-20 commit.
28675         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
28676         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
28677         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
28678         NEXT_MATH_H.
28679         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
28680         instead of NEXT_MATH_H.
28681
28682 2009-05-21  Bruno Haible  <bruno@clisp.org>
28683
28684         Avoid redefinition warnings for SIZE_MAX.
28685         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
28686         Reported by Simon Josefsson.
28687
28688 2009-05-21  Bruno Haible  <bruno@clisp.org>
28689
28690         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
28691         AC_CACHE_VAL.
28692
28693 2009-05-20  Bruno Haible  <bruno@clisp.org>
28694
28695         Make zeroptr.h work on mingw.
28696         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
28697         mprotect.
28698         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
28699         * modules/memchr2-tests (configure.ac): Likewise.
28700         * modules/memcmp-tests (configure.ac): Likewise.
28701         * modules/memmem-tests (configure.ac): Likewise.
28702         * modules/memrchr-tests (configure.ac): Likewise.
28703         Reported by Simon Josefsson.
28704
28705 2009-05-20  Simon Josefsson  <simon@josefsson.org>
28706
28707         * tests/test-glob.c: Include string.h for strcmp prototype.
28708
28709 2009-05-20  Simon Josefsson  <simon@josefsson.org>
28710
28711         * modules/getdelim (Depends-on): Add explicit stdint, although it
28712         was implicitly already pulled in via realloc-posix.
28713         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
28714
28715 2009-05-20  Simon Josefsson  <simon@josefsson.org>
28716
28717         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
28718         G. Christensen" <tgc@jupiterrise.com>.
28719         * m4/sys_socket_h.m4: Check for sa_family_t.
28720         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
28721         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
28722         * tests/test-sys_socket.c: Check that sa_family_t works.
28723
28724 2009-05-18  Eric Blake  <ebb9@byu.net>
28725
28726         maint.mk: allow gnulib_dir in VPATH build
28727         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
28728
28729 2009-05-15  Jim Meyering  <meyering@redhat.com>
28730
28731         maint.mk: Give gnulib_dir a default definition.
28732         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
28733         Thus, most packages no longer need to specify this variable in cfg.mk
28734
28735 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
28736
28737         rename.m4: fix typos that would make non-mingw cross-configure fail
28738         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
28739
28740 2009-05-13  Eric Blake  <ebb9@byu.net>
28741
28742         mmap-anon: avoid out-of-order autoconf expansion
28743         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
28744         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
28745         * modules/memchr-tests (Depends-on): Add extensions.
28746         * modules/memchr2-tests (Depends-on): Add extensions.
28747         * modules/memcmp-tests (Depends-on): Add extensions.
28748         * modules/memmem-tests (Depends-on): Add extensions.
28749         * modules/memrchr-tests (Depends-on): Add extensions.
28750
28751 2009-05-13  Bruno Haible  <bruno@clisp.org>
28752
28753         Make some tests ISO C 99 compliant.
28754         * tests/zerosize-ptr.h: New file.
28755         * tests/test-memchr.c: Include zerosize-ptr.h.
28756         (main): Use a zero-size object pointer instead of NULL.
28757         * tests/test-memchr2.c: Include zerosize-ptr.h.
28758         (main): Use a zero-size object pointer instead of NULL.
28759         * tests/test-memcmp.c: Include zerosize-ptr.h.
28760         (main): Use a zero-size object pointer instead of NULL.
28761         * tests/test-memmem.c: Include zerosize-ptr.h.
28762         (main): Use a zero-size object pointer instead of NULL.
28763         * tests/test-memrchr.c: Include zerosize-ptr.h.
28764         (main): Use a zero-size object pointer instead of NULL.
28765         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
28766         m4/mmap-anon.m4.
28767         (Depends-on): Add getpagesize.
28768         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
28769         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
28770         m4/mmap-anon.m4.
28771         (Depends-on): Add getpagesize.
28772         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
28773         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
28774         m4/mmap-anon.m4.
28775         (Depends-on): Add getpagesize.
28776         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
28777         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
28778         m4/mmap-anon.m4.
28779         (Depends-on): Add getpagesize.
28780         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
28781         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
28782         m4/mmap-anon.m4.
28783         (Depends-on): Add getpagesize.
28784         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
28785
28786 2009-05-12  Bruno Haible  <bruno@clisp.org>
28787
28788         Tests for module 'alignof'.
28789         * modules/alignof-tests: New file.
28790         * tests/test-alignof.c: New file.
28791
28792 2009-05-12  Bruno Haible  <bruno@clisp.org>
28793
28794         Fix alignof macro.
28795         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
28796         vendor compilers that are always correct.
28797
28798 2009-05-12  Bruno Haible  <bruno@clisp.org>
28799
28800         Make the MAP_ANONYMOUS detection work on HP-UX 11.
28801         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
28802         not whether its fully works.
28803
28804 2009-05-12  Bruno Haible  <bruno@clisp.org>
28805
28806         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
28807
28808 2009-05-12  Jim Meyering  <meyering@redhat.com>
28809
28810         * top/maint.mk: Adjust backslash alignment.
28811
28812 2009-05-11  Simon Josefsson  <simon@josefsson.org>
28813
28814         * top/maint.mk: Make $(srcdir)/build-aux configurable.
28815
28816 2009-05-11  Eric Blake  <ebb9@byu.net>
28817
28818         argp: avoid undefined behavior
28819         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
28820         macros.
28821
28822 2009-05-08  Simon Josefsson  <simon@josefsson.org>
28823
28824         * tests/test-vc-list-files-git.sh: Do git config of user.email and
28825         user.name to prevent git commit from complaining.
28826
28827 2009-05-10  Bruno Haible  <bruno@clisp.org>
28828
28829         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
28830         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
28831         it rewrites every file name only once.
28832         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
28833
28834 2009-05-08  Bruno Haible  <bruno@clisp.org>
28835
28836         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
28837         instead of 'max'.
28838
28839 2009-05-08  Simon Josefsson  <simon@josefsson.org>
28840
28841         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
28842         sockaddr_storage test.
28843
28844 2009-05-07  Simon Josefsson  <simon@josefsson.org>
28845
28846         * modules/sys_socket (Makefile.am): Substitute
28847         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
28848         * m4/sys_socket_h.m4: Check for sockaddr_storage.
28849         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
28850         * tests/test-sys_socket.c: Check sockaddr_storage.
28851
28852 2009-05-08  Bruno Haible  <bruno@clisp.org>
28853
28854         New module 'alignof'.
28855         * lib/alignof.h: New file.
28856         * modules/alignof: New file.
28857
28858 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
28859             Bruno Haible  <bruno@clisp.org>
28860
28861         Fix test-file-has-acl on FreeBSD.
28862         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
28863         mask is implicitly added.
28864         * tests/test-file-has-acl.c: Include <signal.h>.
28865         (main): Terminate the test after 5 seconds.
28866         * modules/acl-tests (configure.ac): Check for alarm function.
28867
28868 2009-05-04  Bruno Haible  <bruno@clisp.org>
28869
28870         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
28871         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
28872         * modules/errno (configure.ac): Drop AC_REQUIRE.
28873         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
28874         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
28875
28876 2009-05-04  Simon Josefsson  <simon@josefsson.org>
28877
28878         * modules/glob-tests: New module.
28879         * tests/test-glob.c: Add.
28880
28881 2009-05-04  Simon Josefsson  <simon@josefsson.org>
28882
28883         * modules/fnmatch-tests: New module.
28884         * tests/test-fnmatch.c: Add.
28885
28886 2009-05-04  Eric Blake  <ebb9@byu.net>
28887
28888         maint: make the new no-submodule-changes rule VPATH-safe
28889         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
28890
28891 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
28892             Bruno Haible  <bruno@clisp.org>
28893
28894         acl: Fix infinite loop on FreeBSD.
28895         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
28896         of return value from acl_get_entry.
28897         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
28898         Likewise.
28899
28900 2009-05-03  Bruno Haible  <bruno@clisp.org>
28901
28902         * lib/acl-internal.h (acl_entries): Clarify return value.
28903         * lib/acl_entries.c (acl_entries): Likewise.
28904
28905 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
28906
28907         Bug fix in acl module.
28908         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
28909
28910 2009-05-03  Bruno Haible  <bruno@clisp.org>
28911
28912         Create gperf-generated file in the source dir, not in the build dir.
28913         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
28914         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
28915         * modules/unicase/locale-language (unicase/locale-languages.h):
28916         Likewise.
28917         * modules/unicase/special-casing (unicase/special-casing-table.h):
28918         Likewise.
28919         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
28920         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
28921         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
28922         Reported by Ralf Wildenhues.
28923
28924 2009-05-03  Bruno Haible  <bruno@clisp.org>
28925
28926         * modules/fnmatch (Description, configure.ac): Taken from
28927         fnmatch-posix.
28928         * modules/fnmatch-posix: Turn into a symbolic reference to the
28929         'fnmatch' module, and deprecate.
28930         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
28931
28932 2009-05-03  Bruno Haible  <bruno@clisp.org>
28933
28934         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
28935         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
28936         Reported by Ralf Wildenhues.
28937
28938 2009-05-04  Simon Josefsson  <simon@josefsson.org>
28939
28940         * m4/fnmatch.m4: Fix fnmatch re-define.
28941
28942 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
28943
28944         priv-set: new module and tests; adapt write-any-file
28945         * lib/priv-set.c: New file.
28946         * lib/priv-set.h: New file.
28947         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
28948         * lib/write-any-file.c: Simplify by using priv-set module.
28949         * m4/priv-set.m4: New file.
28950         * modules/priv-set: New file.
28951         * modules/unlinkdir: Add dependency on priv-set module.
28952         * modules/write-any-file: Likewise.
28953
28954         Tests for module 'priv-set'.
28955         * modules/priv-set-tests: New file.
28956         * tests/test-priv-set.c: New file.
28957
28958 2009-05-03  Jim Meyering  <meyering@redhat.com>
28959             Bruno Haible  <bruno@clisp.org>
28960
28961         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
28962         use the converted UTF-8 variant of the name instead.
28963
28964 2009-05-03  Jim Meyering  <meyering@redhat.com>
28965
28966         tests: tighten some getdate tests
28967         * tests/test-getdate.c (main): Tighten tests: require equality,
28968         not just greater than.  Set TZ envvar to UTC0.
28969
28970 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
28971
28972         getdate: correctly interpret "next monday" when run on a Monday
28973         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
28974         that e.g., "next tues" (when run on a tuesday) results in a date
28975         that is one week in the future, and not today's date.
28976         I.e., add a week when the wday is the same as the current one.
28977         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
28978         and earlier by Martin Bernreuther and Jan Minář.
28979         * tests/test-getdate.c (main): Check that "next DAY" is always in
28980         the future and that "last DAY" is always in the past.
28981
28982 2009-05-02  Jim Meyering  <meyering@redhat.com>
28983
28984         build: ensure that a release build fails when a submodule is unclean
28985         * top/maint.mk (no-submodule-changes): New rule.
28986         (alpha beta major): Depend on it.
28987
28988 2009-05-02  Bruno Haible  <bruno@clisp.org>
28989
28990         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
28991         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
28992         shell variable gl_fnmatch_required to detect which variant is
28993         requested.
28994         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
28995         gl_FUNC_FNMATCH_POSIX.
28996         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
28997         exclude fnmatch-posix.
28998
28999 2009-05-02  Bruno Haible  <bruno@clisp.org>
29000
29001         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
29002         * modules/mbsrtowcs (License): Change to LGPLv2+.
29003         * modules/strnlen1 (License): Likewise.
29004         Reported by Simon Josefsson.
29005
29006 2009-05-02  Bruno Haible  <bruno@clisp.org>
29007
29008         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
29009         "cross".
29010         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
29011         gnulib-tool was called with option --source-base=lib.
29012
29013 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29014
29015         Use automake *-local hooks without commands, for extensibility.
29016         * modules/localcharset (Makefile.am): Rename install-exec-local
29017         rule to install-exec-localcharset, and make it a prerequisite of
29018         install-exec-local.  Likewise, rename the uninstall-local rule to
29019         uninstall-localcharset, and make it a prerequisite of the former.
29020
29021 2009-05-01  Bruno Haible  <bruno@clisp.org>
29022
29023         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
29024         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
29025         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
29026         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
29027         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
29028         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
29029         m4/locale-zh.m4, m4/codeset.m4.
29030
29031         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
29032         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
29033         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
29034         m4/locale-zh.m4.
29035
29036         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
29037         REPLACE_WCRTOMB if mbstate_t must be replaced.
29038         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
29039         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
29040
29041 2009-05-01  Bruno Haible  <bruno@clisp.org>
29042
29043         Avoid compiler warnings when redefining macros defined by <libintl.h>.
29044         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
29045         dngettext, dcngettext, textdomain, bindtextdomain,
29046         bind_textdomain_codeset): Undefine before redefining.
29047
29048 2009-04-30  Bruno Haible  <bruno@clisp.org>
29049
29050         Fix bug introduced on 2009-04-25.
29051         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
29052         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
29053         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
29054         is defined.
29055         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
29056         is defined.
29057         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
29058         is defined.
29059         Reported by Elbert_Pol <elbert.pol@gmail.com>.
29060
29061 2009-04-28  Bruno Haible  <bruno@clisp.org>
29062
29063         Comment tweaks.
29064         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
29065         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
29066         * lib/unicase.h (u*_casexfrm): Likewise.
29067         Reported by Paolo Bonzini.
29068
29069 2009-04-28  Bruno Haible  <bruno@clisp.org>
29070
29071         Fix a compilation error.
29072         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
29073         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
29074         Reported by Jim Meyering.
29075
29076 2009-04-27  Bruno Haible  <bruno@clisp.org>
29077
29078         New module 'libunistring'.
29079         * modules/libunistring: New file.
29080         * m4/libunistring.m4: New file.
29081         * MODULES.html.sh (Unicode string functions): Add it.
29082
29083 2009-04-27  Eric Blake  <ebb9@byu.net>
29084
29085         maint.mk: allow package-specific header to provide <config.h>
29086         * top/maint.mk (sc_require_config_h): New variable.
29087         (sc_require_config_h, sc_require_config_h_first): Use it.
29088
29089 2009-04-27  Simon Josefsson  <simon@josefsson.org>
29090
29091         * top/maint.mk (sc_avoid_if_before_free): Except
29092         useless-if-before-free script.
29093
29094 2009-04-27  Eric Blake  <ebb9@byu.net>
29095
29096         maintainer-makefile: depend on all required helper scripts
29097         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
29098         useless-if-before-free.
29099         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
29100         version, rather than assuming gnulib checkout is available.
29101         Reported by Simen Josefsson.
29102
29103 2009-04-26  Bruno Haible  <bruno@clisp.org>
29104
29105         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
29106         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
29107         "../" or "..".
29108
29109 2009-04-26  Bruno Haible  <bruno@clisp.org>
29110
29111         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
29112         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
29113         AC_LIB_HAVE_LINKFLAGS.
29114
29115 2009-04-26  Bruno Haible  <bruno@clisp.org>
29116
29117         Simplify calling convention of u*_conv_from_encoding.
29118         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
29119         u32_conv_from_encoding): Expect a resultbuf argument and return the
29120         result directly as a pointer.
29121         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
29122         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
29123         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
29124         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
29125         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
29126         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
29127         Update.
29128         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
29129         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
29130         * lib/vasnprintf.c (VASNPRINTF): Update.
29131         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
29132         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
29133         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
29134         * NEWS: Mention the change.
29135
29136 2009-04-26  Bruno Haible  <bruno@clisp.org>
29137
29138         Simplify calling convention of u*_conv_to_encoding.
29139         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
29140         u32_conv_to_encoding): Expect a resultbuf argument and return the
29141         result directly as a pointer.
29142         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
29143         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
29144         freeing scaled_offsets if mem_iconveha failed.
29145         * lib/unicase/u-casexfrm.h (FUNC): Update.
29146         * lib/uninorm/u-normxfrm.h (FUNC): Update.
29147         * lib/vasnprintf.c (VASNPRINTF): Update.
29148         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
29149         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
29150         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
29151         * NEWS: Mention the change.
29152
29153 2009-04-26  Bruno Haible  <bruno@clisp.org>
29154
29155         Avoid test failures on AIX and OSF/1.
29156         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
29157         malloc(0).
29158         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
29159         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
29160         Likewise.
29161         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
29162         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
29163         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
29164         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
29165         * doc/posix-functions/malloc.texi: Document the portability problem
29166         related to malloc(0).
29167
29168 2009-04-26  Bruno Haible  <bruno@clisp.org>
29169
29170         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
29171         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
29172         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
29173
29174 2009-04-25  Bruno Haible  <bruno@clisp.org>
29175
29176         Avoid link error when creating a namespace clean library.
29177         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
29178         as macro with arguments if already defined as an alias.
29179         * lib/signbitf.c (gl_signbitf): Don't undefine.
29180         * lib/signbitd.c (gl_signbitd): Don't undefine.
29181         * lib/signbitl.c (gl_signbitl): Don't undefine.
29182
29183 2009-04-25  Jim Meyering  <meyering@redhat.com>
29184
29185         vc-list-files: fix another quoting bug
29186         * build-aux/vc-list-files: Avoid sed backslash expansion
29187         of pathological directory names.
29188
29189 2009-04-25  Eric Blake  <ebb9@byu.net>
29190
29191         vc-list-files: fix shell quoting error
29192         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
29193         timestamp.
29194
29195 2009-04-25  Jim Meyering  <meyering@redhat.com>
29196
29197         vc-list-files: restore lost functionality with subdir argument
29198         * build-aux/vc-list-files: When given a non-"." sub-directory
29199         argument, substitute the $dir/ prefix back onto each resulting name.
29200         Otherwise, coreutils' root_tests check would fail.
29201
29202 2009-04-24  Eric Blake  <ebb9@byu.net>
29203
29204         vc-list-files: ignore git symlinks
29205         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
29206         than ls-files, to ignore git symlinks.
29207
29208         maint.mk: import improvements from m4
29209         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
29210         (move_if_change): Delete unused macro.
29211         (news-date-check, vc-diff-check): Support VPATH builds.
29212         (announcement): Likewise.  Split --bootstrap-tools list...
29213         (boostrap-tools): ...into separate list, which can be overridden
29214         in cfg.mk.
29215         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
29216         requiring dependency on useless-if-before-free module.
29217         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
29218         Support VPATH builds.
29219
29220 2009-04-24  Jim Meyering  <meyering@redhat.com>
29221
29222         maint.mk: remove coreutils-specific rules and variables
29223         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
29224         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
29225         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
29226
29227         maint.mk: remove obsolete rule
29228         * top/maint.mk (rel-check): Remove rule.
29229         (WGET, WGETFLAGS): Remove now-unused variables.
29230
29231 2009-04-24  Simon Josefsson  <simon@josefsson.org>
29232
29233         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
29234         consistency.
29235
29236         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
29237         '$(PATH_SEPARATOR)' instead of ':'.
29238
29239 2009-04-24  Simon Josefsson  <simon@josefsson.org>
29240
29241         * lib/getopt1.c (main): Use 'const' for static array.
29242
29243 2009-04-24  Simon Josefsson  <simon@josefsson.org>
29244
29245         * top/maint.mk: Sync with coreutils.
29246         * NEWS: Explain incompatibilities.
29247
29248 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29249             Bruno Haible  <bruno@clisp.org>
29250
29251         Fix cross-compilation results.
29252         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
29253         statement, as third argument of AC_TRY_RUN.
29254         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
29255         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
29256         Likewise.
29257         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
29258         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
29259         Likewise.
29260         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
29261         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
29262         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
29263
29264 2009-04-20  Bruno Haible  <bruno@clisp.org>
29265
29266         Avoid test failure on mingw.
29267         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
29268
29269 2009-04-20  Bruno Haible  <bruno@clisp.org>
29270
29271         Avoid compilation error on mingw.
29272         * modules/localename-tests (Depends-on): Add locale.
29273
29274 2009-04-19  Bruno Haible  <bruno@clisp.org>
29275
29276         Support for building a shared library on Windows platforms.
29277         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
29278         (main): Test the presence of UNINORM_NFC here.
29279         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
29280         (main): Test the presence of UNINORM_NFD here.
29281         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
29282         (main): Test the presence of UNINORM_NFKC here.
29283         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
29284         (main): Test the presence of UNINORM_NFKD here.
29285
29286 2009-04-19  Bruno Haible  <bruno@clisp.org>
29287
29288         Avoid a compiler warning.
29289         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
29290         Change type of variable 'sequence'.
29291
29292 2009-04-19  Bruno Haible  <bruno@clisp.org>
29293
29294         * modules/configmake (Makefile.am): When the contents of configmake.h
29295         does not change, arrange to preserve its modification time.
29296
29297 2009-04-17  Simon Josefsson  <simon@josefsson.org>
29298
29299         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
29300         gettext domain.
29301
29302 2009-04-16  Jim Meyering  <meyering@redhat.com>
29303
29304         useless-if-before-free: improve conversion code
29305         * build-aux/useless-if-before-free: Adjust code-in-comment to match
29306         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
29307
29308 2009-04-14  Bruno Haible  <bruno@clisp.org>
29309
29310         * modules/fcntl (Depends-on): Add extensions.
29311         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
29312
29313 2009-04-12  Ben Pfaff  <blp@gnu.org>
29314
29315         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
29316         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
29317
29318 2009-03-20  Ben Pfaff  <blp@gnu.org>
29319
29320         Make rename replace existing destinations on Windows.
29321         * m4/rename.m4: Add test for Mingw.
29322         * lib/rename.c: Add rename replacement that uses MoveFileEx with
29323         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
29324         * doc/posix-functions/rename.texi: Document.
29325
29326 2009-04-10  Bruno Haible  <bruno@clisp.org>
29327
29328         New include file "iconveh.h".
29329         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
29330         * lib/striconveh.h: Include it.
29331         (enum iconv_ilseq_handler): Remove definition.
29332         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
29333         striconveh.h.
29334         * lib/striconveha.c: Include striconveh.h.
29335         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
29336         * modules/striconveh (Files): Add lib/iconveh.h.
29337         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
29338         lib/striconveh.h.
29339
29340 2009-04-10  Bruno Haible  <bruno@clisp.org>
29341
29342         * lib/uniconv.h: Update comment.
29343
29344 2009-04-10  Bruno Haible  <bruno@clisp.org>
29345
29346         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
29347         always.
29348         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
29349         * lib/unistr/u16-mbtouc-aux.c: Likewise.
29350         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
29351         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
29352         "unistring-notinline.h", so that the function gets defined always.
29353         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
29354         * lib/unistr/u8-uctomb.c: Likewise.
29355         * lib/unistr/u16-mbtouc.c: Likewise.
29356         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
29357         * lib/unistr/u16-uctomb.c: Likewise.
29358         * lib/unistr/u32-mbtouc.c: Likewise.
29359         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
29360         * lib/unistr/u32-uctomb.c: Likewise.
29361
29362 2009-04-10  Bruno Haible  <bruno@clisp.org>
29363
29364         Mark 'utime' obsolete.
29365         * modules/utime (Status, Notice): New sections.
29366         Suggested by Jim Meyering.
29367
29368         Fix cross-compile guess for utime test.
29369         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
29370         autoconf.
29371         * doc/posix-functions/utime.texi: Give more precisions.
29372         Reported by Jan <ipif@ymail.com>.
29373
29374 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
29375
29376         filevercmp: correct today's change
29377         * lib/filevercmp.c: Also handle coreutils' test inputs.
29378         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
29379
29380         Fix regression in 'filevercmp' module. Thanks Sven Joachim
29381         for reporting it.
29382         * lib/filevercmp.c: Special handle for "", "." and "..".
29383         * tests/test-filevercmp.c: Enlarge the set suite.
29384
29385 2009-04-07  Jim Meyering  <meyering@redhat.com>
29386
29387         useless-if-before-free: show how to remove braced useless free, too
29388         * build-aux/useless-if-before-free: still only in a comment, though.
29389
29390 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
29391
29392         maint.mk: import changes to syntax-check macros from coreutils
29393         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
29394         Use them in the relevant macros.
29395
29396 2009-04-06  Bruno Haible  <bruno@clisp.org>
29397
29398         Fix unportable use of bit-fields.
29399         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
29400         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
29401         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
29402
29403 2009-04-06  Bruno Haible  <bruno@clisp.org>
29404
29405         Avoid test failures on AIX and OSF/1.
29406         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
29407         that malloc(0) = NULL.
29408         * tests/unicase/test-u8-tolower.c (check): Likewise.
29409         * tests/unicase/test-u8-totitle.c (check): Likewise.
29410         * tests/unicase/test-u8-toupper.c (check): Likewise.
29411         * tests/unicase/test-u16-casefold.c (check): Likewise.
29412         * tests/unicase/test-u16-tolower.c (check): Likewise.
29413         * tests/unicase/test-u16-totitle.c (check): Likewise.
29414         * tests/unicase/test-u16-toupper.c (check): Likewise.
29415         * tests/unicase/test-u32-casefold.c (check): Likewise.
29416         * tests/unicase/test-u32-tolower.c (check): Likewise.
29417         * tests/unicase/test-u32-totitle.c (check): Likewise.
29418         * tests/unicase/test-u32-toupper.c (check): Likewise.
29419         * tests/uninorm/test-u8-nfc.c (check): Likewise.
29420         * tests/uninorm/test-u8-nfd.c (check): Likewise.
29421         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
29422         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
29423         * tests/uninorm/test-u16-nfc.c (check): Likewise.
29424         * tests/uninorm/test-u16-nfd.c (check): Likewise.
29425         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
29426         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
29427         * tests/uninorm/test-u32-nfc.c (check): Likewise.
29428         * tests/uninorm/test-u32-nfd.c (check): Likewise.
29429         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
29430         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
29431
29432 2009-04-05  Bruno Haible  <bruno@clisp.org>
29433
29434         Work around an autoconf limitation.
29435         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
29436         comment line if it would be longer than 3 KB.
29437
29438 2009-04-05  Bruno Haible  <bruno@clisp.org>
29439
29440         Avoid test failure with libiconv-1.13.
29441         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
29442         of the expected test results.
29443
29444 2009-04-05  Bruno Haible  <bruno@clisp.org>
29445
29446         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
29447         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
29448         that it should be installed.
29449
29450 2009-04-05  Bruno Haible  <bruno@clisp.org>
29451
29452         * gnulib-tool: New option --copy-file.
29453         (func_usage): Document it.
29454         (func_dest_tmpfilename): Moved out of func_import.
29455         (func_add_file, func_update_file): New functions, extracted from
29456         func_import.
29457         (func_import): Update.
29458
29459 2009-04-05  Karl Berry  <karl@gnu.org>
29460
29461         * README: prominently mention gnulib-tool.
29462         Rearrange sections so getting the code is near the top.
29463
29464 2009-04-05  Bruno Haible  <bruno@clisp.org>
29465
29466         * lib/unicase.h: Mention u*_cmp2.
29467         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
29468         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
29469         * lib/unicase/ulc-casecmp.c: Likewise.
29470         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
29471         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
29472         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
29473         unistr/u8-cmp.
29474         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
29475         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
29476         unistr/u16-cmp.
29477         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
29478         unistr/u32-cmp.
29479
29480         * lib/uninorm.h: Mention u*_cmp2.
29481         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
29482         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
29483         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
29484         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
29485         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
29486         unistr/u8-cmp.
29487         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
29488         unistr/u16-cmp.
29489         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
29490         unistr/u32-cmp.
29491
29492         New module 'unistr/u32-cmp2'.
29493         * lib/unistr/u32-cmp2.c: New file.
29494         * modules/unistr/u32-cmp2: New file.
29495
29496         New module 'unistr/u16-cmp2'.
29497         * lib/unistr/u16-cmp2.c: New file.
29498         * modules/unistr/u16-cmp2: New file.
29499
29500         New module 'unistr/u8-cmp2'.
29501         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
29502         * lib/unistr/u8-cmp2.c: New file.
29503         * lib/unistr/u-cmp2.h: New file.
29504         * modules/unistr/u8-cmp2: New file.
29505
29506 2009-04-05  Bruno Haible  <bruno@clisp.org>
29507
29508         * lib/unictype.h (uc_property_is_valid): New macro.
29509         * tests/unictype/test-pr_byname.c (main): Use it.
29510
29511         * lib/unistr.h: Doc fixes.
29512         * lib/uniconv.h: Doc fixes.
29513         * lib/unictype.h: Doc fixes.
29514
29515 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
29516
29517         Port coreutils 7.2 to Solaris 8.
29518
29519         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
29520         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
29521         for Solaris 8.  This is a bit of a hack, as it means it's the
29522         caller's responsibility to add -lnsl if needed, but most likely it
29523         won't be needed since only getaddrinfo uses this and getaddrinfo
29524         isn't needed on Solaris 8.
29525
29526         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
29527         problem to Solaris 8 encountered with coreutils 7.2, which
29528         resulted in a message "fnmatch.c:292: warning: passing argument 4
29529         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
29530         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
29531
29532 2009-04-03  Simon Josefsson  <simon@josefsson.org>
29533
29534         * m4/ld-version-script.m4: Add FIXME comment.
29535
29536 2009-04-02  Simon Josefsson  <simon@josefsson.org>
29537
29538         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
29539         SOVERSION variable.
29540
29541 2009-04-02  Bruno Haible  <bruno@clisp.org>
29542
29543         * Makefile (info, html, dvi, pdf): Combine the rules.
29544         Suggested by Jim Meyering.
29545
29546 2009-04-01  Bruno Haible  <bruno@clisp.org>
29547
29548         * Makefile (info, html, dvi, pdf): New targets.
29549         Reported by Reuben Thomas <rrt@sc3d.org>.
29550
29551 2009-04-01  Bruno Haible  <bruno@clisp.org>
29552
29553         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
29554         can be put into PATH.
29555         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
29556
29557 2009-04-01  Bruno Haible  <bruno@clisp.org>
29558
29559         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
29560
29561 2009-04-01  Bruno Haible  <bruno@clisp.org>
29562
29563         Rename module 'visibility'.
29564         * modules/lib-symbol-visibility: Renamed from modules/visibility.
29565         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
29566         * doc/gnulib.texi: Update.
29567         * MODULES.html.sh (Misc): Update.
29568         * NEWS: Mention the change.
29569
29570 2009-04-01  Simon Josefsson  <simon@josefsson.org>
29571
29572         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
29573         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
29574         Eric Blake <ebb9@byu.net> for review.
29575         * MODULES.html.sh: Add lib-msvc-compat.
29576         * doc/gnulib.texi: Link to new section.
29577         * m4/ld-output-def.m4: New file.
29578         * doc/ld-output-def.texi: New file.
29579
29580 2009-04-01  Simon Josefsson  <simon@josefsson.org>
29581
29582         Rename ld-version-script to lib-symbol-versions.  Suggested by
29583         Bruno Haible <bruno@clisp.org>.
29584         * modules/ld-version-script: Renamed to lib-symbol-versions.
29585         * doc/ld-version-script.texi: Fix module name.
29586         * MODULES.html.sh: Add lib-symbol-versions.
29587
29588 2009-03-31  Simon Josefsson  <simon@josefsson.org>
29589
29590         * modules/u64-tests: New file.
29591         * tests/test-u64.c: New file.
29592
29593 2009-03-04  Simon Josefsson  <simon@josefsson.org>
29594
29595         * MODULES.html.sh: Mention u64.
29596         * modules/u64: New module.
29597         * modules/crypto/sha512: Depend on u64 module instead of providing
29598         u64.h.
29599
29600 2009-03-27  Eric Blake  <ebb9@byu.net>
29601
29602         test-strerror: make debugging EAI_SYSTEM easier
29603         * modules/getaddrinfo-tests (Depends-on): Add strerror.
29604         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
29605         failure was EAI_SYSTEM.
29606
29607 2009-03-25  Bruno Haible  <bruno@clisp.org>
29608
29609         Fix a problem with --enable-relocatable on Solaris 7.
29610         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
29611         since 2008-02-24.
29612
29613 2009-03-25  Eric Blake  <ebb9@byu.net>
29614
29615         test-sockets: avoid gcc warning
29616         * tests/test-sockets.c (main): Silence compiler warning.
29617
29618 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
29619
29620         New modules nproc, pthread, contributed by Glen Lenker.
29621
29622         * MODULES.html.sh: Add pthread, nproc.
29623         * lib/nproc.c: New file.
29624         * lib/nproc.h: New file.
29625         * lib/pthread.in.h: New file.
29626         * m4/pthread.m4: New file.
29627         * modules/nproc: New file.
29628         * modules/pthread: New file.
29629
29630 2009-03-24  Simon Josefsson  <simon@josefsson.org>
29631
29632         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
29633         New variable.
29634
29635 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
29636
29637         filevercmp: handle simple~ and numbered.~3~ backup suffixes
29638         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
29639         * tests/test-filevercmp.c: Add tests for backup suffixes.
29640
29641 2009-03-24  Simon Josefsson  <simon@josefsson.org>
29642
29643         * modules/stdlib (Depends-on): Add stdint, needed when defining
29644         struct random_data on, for example, HP-UX 10.20.  Reported by
29645         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
29646
29647 2009-03-24  Simon Josefsson  <simon@josefsson.org>
29648
29649         * lib/readline.c (readline): Call fflush on stdout after printing
29650         prompt.
29651
29652 2009-03-20  Bruno Haible  <bruno@clisp.org>
29653
29654         Remove dependency from 'close' module to -lws2_32 on native Windows.
29655         * lib/close-hook.h: New file.
29656         * lib/close-hook.c: New file.
29657         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
29658         w32sock.h.
29659         (_gl_close_fd_maybe_socket): Remove function.
29660         (rpl_close): Invoke execute_all_close_hooks instead of
29661         _gl_close_fd_maybe_socket.
29662         * lib/sockets.c: Include close-hook.h, w32sock.h.
29663         (close_fd_maybe_socket): New function, essentially from lib/close.c.
29664         (close_sockets_hook): New variable.
29665         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
29666         (gl_sockets_cleanup): Unregister it.
29667         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
29668         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
29669         * modules/close-hook: New file.
29670         * modules/close (Files): Remove lib/w32sock.h.
29671         (Depends-on): Add close-hook.
29672         (Link): Remove section.
29673         * modules/sockets (Files): Add lib/w32sock.h.
29674         (Depends-on): Add close-hook.
29675         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
29676         invocation.
29677         * NEWS: Mention that LIB_CLOSE is gone.
29678
29679 2009-03-23  Eric Blake  <ebb9@byu.net>
29680
29681         signal-tests: test previous patch
29682         * tests/test-signal.c: New file.
29683         * modules/signal-tests: Likewise.
29684
29685         signal.h: always support 'volatile sig_atomic_t'
29686         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
29687         (gl_SIGNAL_H_DEFAULTS): Add a default.
29688         * modules/signal (Makefile.am): Substitute if needed.
29689         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
29690         users can blindly add volatile.
29691         * doc/posix-headers/signal.texi (signal.h): Document it.
29692         Reported by Matthew Woehlke.
29693
29694 2009-03-23  Jim Meyering  <meyering@redhat.com>
29695
29696         pathmax: PATH_MAX: use pathconf only when available
29697         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
29698         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
29699         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
29700         This avoids a link failure in a PSP cross-compilation environment
29701         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
29702
29703         * lib/vasnprintf.c (divide): Fix typo in comment.
29704
29705 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29706
29707         * gnulib-tool (func_filter_filelist): Fix comment.
29708
29709 2009-03-20  Bruno Haible  <bruno@clisp.org>
29710
29711         Make sockets.h self-contained.
29712         * lib/sockets.c: Include sockets.h first.
29713         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
29714
29715 2009-03-19  Eric Blake  <ebb9@byu.net>
29716
29717         doc: mention more functions added in cygwin 1.7.0
29718         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
29719         addition.
29720         * doc/posix-functions/log2f.texi: Likewise.
29721
29722 2009-03-19  Jim Meyering  <meyering@redhat.com>
29723
29724         fsusage: avoid syntax error due to statement-before-declaration
29725         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
29726         after all declarations.  Reported by Matthew Woehlke in
29727         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
29728
29729 2009-03-18  Eric Blake  <ebb9@byu.net>
29730
29731         build-aux/compile: sync from automake
29732         * build-aux/compile: New file, from automake.
29733         * config/srclist.txt: Mention build-aux/compile.
29734
29735 2009-03-17  Bruno Haible  <bruno@clisp.org>
29736
29737         * lib/git-merge-changelog.c: Fix typo in comment.
29738         Reported by Reuben Thomas <rrt@sc3d.org>.
29739
29740 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
29741
29742         * m4/regex.m4: update and improve help for
29743         --without-included-regex.
29744
29745 2009-03-17  Simon Josefsson  <simon@josefsson.org>
29746
29747         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
29748         failure on missing include files.
29749
29750 2009-03-17  Eric Blake  <ebb9@byu.net>
29751
29752         doc: mention more functions added in cygwin 1.7.0
29753         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
29754         addition.
29755         * doc/posix-functions/fwscanf.texi: Likewise.
29756         * doc/posix-functions/swprintf.texi: Likewise.
29757         * doc/posix-functions/swscanf.texi: Likewise.
29758         * doc/posix-functions/vfwprintf.texi: Likewise.
29759         * doc/posix-functions/vfwscanf.texi: Likewise.
29760         * doc/posix-functions/vswprintf.texi: Likewise.
29761         * doc/posix-functions/vswscanf.texi: Likewise.
29762         * doc/posix-functions/vwprintf.texi: Likewise.
29763         * doc/posix-functions/vwscanf.texi: Likewise.
29764         * doc/posix-functions/wcscasecmp.texi: Likewise.
29765         * doc/posix-functions/wcsdup.texi: Likewise.
29766         * doc/posix-functions/wcsftime.texi: Likewise.
29767         * doc/posix-functions/wcsncasecmp.texi: Likewise.
29768         * doc/posix-functions/wprintf.texi: Likewise.
29769         * doc/posix-functions/wscanf.texi: Likewise.
29770         * doc/glibc-functions/gethostbyname2.texi: Likewise.
29771
29772 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29773
29774         maint.mk: really add $(AM_MAKEFLAGS)
29775         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
29776         was inadvertently omitted in the last commit.
29777         Spotted by Bruno Haible.
29778
29779         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
29780         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
29781         $(AM_MAKEFLAGS)' rather than plain `make'.
29782
29783         gnulib-tool: execute $MAKE not make
29784         * gnulib-tool: Default $MAKE to 'make'.
29785         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
29786         than make.  Initialize $MAKE in the do-autobuild script.
29787
29788         gnulib-tool: use $MAKE not make in generated files
29789         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
29790         make, in generated files.  Initialize $MAKE in the do-autobuild
29791         script.
29792
29793         * top/GNUmakefile (_have-git-version-gen): Fix typo.
29794
29795         GNUmakefile: disable parallelism only for multiple, recursive targets
29796         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
29797         additions in the Makefile.
29798         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
29799         by Automake.
29800         (.NOTPARALLEL): Only disable parallel builds if multiple targets
29801         are listed on the command line and at least one of them is
29802         listed in $(ALL_RECURSIVE_TARGETS).
29803
29804 2009-03-14  Bruno Haible  <bruno@clisp.org>
29805
29806         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
29807         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
29808         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
29809         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
29810         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
29811         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
29812         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
29813         unistr/u8-uctomb.
29814         * modules/unistr/u8-strchr (Depends-on): Likewise.
29815         * modules/unistr/u8-strrchr (Depends-on): Likewise.
29816         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
29817         unistr/u16-uctomb.
29818         * modules/unistr/u16-strchr (Depends-on): Likewise.
29819         * modules/unistr/u16-strrchr (Depends-on): Likewise.
29820
29821 2009-03-12  Bruno Haible  <bruno@clisp.org>
29822
29823         Work around select() bug on Interix 3.5.
29824         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
29825         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
29826         * m4/select.m4: New file.
29827         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
29828         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
29829         * modules/select (Files): Add m4/select.m4.
29830         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
29831         * modules/nanosleep (Depends-on): Add select.
29832         * modules/poll (Depends-on): Likewise.
29833         * doc/posix-functions/select.texi: Mention the Interix bug.
29834         Reported by Markus Duft <mduft@gentoo.org>.
29835
29836         * lib/select.c: Renamed from lib/winsock-select.c.
29837         * modules/select (Files): Add lib/select.c, remove
29838         lib/winsock-select.c.
29839         (configure.ac): Update.
29840
29841 2009-03-12  Jim Meyering  <meyering@redhat.com>
29842
29843         avoid gcc warnings about unused macro definitions
29844         * lib/readtokens.c (STREQ): Remove unused definition.
29845         * lib/xmalloc.c (SIZE_MAX): Likewise.
29846         * lib/openat-die.c (N_): Likewise.
29847         * lib/mountlist.c (SIZE_MAX): Remove definition.
29848         Instead, include <stdint.h>.
29849         * lib/readutmp.c: Likewise.
29850         * modules/readutmp (Depends-on): Add stdint.
29851         * modules/mountlist (Depends-on): Add stdint.
29852         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
29853
29854 2009-03-10  Bruno Haible  <bruno@clisp.org>
29855
29856         Tests for module 'mbmemcasecoll'.
29857         * modules/mbmemcasecoll-tests: New file.
29858         * tests/test-mbmemcasecoll1.sh: New file.
29859         * tests/test-mbmemcasecoll2.sh: New file.
29860         * tests/test-mbmemcasecoll3.sh: New file.
29861         * tests/test-mbmemcasecoll.c: New file.
29862
29863         New module 'mbmemcasecoll'.
29864         * lib/mbmemcasecoll.h: New file.
29865         * lib/mbmemcasecoll.c: New file.
29866         * modules/mbmemcasecoll: New file.
29867
29868         * tests/test-mbmemcasecmp.h: New file, extracted from
29869         tests/test-mbmemcasecmp.c.
29870         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
29871         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
29872         (main): Update.
29873         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
29874
29875 2009-03-09  Bruno Haible  <bruno@clisp.org>
29876
29877         Tests for module 'mbmemcasecmp'.
29878         * modules/mbmemcasecmp-tests: New file.
29879         * tests/test-mbmemcasecmp1.sh: New file.
29880         * tests/test-mbmemcasecmp2.sh: New file.
29881         * tests/test-mbmemcasecmp3.sh: New file.
29882         * tests/test-mbmemcasecmp.c: New file.
29883
29884         New module 'mbmemcasecmp'.
29885         * lib/mbmemcasecmp.h: New file.
29886         * lib/mbmemcasecmp.c: New file.
29887         * modules/mbmemcasecmp: New file.
29888
29889 2009-03-09  Bruno Haible  <bruno@clisp.org>
29890
29891         Tests for module 'unicase/ulc-casecoll'.
29892         * modules/unicase/ulc-casecoll-tests: New file.
29893         * tests/unicase/test-ulc-casecoll1.sh: New file.
29894         * tests/unicase/test-ulc-casecoll2.sh: New file.
29895         * tests/unicase/test-ulc-casecoll.c: New file.
29896
29897         New module 'unicase/ulc-casecoll'.
29898         * lib/unicase.h (ulc_casecoll): New declaration.
29899         * lib/unicase/ulc-casecoll.c: New file.
29900         * modules/unicase/ulc-casecoll: New file.
29901
29902         New module 'unicase/ulc-casexfrm'.
29903         * lib/unicase.h (ulc_casexfrm): New declaration.
29904         * lib/unicase/ulc-casexfrm.c: New file.
29905         * modules/unicase/ulc-casexfrm: New file.
29906
29907 2009-03-09  Bruno Haible  <bruno@clisp.org>
29908
29909         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
29910         invocations.
29911
29912         * m4/mbscasecmp.m4: Remove file.
29913         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
29914         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
29915
29916         * m4/mbscasestr.m4: Remove file.
29917         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
29918         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
29919
29920         * m4/mbschr.m4: Remove file.
29921         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
29922         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
29923
29924         * m4/mbscspn.m4: Remove file.
29925         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
29926         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
29927
29928         * m4/mbslen.m4: Remove file.
29929         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
29930         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
29931
29932         * m4/mbsncasecmp.m4: Remove file.
29933         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
29934         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
29935
29936         * m4/mbsnlen.m4: Remove file.
29937         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
29938         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
29939
29940         * m4/mbspbrk.m4: Remove file.
29941         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
29942         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
29943
29944         * m4/mbspcasecmp.m4: Remove file.
29945         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
29946         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
29947
29948         * m4/mbsrchr.m4: Remove file.
29949         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
29950         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
29951
29952         * m4/mbssep.m4: Remove file.
29953         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
29954         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
29955
29956         * m4/mbsspn.m4: Remove file.
29957         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
29958         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
29959
29960         * m4/mbsstr.m4: Remove file.
29961         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
29962         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
29963
29964         * m4/mbstok_r.m4: Remove file.
29965         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
29966         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
29967
29968         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
29969
29970         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
29971         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
29972
29973         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
29974
29975 2009-03-08  Bruno Haible  <bruno@clisp.org>
29976
29977         Tests for module 'unicase/ulc-casecmp'.
29978         * modules/unicase/ulc-casecmp-tests: New file.
29979         * tests/unicase/test-ulc-casecmp1.sh: New file.
29980         * tests/unicase/test-ulc-casecmp2.sh: New file.
29981         * tests/unicase/test-ulc-casecmp.c: New file.
29982
29983         New module 'unicase/ulc-casecmp'.
29984         * lib/unicase.h (ulc_casecmp): New declaration.
29985         * lib/unicase/ulc-casecmp.c: New file.
29986         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
29987         'const SRC_UNIT *'.
29988         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
29989         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
29990         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
29991         * modules/unicase/ulc-casecmp: New file.
29992
29993         Tests for module 'unicase/u32-is-cased'.
29994         * modules/unicase/u32-is-cased-tests: New file.
29995         * tests/unicase/test-u32-is-cased.c: New file.
29996
29997         Tests for module 'unicase/u16-is-cased'.
29998         * modules/unicase/u16-is-cased-tests: New file.
29999         * tests/unicase/test-u16-is-cased.c: New file.
30000
30001         Tests for module 'unicase/u8-is-cased'.
30002         * modules/unicase/u8-is-cased-tests: New file.
30003         * tests/unicase/test-u8-is-cased.c: New file.
30004         * tests/unicase/test-is-cased.h: New file.
30005
30006         New module 'unicase/u32-is-cased'.
30007         * lib/unicase/u32-is-cased.c: New file.
30008         * modules/unicase/u32-is-cased: New file.
30009
30010         New module 'unicase/u16-is-cased'.
30011         * lib/unicase/u16-is-cased.c: New file.
30012         * modules/unicase/u16-is-cased: New file.
30013
30014         New module 'unicase/u8-is-cased'.
30015         * lib/unicase/u8-is-cased.c: New file.
30016         * lib/unicase/u-is-cased.h: New file.
30017         * modules/unicase/u8-is-cased: New file.
30018
30019         Tests for module 'unicase/u32-is-casefolded'.
30020         * modules/unicase/u32-is-casefolded-tests: New file.
30021         * tests/unicase/test-u32-is-casefolded.c: New file.
30022
30023         Tests for module 'unicase/u16-is-casefolded'.
30024         * modules/unicase/u16-is-casefolded-tests: New file.
30025         * tests/unicase/test-u16-is-casefolded.c: New file.
30026
30027         Tests for module 'unicase/u8-is-casefolded'.
30028         * modules/unicase/u8-is-casefolded-tests: New file.
30029         * tests/unicase/test-u8-is-casefolded.c: New file.
30030         * tests/unicase/test-is-casefolded.h: New file.
30031
30032         New module 'unicase/u32-is-casefolded'.
30033         * lib/unicase/u32-is-casefolded.c: New file.
30034         * modules/unicase/u32-is-casefolded: New file.
30035
30036         New module 'unicase/u16-is-casefolded'.
30037         * lib/unicase/u16-is-casefolded.c: New file.
30038         * modules/unicase/u16-is-casefolded: New file.
30039
30040         New module 'unicase/u8-is-casefolded'.
30041         * lib/unicase/u8-is-casefolded.c: New file.
30042         * modules/unicase/u8-is-casefolded: New file.
30043
30044         Tests for module 'unicase/u32-is-titlecase'.
30045         * modules/unicase/u32-is-titlecase-tests: New file.
30046         * tests/unicase/test-u32-is-titlecase.c: New file.
30047
30048         Tests for module 'unicase/u16-is-titlecase'.
30049         * modules/unicase/u16-is-titlecase-tests: New file.
30050         * tests/unicase/test-u16-is-titlecase.c: New file.
30051
30052         Tests for module 'unicase/u8-is-titlecase'.
30053         * modules/unicase/u8-is-titlecase-tests: New file.
30054         * tests/unicase/test-u8-is-titlecase.c: New file.
30055         * tests/unicase/test-is-titlecase.h: New file.
30056
30057         New module 'unicase/u32-is-titlecase'.
30058         * lib/unicase/u32-is-titlecase.c: New file.
30059         * modules/unicase/u32-is-titlecase: New file.
30060
30061         New module 'unicase/u16-is-titlecase'.
30062         * lib/unicase/u16-is-titlecase.c: New file.
30063         * modules/unicase/u16-is-titlecase: New file.
30064
30065         New module 'unicase/u8-is-titlecase'.
30066         * lib/unicase/u8-is-titlecase.c: New file.
30067         * modules/unicase/u8-is-titlecase: New file.
30068
30069         Tests for module 'unicase/u32-is-lowercase'.
30070         * modules/unicase/u32-is-lowercase-tests: New file.
30071         * tests/unicase/test-u32-is-lowercase.c: New file.
30072
30073         Tests for module 'unicase/u16-is-lowercase'.
30074         * modules/unicase/u16-is-lowercase-tests: New file.
30075         * tests/unicase/test-u16-is-lowercase.c: New file.
30076
30077         Tests for module 'unicase/u8-is-lowercase'.
30078         * modules/unicase/u8-is-lowercase-tests: New file.
30079         * tests/unicase/test-u8-is-lowercase.c: New file.
30080         * tests/unicase/test-is-lowercase.h: New file.
30081
30082         New module 'unicase/u32-is-lowercase'.
30083         * lib/unicase/u32-is-lowercase.c: New file.
30084         * modules/unicase/u32-is-lowercase: New file.
30085
30086         New module 'unicase/u16-is-lowercase'.
30087         * lib/unicase/u16-is-lowercase.c: New file.
30088         * modules/unicase/u16-is-lowercase: New file.
30089
30090         New module 'unicase/u8-is-lowercase'.
30091         * lib/unicase/u8-is-lowercase.c: New file.
30092         * modules/unicase/u8-is-lowercase: New file.
30093
30094         Tests for module 'unicase/u32-is-uppercase'.
30095         * modules/unicase/u32-is-uppercase-tests: New file.
30096         * tests/unicase/test-u32-is-uppercase.c: New file.
30097
30098         Tests for module 'unicase/u16-is-uppercase'.
30099         * modules/unicase/u16-is-uppercase-tests: New file.
30100         * tests/unicase/test-u16-is-uppercase.c: New file.
30101
30102         Tests for module 'unicase/u8-is-uppercase'.
30103         * modules/unicase/u8-is-uppercase-tests: New file.
30104         * tests/unicase/test-u8-is-uppercase.c: New file.
30105         * tests/unicase/test-is-uppercase.h: New file.
30106
30107         New module 'unicase/u32-is-uppercase'.
30108         * lib/unicase/u32-is-uppercase.c: New file.
30109         * modules/unicase/u32-is-uppercase: New file.
30110
30111         New module 'unicase/u16-is-uppercase'.
30112         * lib/unicase/u16-is-uppercase.c: New file.
30113         * modules/unicase/u16-is-uppercase: New file.
30114
30115         New module 'unicase/u8-is-uppercase'.
30116         * lib/unicase/u8-is-uppercase.c: New file.
30117         * modules/unicase/u8-is-uppercase: New file.
30118
30119         New module 'unicase/u32-is-invariant'.
30120         * lib/unicase/u32-is-invariant.c: New file.
30121         * modules/unicase/u32-is-invariant: New file.
30122
30123         New module 'unicase/u16-is-invariant'.
30124         * lib/unicase/u16-is-invariant.c: New file.
30125         * modules/unicase/u16-is-invariant: New file.
30126
30127         New module 'unicase/u8-is-invariant'.
30128         * lib/unicase/u8-is-invariant.c: New file.
30129         * lib/unicase/invariant.h: New file.
30130         * lib/unicase/u-is-invariant.h: New file.
30131         * modules/unicase/u8-is-invariant: New file.
30132
30133         Tests for module 'unicase/u32-casecoll'.
30134         * modules/unicase/u32-casecoll-tests: New file.
30135         * tests/unicase/test-u32-casecoll.c: New file.
30136
30137         Tests for module 'unicase/u16-casecoll'.
30138         * modules/unicase/u16-casecoll-tests: New file.
30139         * tests/unicase/test-u16-casecoll.c: New file.
30140
30141         Tests for module 'unicase/u8-casecoll'.
30142         * modules/unicase/u8-casecoll-tests: New file.
30143         * tests/unicase/test-u8-casecoll.c: New file.
30144
30145         New module 'unicase/u32-casecoll'.
30146         * lib/unicase/u32-casecoll.c: New file.
30147         * modules/unicase/u32-casecoll: New file.
30148
30149         New module 'unicase/u16-casecoll'.
30150         * lib/unicase/u16-casecoll.c: New file.
30151         * modules/unicase/u16-casecoll: New file.
30152
30153         New module 'unicase/u8-casecoll'.
30154         * lib/unicase/u8-casecoll.c: New file.
30155         * lib/unicase/u-casecoll.h: New file.
30156         * modules/unicase/u8-casecoll: New file.
30157
30158         New module 'unicase/u32-casexfrm'.
30159         * lib/unicase/u32-casexfrm.c: New file.
30160         * modules/unicase/u32-casexfrm: New file.
30161
30162         New module 'unicase/u16-casexfrm'.
30163         * lib/unicase/u16-casexfrm.c: New file.
30164         * modules/unicase/u16-casexfrm: New file.
30165
30166         New module 'unicase/u8-casexfrm'.
30167         * lib/unicase/u8-casexfrm.c: New file.
30168         * lib/unicase/u-casexfrm.h: New file.
30169         * modules/unicase/u8-casexfrm: New file.
30170
30171         Tests for module 'unicase/u32-casecmp'.
30172         * modules/unicase/u32-casecmp-tests: New file.
30173         * tests/unicase/test-u32-casecmp.c: New file.
30174
30175         Tests for module 'unicase/u16-casecmp'.
30176         * modules/unicase/u16-casecmp-tests: New file.
30177         * tests/unicase/test-u16-casecmp.c: New file.
30178
30179         Tests for module 'unicase/u8-casecmp'.
30180         * modules/unicase/u8-casecmp-tests: New file.
30181         * tests/unicase/test-u8-casecmp.c: New file.
30182         * tests/unicase/test-casecmp.h: New file.
30183
30184         New module 'unicase/u32-casecmp'.
30185         * lib/unicase/u32-casecmp.c: New file.
30186         * modules/unicase/u32-casecmp: New file.
30187
30188         New module 'unicase/u16-casecmp'.
30189         * lib/unicase/u16-casecmp.c: New file.
30190         * modules/unicase/u16-casecmp: New file.
30191
30192         New module 'unicase/u8-casecmp'.
30193         * lib/unicase/u8-casecmp.c: New file.
30194         * lib/unicase/u-casecmp.h: New file.
30195         * modules/unicase/u8-casecmp: New file.
30196
30197         Tests for module 'unicase/u32-casefold'.
30198         * modules/unicase/u32-casefold-tests: New file.
30199         * tests/unicase/test-u32-casefold.c: New file.
30200
30201         Tests for module 'unicase/u16-casefold'.
30202         * modules/unicase/u16-casefold-tests: New file.
30203         * tests/unicase/test-u16-casefold.c: New file.
30204
30205         Tests for module 'unicase/u8-casefold'.
30206         * modules/unicase/u8-casefold-tests: New file.
30207         * tests/unicase/test-u8-casefold.c: New file.
30208
30209         New module 'unicase/u32-casefold'.
30210         * lib/unicase/u32-casefold.c: New file.
30211         * modules/unicase/u32-casefold: New file.
30212
30213         New module 'unicase/u16-casefold'.
30214         * lib/unicase/u16-casefold.c: New file.
30215         * modules/unicase/u16-casefold: New file.
30216
30217         New module 'unicase/u8-casefold'.
30218         * lib/unicase/u8-casefold.c: New file.
30219         * lib/unicase/u-casefold.h: New file.
30220         * modules/unicase/u8-casefold: New file.
30221
30222         New module 'unicase/tocasefold'.
30223         * lib/unicase/casefold.h: New file.
30224         * lib/unicase/tocasefold.c: New file.
30225         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
30226         * modules/unicase/tocasefold: New file.
30227
30228         Tests for module 'unicase/u32-totitle'.
30229         * modules/unicase/u32-totitle-tests: New file.
30230         * tests/unicase/test-u32-totitle.c: New file.
30231
30232         Tests for module 'unicase/u16-totitle'.
30233         * modules/unicase/u16-totitle-tests: New file.
30234         * tests/unicase/test-u16-totitle.c: New file.
30235
30236         Tests for module 'unicase/u8-totitle'.
30237         * modules/unicase/u8-totitle-tests: New file.
30238         * tests/unicase/test-u8-totitle.c: New file.
30239
30240         New module 'unicase/u32-totitle'.
30241         * lib/unicase/u32-totitle.c: New file.
30242         * modules/unicase/u32-totitle: New file.
30243
30244         New module 'unicase/u16-totitle'.
30245         * lib/unicase/u16-totitle.c: New file.
30246         * modules/unicase/u16-totitle: New file.
30247
30248         New module 'unicase/u8-totitle'.
30249         * lib/unicase/u8-totitle.c: New file.
30250         * lib/unicase/u-totitle.h: New file.
30251         * modules/unicase/u8-totitle: New file.
30252
30253         Tests for module 'unicase/u32-tolower'.
30254         * modules/unicase/u32-tolower-tests: New file.
30255         * tests/unicase/test-u32-tolower.c: New file.
30256
30257         Tests for module 'unicase/u16-tolower'.
30258         * modules/unicase/u16-tolower-tests: New file.
30259         * tests/unicase/test-u16-tolower.c: New file.
30260
30261         Tests for module 'unicase/u8-tolower'.
30262         * modules/unicase/u8-tolower-tests: New file.
30263         * tests/unicase/test-u8-tolower.c: New file.
30264
30265         New module 'unicase/u32-tolower'.
30266         * lib/unicase/u32-tolower.c: New file.
30267         * modules/unicase/u32-tolower: New file.
30268
30269         New module 'unicase/u16-tolower'.
30270         * lib/unicase/u16-tolower.c: New file.
30271         * modules/unicase/u16-tolower: New file.
30272
30273         New module 'unicase/u8-tolower'.
30274         * lib/unicase/u8-tolower.c: New file.
30275         * modules/unicase/u8-tolower: New file.
30276
30277         Tests for module 'unicase/u32-toupper'.
30278         * modules/unicase/u32-toupper-tests: New file.
30279         * tests/unicase/test-u32-toupper.c: New file.
30280
30281         Tests for module 'unicase/u16-toupper'.
30282         * modules/unicase/u16-toupper-tests: New file.
30283         * tests/unicase/test-u16-toupper.c: New file.
30284
30285         Tests for module 'unicase/u8-toupper'.
30286         * modules/unicase/u8-toupper-tests: New file.
30287         * tests/unicase/test-u8-toupper.c: New file.
30288
30289         New module 'unicase/u32-toupper'.
30290         * lib/unicase/u32-toupper.c: New file.
30291         * modules/unicase/u32-toupper: New file.
30292
30293         New module 'unicase/u16-toupper'.
30294         * lib/unicase/u16-toupper.c: New file.
30295         * modules/unicase/u16-toupper: New file.
30296
30297         New module 'unicase/u8-toupper'.
30298         * lib/unicase/u8-toupper.c: New file.
30299         * modules/unicase/u8-toupper: New file.
30300
30301         New module 'unicase/u32-casemap'.
30302         * lib/unicase/u32-casemap.c: New file.
30303         * modules/unicase/u32-casemap: New file.
30304
30305         New module 'unicase/u16-casemap'.
30306         * lib/unicase/u16-casemap.c: New file.
30307         * modules/unicase/u16-casemap: New file.
30308
30309         New module 'unicase/u8-casemap'.
30310         * lib/unicase/unicasemap.h: New file.
30311         * lib/unicase/u8-casemap.c: New file.
30312         * lib/unicase/u-casemap.h: New file.
30313         * modules/unicase/u8-casemap: New file.
30314
30315         New module 'unicase/special-casing'.
30316         * lib/unicase/special-casing.h: New file.
30317         * lib/unicase/special-casing.c: New file.
30318         * lib/unicase/special-casing-table.gperf: New file, generated by
30319         gen-uni-tables.c.
30320         * modules/unicase/special-casing: New file.
30321
30322         Tests for module 'unicase/locale-language'.
30323         * modules/unicase/locale-language-tests: New file.
30324         * tests/unicase/test-locale-language.sh: New file.
30325         * tests/unicase/test-locale-language.c: New file.
30326
30327         New module 'unicase/locale-language'.
30328         * lib/unicase/locale-language.c: New file.
30329         * lib/unicase/locale-languages.gperf: New file.
30330         * modules/unicase/locale-language: New file.
30331
30332         Generate more tables for case conversion and case folding.
30333         * lib/gen-uni-tables.c (SCC_*): New enum items.
30334         (struct special_casing_rule): New type.
30335         (casing_rules, num_casing_rules, allocated_casing_rules): New
30336         variables.
30337         (add_casing_rule, fill_casing_rules): New functions.
30338         (struct casefold_rule): New type.
30339         (casefolding_rules, num_casefolding_rules,
30340         allocated_casefolding_rules): New variables.
30341         (fill_casefolding_rules): New function.
30342         (unicode_casefold): New variable.
30343         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
30344         sort_casing_rules, output_casing_rules): New functions.
30345         (main): Accept to more arguments: SpecialCasing.txt and
30346         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
30347         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
30348         Output mapping for casefolding.
30349
30350         * lib/unicase.h: Include stdbool.h, uninorm.h.
30351         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
30352         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
30353         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
30354         arguments.
30355         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
30356         resultp arguments.
30357         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
30358         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
30359         resultp arguments.
30360         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
30361         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
30362         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
30363         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
30364         declarations.
30365         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
30366
30367 2009-03-08  Bruno Haible  <bruno@clisp.org>
30368
30369         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
30370         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
30371         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
30372         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
30373
30374 2009-03-07  Bruno Haible  <bruno@clisp.org>
30375
30376         Adjust u*_normcmp, u*_normcoll API.
30377         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
30378         u16_normcoll, u32_normcoll): Change failure conventions.
30379         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
30380         errno and return -1.
30381         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
30382
30383 2009-03-07  Bruno Haible  <bruno@clisp.org>
30384
30385         Tests for module 'uninorm/u32-normcoll'.
30386         * modules/uninorm/u32-normcoll-tests: New file.
30387         * tests/uninorm/test-u32-normcoll.c: New file.
30388
30389         Tests for module 'uninorm/u16-normcoll'.
30390         * modules/uninorm/u16-normcoll-tests: New file.
30391         * tests/uninorm/test-u16-normcoll.c: New file.
30392
30393         Tests for module 'uninorm/u8-normcoll'.
30394         * modules/uninorm/u8-normcoll-tests: New file.
30395         * tests/uninorm/test-u8-normcoll.c: New file.
30396
30397 2009-03-07  Bruno Haible  <bruno@clisp.org>
30398
30399         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
30400         tests/uninorm/test-u32-normcmp.c.
30401         * tests/uninorm/test-u32-normcmp.c: Include it.
30402         (test_nonascii): New function, extracted from main. Add some more
30403         tests.
30404         (main): Invoke test_ascii and test_nonascii.
30405         * modules/uninorm/u32-normcmp-tests (Files): Add
30406         tests/uninorm/test-u32-normcmp.h.
30407         (Depends-on): Remove uninorm/u32-normcmp.
30408
30409         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
30410         tests/uninorm/test-u16-normcmp.c.
30411         * tests/uninorm/test-u16-normcmp.c: Include it.
30412         (test_nonascii): New function, extracted from main. Add some more
30413         tests.
30414         (main): Invoke test_ascii and test_nonascii.
30415         * modules/uninorm/u16-normcmp-tests (Files): Add
30416         tests/uninorm/test-u16-normcmp.h.
30417         (Depends-on): Remove uninorm/u16-normcmp.
30418
30419         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
30420         tests/uninorm/test-u8-normcmp.c.
30421         * tests/uninorm/test-u8-normcmp.c: Include it.
30422         (test_nonascii): New function, extracted from main. Add some more
30423         tests.
30424         (main): Invoke test_ascii and test_nonascii.
30425         * modules/uninorm/u8-normcmp-tests (Files): Add
30426         tests/uninorm/test-u8-normcmp.h.
30427         (Depends-on): Remove uninorm/u8-normcmp.
30428
30429 2009-03-07  Bruno Haible  <bruno@clisp.org>
30430
30431         New module 'uninorm/u32-normcoll'.
30432         * lib/uninorm/u32-normcoll.c: New file.
30433         * modules/uninorm/u32-normcoll: New file.
30434
30435         New module 'uninorm/u16-normcoll'.
30436         * lib/uninorm/u16-normcoll.c: New file.
30437         * modules/uninorm/u16-normcoll: New file.
30438
30439         New module 'uninorm/u8-normcoll'.
30440         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
30441         declarations.
30442         * lib/uninorm/u8-normcoll.c: New file.
30443         * lib/uninorm/u-normcoll.h: New file.
30444         * modules/uninorm/u8-normcoll: New file.
30445
30446         New module 'uninorm/u32-normxfrm'.
30447         * lib/uninorm/u32-normxfrm.c: New file.
30448         * modules/uninorm/u32-normxfrm: New file.
30449
30450         New module 'uninorm/u16-normxfrm'.
30451         * lib/uninorm/u16-normxfrm.c: New file.
30452         * modules/uninorm/u16-normxfrm: New file.
30453
30454         New module 'uninorm/u8-normxfrm'.
30455         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
30456         declarations.
30457         * lib/uninorm/u8-normxfrm.c: New file.
30458         * lib/uninorm/u-normxfrm.h: New file.
30459         * modules/uninorm/u8-normxfrm: New file.
30460
30461 2009-03-07  Bruno Haible  <bruno@clisp.org>
30462
30463         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
30464         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
30465         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
30466
30467 2009-03-07  Bruno Haible  <bruno@clisp.org>
30468
30469         New module 'memxfrm'.
30470         * lib/memxfrm.h: New file.
30471         * lib/memxfrm.c: New file.
30472         * modules/memxfrm: New file.
30473
30474 2009-03-07  Bruno Haible  <bruno@clisp.org>
30475
30476         New module 'memcmp2'.
30477         * lib/memcmp2.h: New file.
30478         * lib/memcmp2.c: New file.
30479         * modules/memcmp2: New file.
30480
30481 2009-03-07  Bruno Haible  <bruno@clisp.org>
30482
30483         Tests for module 'uninorm/decomposing-form'.
30484         * modules/uninorm/decomposing-form-tests: New file.
30485         * tests/uninorm/test-decomposing-form.c: New file.
30486
30487         New module 'uninorm/decomposing-form'.
30488         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
30489         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
30490         Add 'decomposing_variant' field.
30491         * lib/uninorm/decomposing-form.c: New file.
30492         * lib/uninorm/nfc.c (uninorm_nfc): Update.
30493         * lib/uninorm/nfd.c (uninorm_nfd): Update.
30494         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
30495         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
30496         * modules/uninorm/decomposing-form: New file.
30497         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
30498         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
30499
30500 2009-03-07  Bruno Haible  <bruno@clisp.org>
30501
30502         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
30503         strings.
30504
30505 2009-03-06  Bruno Haible  <bruno@clisp.org>
30506
30507         Tests for module 'uninorm/u32-normcmp'.
30508         * tests/uninorm/test-u32-normcmp.c: New file.
30509         * modules/uninorm/u32-normcmp-tests: New file.
30510
30511         Tests for module 'uninorm/u16-normcmp'.
30512         * tests/uninorm/test-u16-normcmp.c: New file.
30513         * modules/uninorm/u16-normcmp-tests: New file.
30514
30515         Tests for module 'uninorm/u8-normcmp'.
30516         * tests/uninorm/test-u8-normcmp.c: New file.
30517         * modules/uninorm/u8-normcmp-tests: New file.
30518
30519         New module 'uninorm/u32-normcmp'.
30520         * lib/uninorm/u32-normcmp.c: New file.
30521         * modules/uninorm/u32-normcmp: New file.
30522
30523         New module 'uninorm/u16-normcmp'.
30524         * lib/uninorm/u16-normcmp.c: New file.
30525         * modules/uninorm/u16-normcmp: New file.
30526
30527         New module 'uninorm/u8-normcmp'.
30528         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
30529         declarations.
30530         * lib/uninorm/u8-normcmp.c: New file.
30531         * lib/uninorm/u-normcmp.h: New file.
30532         * modules/uninorm/u8-normcmp: New file.
30533
30534 2009-03-06  Bruno Haible  <bruno@clisp.org>
30535
30536         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
30537         Reported by Eric Blake.
30538
30539 2009-03-06  Eric Blake  <ebb9@byu.net>
30540             Bruno Haible  <bruno@clisp.org>
30541
30542         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
30543         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
30544         condition.
30545         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
30546         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
30547         condition.
30548         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
30549
30550 2009-03-06  Eric Blake  <ebb9@byu.net>
30551
30552         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
30553         to avoid compiler warnings.
30554         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
30555
30556 2009-03-05  Bruno Haible  <bruno@clisp.org>
30557
30558         * tests/test-ftell.c (main): Disable test beyond end of file on
30559         FreeMiNT.
30560         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
30561
30562 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
30563
30564         * lib/filevercmp.c: Move hidden files up in ordering.
30565         * tests/test-filevercmp.c: Add tests for hidden files.
30566
30567 2009-03-04  Bruno Haible  <bruno@clisp.org>
30568
30569         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
30570         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
30571         AM_CFLAGS.
30572         Reported by Simon Josefsson.
30573
30574 2009-03-03  Bruno Haible  <bruno@clisp.org>
30575
30576         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
30577         Reported by Simon Josefsson.
30578
30579         * doc/ld-version-script.texi: Update node reference.
30580
30581 2009-03-03  Bruno Haible  <bruno@clisp.org>
30582
30583         * modules/visibility (License): Change to 'unlimited'.
30584         Suggested by Simon Josefsson.
30585
30586 2009-03-03  Jim Meyering  <meyering@redhat.com>
30587
30588         unlinkdir: cannot_unlink_dir may modify process state
30589         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
30590         it's neither thread-safe nor appropriate for use in a library.
30591
30592 2009-03-03  Eric Blake  <ebb9@byu.net>
30593
30594         test-closein: silence test under Darwin
30595         * tests/test-closein.sh: Ignore stderr from cat, since we don't
30596         care if it dies from EPIPE or EBADF.
30597
30598 2009-03-03  Bruno Haible  <bruno@clisp.org>
30599
30600         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
30601         earlier.
30602         * doc/visibility.texi: Fix @node and @section.
30603
30604 2009-03-03  Simon Josefsson  <simon@josefsson.org>
30605
30606         * doc/gnulib.texi: Link to sections for ld version script and
30607         visibility.
30608         * doc/visibility.texi: Add @node and @section.
30609         * modules/ld-version-script: New module.
30610         * m4/ld-version-script.m4: New file.
30611         * doc/ld-version-script.texi: New file.
30612
30613 2009-03-02  David Lutterkort  <lutter@redhat.com>
30614
30615         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
30616         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30617
30618 2009-03-02  Bruno Haible  <bruno@clisp.org>
30619
30620         * doc/visibility.texi: Mention libtool's -export-symbols option.
30621
30622 2009-03-02  Jim Meyering  <meyering@redhat.com>
30623
30624         announce-gen: new option: --no-print-checksums
30625         * build-aux/announce-gen (usage): Describe it.
30626         (print_checksums): Print a newline here, not in the [*] footnote.
30627         (main): Honor it.
30628
30629 2009-03-01  Bruno Haible  <bruno@clisp.org>
30630
30631         Use socklen_t in the native Windows replacements prototypes.
30632         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
30633         instead of 'int'.
30634         * lib/getsockopt.c (rpl_getsockopt): Likewise.
30635         * lib/setsockopt.c (rpl_setsockopt): Likewise.
30636         * modules/getsockopt (Depends-on): Add socklen.
30637         * modules/setsockopt (Depends-on): Add socklen.
30638
30639 2009-03-01  Bruno Haible  <bruno@clisp.org>
30640
30641         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
30642         least 4.2.
30643
30644 2009-03-01  Eric Blake  <ebb9@byu.net>
30645             Bruno Haible  <bruno@clisp.org>
30646
30647         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
30648         error messages.
30649         * lib/wait-process.c (wait_subprocess): Omit error message about
30650         deadly signal sent to the child of termsigp != NULL.
30651
30652 2009-03-01  Eric Blake  <ebb9@byu.net>
30653
30654         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
30655
30656 2009-03-01  Bruno Haible  <bruno@clisp.org>
30657
30658         Avoid a gcc warning.
30659         * tests/test-sched.c (b): Make global.
30660         Reported by Eric Blake.
30661
30662 2009-01-19  Martin Lambers  <marlam@marlam.de>
30663
30664         Provide POSIX semantics for socket timeout options on W32.
30665         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
30666         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
30667         * modules/setsockopt: Depend on sys_time module for struct timeval.
30668         * modules/getsockopt: Depend on sys_time module for struct timeval.
30669
30670 2009-03-01  Simon Josefsson  <simon@josefsson.org>
30671
30672         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
30673         __USE_GNU, for consistency with netdb.in.h.
30674         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
30675
30676 2009-03-01  Bruno Haible  <bruno@clisp.org>
30677
30678         More support for FreeMiNT.
30679         * lib/fseeko.c (rpl_fseeko): Complete last commit.
30680         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
30681
30682 2009-03-01  Bruno Haible  <bruno@clisp.org>
30683
30684         More support for FreeMiNT.
30685         * lib/fpurge.c (fpurge): Correct last commit.
30686         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
30687
30688 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30689
30690         Fix unportable awk script in vc-list-files.
30691         * build-aux/vc-list-files: In the replacement awk script, use
30692         substr with a second argument of 1, not zero.
30693         Report by Simon Josefsson.
30694
30695 2009-02-28  Bruno Haible  <bruno@clisp.org>
30696
30697         More support for FreeMiNT.
30698         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
30699         to FreeMiNT today.
30700         * lib/fwriting.c (fwriting): Likewise.
30701         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
30702
30703 2009-02-28  Bruno Haible  <bruno@clisp.org>
30704
30705         * tests/test-freadseek.c (main): Disable test beyond end of file on
30706         FreeMiNT.
30707         * tests/test-ftello.c (main): Likewise.
30708         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
30709
30710 2009-02-28  Bruno Haible  <bruno@clisp.org>
30711
30712         Add tentative support for FreeMiNT.
30713         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
30714         * lib/fpurge.c (fpurge): Likewise.
30715         * lib/freadable.c (freadable): Likewise.
30716         * lib/freading.c (freading): Likewise.
30717         * lib/freadptr.c (freadptr): Likewise.
30718         * lib/freadseek.c (freadptrinc): Likewise.
30719         * lib/fseeko.c (rpl_fseeko): Likewise.
30720         * lib/fseterr.c (fseterr): Likewise.
30721         * lib/fwritable.c (fwritable): Likewise.
30722         * lib/fwriting.c (fwriting): Likewise.
30723         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
30724         Hourihane.
30725         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
30726
30727 2009-02-28  Bruno Haible  <bruno@clisp.org>
30728
30729         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
30730         SIGCHLD.
30731         Reported by Jim Meyering.
30732
30733 2009-02-28  Bruno Haible  <bruno@clisp.org>
30734
30735         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
30736         Mention the results of these tests on various platforms.
30737         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
30738         order.
30739         * doc/posix-functions/printf.texi: Likewise.
30740         * doc/posix-functions/snprintf.texi: Likewise.
30741         * doc/posix-functions/sprintf.texi: Likewise.
30742         * doc/posix-functions/vfprintf.texi: Likewise.
30743         * doc/posix-functions/vprintf.texi: Likewise.
30744         * doc/posix-functions/vsnprintf.texi: Likewise.
30745         * doc/posix-functions/vsprintf.texi: Likewise.
30746         * doc/glibc-functions/obstack_printf.texi: Likewise.
30747         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
30748
30749 2009-02-28  Bruno Haible  <bruno@clisp.org>
30750
30751         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
30752         Reported by Loïc Minier <lool@dooz.org>.
30753
30754 2009-02-27  Bruno Haible  <bruno@clisp.org>
30755
30756         * gnulib-tool (func_import): Make the sed expression used to create the
30757         sed script for updating the .gitignore file POSIX compliant.
30758         Reported by Eric Blake.
30759
30760 2009-02-27  Bruno Haible  <bruno@clisp.org>
30761
30762         * gnulib-tool (sed): Don't alias as "sed --posix".
30763         Reported by Eric Blake.
30764
30765 2009-02-27  Bruno Haible  <bruno@clisp.org>
30766
30767         Avoid test link errors.
30768         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
30769         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
30770         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
30771         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
30772         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30773
30774 2009-02-27  Bruno Haible  <bruno@clisp.org>
30775
30776         Avoid spurious "(cached)" in configure output.
30777         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
30778         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
30779         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
30780         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
30781         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
30782         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
30783         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
30784         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
30785         Reported by Eric Blake.
30786
30787 2009-02-27  Eric Blake  <ebb9@byu.net>
30788
30789         printf: fix regression in previous patch
30790         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
30791
30792 2009-02-27  Bruno Haible  <bruno@clisp.org>
30793
30794         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
30795         value.
30796         * lib/stdint.in.h: Likewise.
30797         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
30798
30799 2009-02-27  Eric Blake  <ebb9@byu.net>
30800
30801         doc: mention more functions added in cygwin 1.7.0
30802         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
30803         addition.
30804         * doc/posix-functions/open_wmemstream.texi: Likewise.
30805         * doc/posix-functions/wcsnlen.texi: Likewise.
30806         * doc/posix-functions/wcsnrtombs.texi: Likewise.
30807         * doc/posix-functions/wcstod.texi: Likewise.
30808         * doc/posix-functions/wcstof.texi: Likewise.
30809         * doc/posix-functions/wcstoimax.texi: Likewise.
30810         * doc/posix-functions/wcstok.texi: Likewise.
30811         * doc/posix-functions/wcstoumax.texi: Likewise.
30812
30813         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
30814         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
30815         * doc/posix-functions/fprintf.texi: Update.
30816         * doc/posix-functions/printf.texi: Update.
30817         * doc/posix-functions/snprintf.texi: Update.
30818         * doc/posix-functions/sprintf.texi: Update.
30819         * doc/posix-functions/vfprintf.texi: Update.
30820         * doc/posix-functions/vprintf.texi: Update.
30821         * doc/posix-functions/vsnprintf.texi: Update.
30822         * doc/posix-functions/vsprintf.texi: Update.
30823         * doc/glibc-functions/obstack_printf.texi: Update.
30824         * doc/glibc-functions/obstack_vprintf.texi: Update.
30825
30826 2009-02-26  Eric Blake  <ebb9@byu.net>
30827
30828         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
30829         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
30830         compilation bug by using runtime conversion.
30831         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
30832         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
30833         * modules/ceill-tests (Files): Use nan.h.
30834         * modules/floorl-tests (Files): Likewise.
30835         * modules/frexpl-tests (Files): Likewise.
30836         * modules/isnanl-tests (Files): Likewise.
30837         * modules/ldexpl-tests (Files): Likewise.
30838         * modules/roundl-tests (Files): Likewise.
30839         * modules/truncl-tests (Files): Likewise.
30840         * tests/test-ceill.c (main): Use a working NaN.
30841         * tests/test-floorl.c (main): Likewise.
30842         * tests/test-frexpl.c (main): Likewise.
30843         * tests/test-isnan.c (test_long_double): Likewise.
30844         * tests/test-isnanl.h (main): Likewise.
30845         * tests/test-ldexpl.h (main): Likewise.
30846         * tests/test-roundl.h (main): Likewise.
30847         * tests/test-truncl.h (main): Likewise.
30848         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
30849
30850 2009-02-26  Eric Blake  <ebb9@byu.net>
30851             Bruno Haible  <bruno@clisp.org>
30852
30853         Work around a *printf bug with %ls on Solaris.
30854         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
30855         precision is specified, sprintf stops converting the wide string
30856         argument when the number of bytes that have been produced by this
30857         conversion equals or exceeds the precision.
30858         * doc/posix-functions/fprintf.texi: Update.
30859         * doc/posix-functions/printf.texi: Update.
30860         * doc/posix-functions/snprintf.texi: Update.
30861         * doc/posix-functions/sprintf.texi: Update.
30862         * doc/posix-functions/vfprintf.texi: Update.
30863         * doc/posix-functions/vprintf.texi: Update.
30864         * doc/posix-functions/vsnprintf.texi: Update.
30865         * doc/posix-functions/vsprintf.texi: Update.
30866         * doc/glibc-functions/obstack_printf.texi: Update.
30867         * doc/glibc-functions/obstack_vprintf.texi: Update.
30868
30869 2009-02-26  Eric Blake  <ebb9@byu.net>
30870
30871         stdlib: favor compiler check of random.h
30872         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
30873         to avoid an ObjC random.h installed by Swarm.
30874
30875 2009-02-26  Bruno Haible  <bruno@clisp.org>
30876
30877         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
30878         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
30879         Reported by Gary V. Vaughan <gary@gnu.org>.
30880
30881 2009-02-26  Bruno Haible  <bruno@clisp.org>
30882
30883         Fix *printf behaviour regarding the %ls directive.
30884         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
30885         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
30886         NEED_PRINTF_DIRECTIVE_LS.
30887         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
30888         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
30889         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
30890         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
30891         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
30892         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
30893         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
30894         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
30895         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
30896         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
30897         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
30898         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
30899         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
30900         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
30901         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
30902         * doc/posix-functions/fprintf.texi: Update.
30903         * doc/posix-functions/printf.texi: Update.
30904         * doc/posix-functions/snprintf.texi: Update.
30905         * doc/posix-functions/sprintf.texi: Update.
30906         * doc/posix-functions/vfprintf.texi: Update.
30907         * doc/posix-functions/vprintf.texi: Update.
30908         * doc/posix-functions/vsnprintf.texi: Update.
30909         * doc/posix-functions/vsprintf.texi: Update.
30910         * doc/glibc-functions/obstack_printf.texi: Update.
30911         * doc/glibc-functions/obstack_vprintf.texi: Update.
30912         Reported by Eric Blake.
30913
30914 2009-02-25  Bruno Haible  <bruno@clisp.org>
30915
30916         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
30917         with known value.
30918         Reported by Gary V. Vaughan <gary@gnu.org>.
30919
30920 2009-02-25  Bruno Haible  <bruno@clisp.org>
30921
30922         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
30923         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
30924         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
30925         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
30926         Reported by Gary V. Vaughan <gary@gnu.org>.
30927
30928 2009-02-25  Bruno Haible  <bruno@clisp.org>
30929
30930         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
30931         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
30932         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
30933         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
30934         Reported by Gary V. Vaughan <gary@gnu.org>.
30935
30936 2009-02-25  Eric Blake  <ebb9@byu.net>
30937
30938         tests: skip fseek/ftell tests if ungetc is broken
30939         * m4/ungetc.m4: New file.
30940         * modules/fseek-tests: Split test, so ungetc dependency is
30941         separate from rest of test.
30942         * modules/fseeko-tests: Likewise.
30943         * modules/ftell-tests: Likewise.
30944         * modules/ftello-tests: Likewise.
30945         * tests/test-fseek.c (main): Isolate ungetc dependency.
30946         * tests/test-fseeko.c (main): Likewise.
30947         * tests/test-ftell.c (main): Likewise.
30948         * tests/test-ftello.c (main): Likewise.
30949         * tests/test-fseek2.sh: New file.
30950         * tests/test-fseeko2.sh: Likewise.
30951         * tests/test-ftell2.sh: Likewise.
30952         * tests/test-ftello2.sh: Likewise.
30953
30954 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
30955
30956         test-getaddrinfo: fix usage of skip return code 77
30957         * tests/test-gettaddrinfo.c: Return skip code 77 only
30958         for first occurance of skip (4x77 is not 77)
30959
30960 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
30961
30962         strtod: avoid C99 decl-after-statement
30963         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
30964
30965 2009-02-24  Eric Blake  <ebb9@byu.net>
30966
30967         strtod: detect HP-UX 11.31 bug
30968         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
30969         Reported by Gary V. Vaughan.
30970
30971 2009-02-23  Bruno Haible  <bruno@clisp.org>
30972
30973         Fix invalid read past end of memory block.
30974         * lib/vasnprintf.c (DCHAR_SET): Define.
30975         (local_wcslen): Define only when needed.
30976         (local_strnlen, local_wcsnlen): New functions.
30977         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
30978         directives that involve a conversion ourselves.
30979         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
30980         wcsnlen, mbrtowc, wcrtomb.
30981         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
30982         * tests/test-vasprintf-posix.c (test_function): Likewise.
30983         * tests/test-snprintf-posix.h (test_function): Likewise.
30984         * tests/test-sprintf-posix.h (test_function): Likewise.
30985         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30986
30987 2009-02-22  Bruno Haible  <bruno@clisp.org>
30988
30989         Implement new clarified decomposition of Hangul syllables.
30990         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
30991         of type LTV, return only a pairwise decomposition.
30992         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
30993         Likewise.
30994         * tests/uninorm/test-decomposition.c (main): Updated expected result.
30995         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
30996         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
30997
30998 2009-02-22  Bruno Haible  <bruno@clisp.org>
30999
31000         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
31001         zero-length results and shrink excess allocated memory.
31002         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
31003         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
31004         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
31005         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
31006         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
31007         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
31008         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
31009         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
31010         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
31011         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
31012         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
31013         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
31014
31015 2009-02-21  Bruno Haible  <bruno@clisp.org>
31016
31017         * doc/gnulib.texi: Include safe-alloc.texi earlier.
31018         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
31019         spaces after a period. Put a space between a macro name and its
31020         argument list. Trivial rewordings.
31021         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
31022         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
31023         (main): Return 0 explicitly.
31024
31025 2009-02-21  Bruno Haible  <bruno@clisp.org>
31026
31027         Tests for module 'uninorm/filter'.
31028         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
31029         * modules/uninorm/filter-tests: New file.
31030
31031         New module 'uninorm/filter'.
31032         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
31033         uninorm_filter_flush, uninorm_filter_free): New declarations.
31034         * lib/uninorm/uninorm-filter.c: New file.
31035         * modules/uninorm/filter: New file.
31036
31037 2009-02-21  Bruno Haible  <bruno@clisp.org>
31038
31039         Tests for module 'uninorm/nfkc'.
31040         * tests/uninorm/test-nfkc.c: New file.
31041         * tests/uninorm/test-u8-nfkc.c: New file.
31042         * tests/uninorm/test-u16-nfkc.c: New file.
31043         * tests/uninorm/test-u32-nfkc.c: New file.
31044         * tests/uninorm/test-u32-nfkc-big.sh: New file.
31045         * tests/uninorm/test-u32-nfkc-big.c: New file.
31046         * modules/uninorm/nfkc-tests: New file.
31047
31048         New module 'uninorm/nfkc'.
31049         * lib/uninorm/nfkc.c: New file.
31050         * modules/uninorm/nfkc: New file.
31051
31052         Tests for module 'uninorm/nfkd'.
31053         * tests/uninorm/test-nfkd.c: New file.
31054         * tests/uninorm/test-u8-nfkd.c: New file.
31055         * tests/uninorm/test-u16-nfkd.c: New file.
31056         * tests/uninorm/test-u32-nfkd.c: New file.
31057         * tests/uninorm/test-u32-nfkd-big.sh: New file.
31058         * tests/uninorm/test-u32-nfkd-big.c: New file.
31059         * modules/uninorm/nfkd-tests: New file.
31060
31061         New module 'uninorm/nfkd'.
31062         * lib/uninorm/nfkd.c: New file.
31063         * modules/uninorm/nfkd: New file.
31064
31065         Tests for module 'uninorm/nfc'.
31066         * tests/uninorm/test-nfc.c: New file.
31067         * tests/uninorm/test-u8-nfc.c: New file.
31068         * tests/uninorm/test-u16-nfc.c: New file.
31069         * tests/uninorm/test-u32-nfc.c: New file.
31070         * tests/uninorm/test-u32-nfc-big.sh: New file.
31071         * tests/uninorm/test-u32-nfc-big.c: New file.
31072         * modules/uninorm/nfc-tests: New file.
31073
31074         New module 'uninorm/nfc'.
31075         * lib/uninorm/nfc.c: New file.
31076         * modules/uninorm/nfc: New file.
31077
31078         Tests for module 'uninorm/nfd'.
31079         * tests/uninorm/test-nfd.c: New file.
31080         * tests/uninorm/test-u8-nfd.c: New file.
31081         * tests/uninorm/test-u16-nfd.c: New file.
31082         * tests/uninorm/test-u32-nfd.c: New file.
31083         * tests/uninorm/test-u32-nfd-big.sh: New file.
31084         * tests/uninorm/test-u32-nfd-big.c: New file.
31085         * tests/uninorm/test-u32-normalize-big.h: New file.
31086         * tests/uninorm/test-u32-normalize-big.c: New file.
31087         * tests/uninorm/NormalizationTest.txt: New file, created from
31088         Unicode 5.1.0 NormalizationTest.txt.
31089         * modules/uninorm/nfd-tests: New file.
31090
31091         New module 'uninorm/nfd'.
31092         * lib/uninorm/nfd.c: New file.
31093         * modules/uninorm/nfd: New file.
31094
31095         New module 'uninorm/u32-normalize'.
31096         * lib/uninorm/u32-normalize.c: New file.
31097         * modules/uninorm/u32-normalize: New file.
31098
31099         New module 'uninorm/u16-normalize'.
31100         * lib/uninorm/u16-normalize.c: New file.
31101         * modules/uninorm/u16-normalize: New file.
31102
31103         New module 'uninorm/u8-normalize'.
31104         * lib/uninorm/u8-normalize.c: New file.
31105         * lib/uninorm/normalize-internal.h: New file.
31106         * lib/uninorm/u-normalize-internal.h: New file.
31107         * modules/uninorm/u8-normalize: New file.
31108
31109         New module 'uninorm/decompose-internal'.
31110         * lib/uninorm/decompose-internal.c: New file.
31111         * modules/uninorm/decompose-internal: New file.
31112
31113         Tests for module 'uninorm/composition'.
31114         * tests/uninorm/test-composition.c: New file.
31115         * modules/uninorm/composition-tests: New file.
31116
31117         New module 'uninorm/composition'.
31118         * lib/uninorm/composition.c: New file.
31119         * lib/uninorm/composition-table.gperf: New file, generated by
31120         gen-uni-tables.
31121         * modules/uninorm/composition: New file.
31122
31123         Tests for module 'uninorm/compat-decomposition'.
31124         * tests/uninorm/test-compat-decomposition.c: New file.
31125         * modules/uninorm/compat-decomposition-tests: New file.
31126
31127         New module 'uninorm/compat-decomposition'.
31128         * lib/uninorm/decompose-internal.h: New file.
31129         * lib/uninorm/compat-decomposition.c: New file.
31130         * modules/uninorm/compat-decomposition: New file.
31131
31132         Tests for module 'uninorm/canonical-decomposition'.
31133         * tests/uninorm/test-canonical-decomposition.c: New file.
31134         * modules/uninorm/canonical-decomposition-tests: New file.
31135
31136         New module 'uninorm/canonical-decomposition'.
31137         * lib/uninorm/canonical-decomposition.c: New file.
31138         * modules/uninorm/canonical-decomposition: New file.
31139
31140         Tests for module 'uninorm/decomposition'.
31141         * tests/uninorm/test-decomposition.c: New file.
31142         * modules/uninorm/decomposition-tests: New file.
31143
31144         New module 'uninorm/decomposition'.
31145         * lib/uninorm/decomposition.c: New file.
31146         * modules/uninorm/decomposition: New file.
31147
31148         New module 'uninorm/decomposition-table'.
31149         * lib/uninorm/decomposition-table.h: New file.
31150         * lib/uninorm/decomposition-table.c: New file.
31151         * lib/uninorm/decomposition-table1.h: New file, generated by
31152         gen-uni-tables.
31153         * lib/uninorm/decomposition-table2.h: New file, generated by
31154         gen-uni-tables.
31155         * modules/uninorm/decomposition-table: New file.
31156
31157         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
31158         (UC_DECOMP_*): New enumeration items.
31159         (get_decomposition): New function.
31160         (struct decomp_table): New type.
31161         (output_decomposition, output_decomposition_tables): New functions.
31162         (unicode_composition_exclusions): New variable.
31163         (fill_composition_exclusions, debug_output_composition_tables): New
31164         functions.
31165         (main): Accept one more argument. Invoke fill_composition_exclusions.
31166         Output decomposition and composition tables.
31167
31168         New module 'uninorm/base'.
31169         * lib/uninorm.h: New file.
31170         * lib/unictype.h: Update comment.
31171         * modules/uninorm/base: New file.
31172
31173 2009-02-21  David Lutterkort  <lutter@redhat.com>
31174
31175         Tests for module 'safe-alloc'.
31176         * tests/test-safe-alloc.c: New file.
31177         * modules/safe-alloc-tests: New file.
31178
31179         New module 'safe-alloc'.
31180         * lib/safe-alloc.h: New file.
31181         * lib/safe-alloc.c: New file.
31182         * m4/safe-alloc.m4: New file.
31183         * modules/safe-alloc: New file.
31184         * doc/safe-alloc.texi: New file.
31185         * doc/gnulib.texi: Include it.
31186         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
31187         safe-alloc.
31188
31189 2009-02-18  Bruno Haible  <bruno@clisp.org>
31190
31191         Fix link error on non-glibc systems.
31192         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
31193         variable.
31194         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
31195
31196 2009-02-18  Jim Meyering  <meyering@redhat.com>
31197
31198         fts: avoid used-uninitialized error due to recent change
31199         * lib/fts.c (fts_read): Guard uses of the new member,
31200         parent->fts_n_dirs_remaining, since it's not relevant for
31201         the parent of a directory specified on the command-line.
31202
31203 2009-02-17  James Youngman  <jay@gnu.org>
31204             Bruno Haible  <bruno@clisp.org>
31205
31206         * m4/include_next.m4: Reformulate comment.
31207
31208 2009-02-16  Jim Meyering  <meyering@redhat.com>
31209
31210         fts: add #if guards so that the fts_lgpl module still builds
31211         * lib/fts.c: Guard just-added hash-table-using parts with
31212         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
31213         Reported by Simon Josefsson.
31214
31215 2009-02-15  Bruno Haible  <bruno@clisp.org>
31216
31217         * modules/array-mergesort-tests: New file.
31218         * tests/test-array-mergesort.c: New file.
31219
31220         New module 'array-mergesort'.
31221         * modules/array-mergesort: New file.
31222         * lib/array-mergesort.h: New file.
31223
31224 2009-02-15  Bruno Haible  <bruno@clisp.org>
31225
31226         Fix 2009-02-07 commit.
31227         * lib/gen-uni-tables.c (output_predicate, output_category,
31228         output_combclass, output_bidi_category, output_decimal_digit,
31229         output_digit, output_numeric, output_mirror, output_scripts,
31230         output_ident_category, output_simple_mapping): Fix format directives.
31231         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
31232
31233 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
31234
31235         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
31236         fixes are available from IBM.
31237
31238 2009-02-13  Jim Meyering  <meyering@redhat.com>
31239
31240         fts: arrange not to stat non-directories in more cases
31241         This makes GNU find (when it doesn't need to stat each file)
31242         *much* more efficient at traversing reiserfs file systems.
31243         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
31244         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
31245         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
31246         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
31247         (leaf_optimization_applies): New function.
31248         (LCO_hash, LCO_compare): New helper functions.
31249         (link_count_optimize_ok): New function.
31250         (fts_stat): Initialize new member (if dir).
31251         (fts_read): Decrement parent's fts_n_dirs_remaining count if
31252         we've just stat'ed a directory.  Skip the stat call when possible.
31253         ---
31254         Note this AFS-related exchange:
31255         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
31256         and note find's pioctl call in find/fstype.c.
31257         But that is necessary only if you want to enable the
31258         optimization for AFS, and for now, I don't.
31259
31260         fts: move a function definition "up" (no semantic change)
31261         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
31262         "up" to precede upcoming use of a related function.
31263
31264 2009-02-11  Jim Meyering  <meyering@redhat.com>
31265
31266         fts: correct internal computation of nlinks (optimization-related)
31267         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
31268         whether the current entry is a directory, so don't test it.
31269
31270 2009-02-10  Bruno Haible  <bruno@clisp.org>
31271
31272         Tests for module 'uniwbrk/ulc-wordbreaks'.
31273         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
31274         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
31275         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
31276
31277         Tests for module 'uniwbrk/u32-wordbreaks'.
31278         * modules/uniwbrk/u32-wordbreaks-tests: New file.
31279         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
31280
31281         Tests for module 'uniwbrk/u16-wordbreaks'.
31282         * modules/uniwbrk/u16-wordbreaks-tests: New file.
31283         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
31284
31285         Tests for module 'uniwbrk/u8-wordbreaks'.
31286         * modules/uniwbrk/u8-wordbreaks-tests: New file.
31287         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
31288
31289 2009-02-10  Bruno Haible  <bruno@clisp.org>
31290
31291         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
31292         property.
31293         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
31294         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
31295         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
31296
31297 2009-02-10  Simon Josefsson  <simon@josefsson.org>
31298
31299         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
31300         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
31301
31302 2009-02-10  Bruno Haible  <bruno@clisp.org>
31303
31304         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
31305         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
31306         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
31307         * lib/unilbrk/u8-possible-linebreaks.c: Update.
31308         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
31309         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
31310
31311 2009-02-09  Simon Josefsson  <simon@josefsson.org>
31312
31313         * lib/sockets.h (gl_fd_to_handle): New function.
31314
31315         * tests/test-sockets.c: Call gl_fd_to_handle.
31316
31317 2009-02-09  Bruno Haible  <bruno@clisp.org>
31318
31319         * doc/havelib.texi: Document the conventions on bi-arch systems.
31320
31321 2009-02-08  Bruno Haible  <bruno@clisp.org>
31322
31323         Document the AC_LIB_LINKFLAGS macro.
31324         * doc/havelib.texi: New file, mostly written on 2005-05-24.
31325         * doc/gnulib.texi: Include it.
31326
31327 2009-02-08  Bruno Haible  <bruno@clisp.org>
31328
31329         Fix wrong order of sections, compared to TOC.
31330         * doc/gnulib.texi: Include relocatable-maint.texi after the
31331         "Regular expressions" node, not before.
31332
31333 2009-02-08  Bruno Haible  <bruno@clisp.org>
31334
31335         Tests for module 'unicase/totitle'.
31336         * modules/unicase/totitle-tests: New file.
31337
31338         Tests for module 'unicase/tolower'.
31339         * modules/unicase/tolower-tests: New file.
31340
31341         Tests for module 'unicase/toupper'.
31342         * modules/unicase/toupper-tests: New file.
31343         * tests/unicase/test-mapping-part1.h: New file.
31344         * tests/unicase/test-mapping-part2.h: New file.
31345
31346         New module 'unicase/totitle'.
31347         * modules/unicase/totitle: New file.
31348         * lib/unicase/totitle.c: New file.
31349
31350         New module 'unicase/tolower'.
31351         * modules/unicase/tolower: New file.
31352         * lib/unicase/tolower.c: New file.
31353
31354         New module 'unicase/toupper'.
31355         * modules/unicase/toupper: New file.
31356         * lib/unicase/toupper.c: New file.
31357         * lib/unicase/simple-mapping.h: New file.
31358
31359         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
31360         (mapping_table): New structure.
31361         (output_simple_mapping): New function.
31362         (main): Invoke output_simple_mapping_test and output_simple_mapping.
31363         * modules/gen-uni-tables (Description): Update.
31364         * lib/unicase/toupper.h: New file, automatically generated by
31365         gen-uni-tables.
31366         * lib/unicase/tolower.h: New file, automatically generated by
31367         gen-uni-tables.
31368         * lib/unicase/totitle.h: New file, automatically generated by
31369         gen-uni-tables.
31370         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
31371         gen-uni-tables.
31372         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
31373         gen-uni-tables.
31374         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
31375         gen-uni-tables.
31376
31377         New module 'unicase/base'.
31378         * modules/unicase/base: New file.
31379         * lib/unicase.h: New file.
31380
31381 2009-02-08  Bruno Haible  <bruno@clisp.org>
31382
31383         New module 'uniwbrk/ulc-wordbreaks'.
31384         * modules/uniwbrk/ulc-wordbreaks: New file.
31385         * lib/uniwbrk/ulc-wordbreaks.c: New file.
31386
31387         New module 'uniwbrk/u32-wordbreaks'.
31388         * modules/uniwbrk/u32-wordbreaks: New file.
31389         * lib/uniwbrk/u32-wordbreaks.c: New file.
31390
31391         New module 'uniwbrk/u16-wordbreaks'.
31392         * modules/uniwbrk/u16-wordbreaks: New file.
31393         * lib/uniwbrk/u16-wordbreaks.c: New file.
31394
31395         New module 'uniwbrk/u8-wordbreaks'.
31396         * modules/uniwbrk/u8-wordbreaks: New file.
31397         * lib/uniwbrk/u8-wordbreaks.c: New file.
31398         * lib/uniwbrk/u-wordbreaks.h: New file.
31399
31400         New module 'uniwbrk/table'.
31401         * modules/uniwbrk/table: New file.
31402         * lib/uniwbrk/wbrktable.h: New file.
31403         * lib/uniwbrk/wbrktable.c: New file.
31404
31405         New module 'uniwbrk/wordbreak-property'.
31406         * modules/uniwbrk/wordbreak-property: New file.
31407         * lib/uniwbrk/wordbreak-property.c: New file.
31408
31409         * lib/gen-uni-tables.c (WBP_*): New enum items.
31410         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
31411         (unicode_org_wbp): New variable.
31412         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
31413         New functions.
31414         (wbp_table): New structure.
31415         (output_wbp, output_wbrk_tables): New functions.
31416         (main): Accept additional argument. Invoke fill_org_wbp,
31417         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
31418         output_wbrk_tables.
31419         * modules/gen-uni-tables (Description): Update.
31420         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
31421         gen-uni-tables.
31422
31423         New module 'uniwbrk/base'.
31424         * modules/uniwbrk/base: New file.
31425         * lib/uniwbrk.h: New file.
31426
31427 2009-02-08  Bruno Haible  <bruno@clisp.org>
31428
31429         Update to Unicode 5.1.0.
31430         * lib/gen-uni-tables.c (is_property_alphabetic): Include
31431         U+2185..U+2188.
31432         (is_property_default_ignorable_code_point): Don't include characters
31433         of category Cc or Cs and not-a-characters.
31434         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
31435         U+0D79, U+109E, U+109F, U+A60C.
31436         * lib/unictype/bidi_of.h: Regenerated.
31437         * lib/unictype/blocks.h: Regenerated.
31438         * lib/unictype/categ_C.h: Regenerated.
31439         * lib/unictype/categ_Cf.h: Regenerated.
31440         * lib/unictype/categ_Cn.h: Regenerated.
31441         * lib/unictype/categ_L.h: Regenerated.
31442         * lib/unictype/categ_Ll.h: Regenerated.
31443         * lib/unictype/categ_Lm.h: Regenerated.
31444         * lib/unictype/categ_Lo.h: Regenerated.
31445         * lib/unictype/categ_Lu.h: Regenerated.
31446         * lib/unictype/categ_M.h: Regenerated.
31447         * lib/unictype/categ_Mc.h: Regenerated.
31448         * lib/unictype/categ_Me.h: Regenerated.
31449         * lib/unictype/categ_Mn.h: Regenerated.
31450         * lib/unictype/categ_N.h: Regenerated.
31451         * lib/unictype/categ_Nd.h: Regenerated.
31452         * lib/unictype/categ_Nl.h: Regenerated.
31453         * lib/unictype/categ_No.h: Regenerated.
31454         * lib/unictype/categ_P.h: Regenerated.
31455         * lib/unictype/categ_Pd.h: Regenerated.
31456         * lib/unictype/categ_Pe.h: Regenerated.
31457         * lib/unictype/categ_Pf.h: Regenerated.
31458         * lib/unictype/categ_Pi.h: Regenerated.
31459         * lib/unictype/categ_Po.h: Regenerated.
31460         * lib/unictype/categ_Ps.h: Regenerated.
31461         * lib/unictype/categ_S.h: Regenerated.
31462         * lib/unictype/categ_Sk.h: Regenerated.
31463         * lib/unictype/categ_Sm.h: Regenerated.
31464         * lib/unictype/categ_So.h: Regenerated.
31465         * lib/unictype/categ_of.h: Regenerated.
31466         * lib/unictype/combining.h: Regenerated.
31467         * lib/unictype/ctype_alnum.h: Regenerated.
31468         * lib/unictype/ctype_alpha.h: Regenerated.
31469         * lib/unictype/ctype_graph.h: Regenerated.
31470         * lib/unictype/ctype_lower.h: Regenerated.
31471         * lib/unictype/ctype_print.h: Regenerated.
31472         * lib/unictype/ctype_punct.h: Regenerated.
31473         * lib/unictype/ctype_upper.h: Regenerated.
31474         * lib/unictype/decdigit.h: Regenerated.
31475         * lib/unictype/digit.h: Regenerated.
31476         * lib/unictype/mirror.h: Regenerated.
31477         * lib/unictype/numeric.h: Regenerated.
31478         * lib/unictype/pr_alphabetic.h: Regenerated.
31479         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
31480         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
31481         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
31482         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
31483         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
31484         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
31485         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
31486         * lib/unictype/pr_combining.h: Regenerated.
31487         * lib/unictype/pr_dash.h: Regenerated.
31488         * lib/unictype/pr_decimal_digit.h: Regenerated.
31489         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
31490         * lib/unictype/pr_deprecated.h: Regenerated.
31491         * lib/unictype/pr_diacritic.h: Regenerated.
31492         * lib/unictype/pr_extender.h: Regenerated.
31493         * lib/unictype/pr_format_control.h: Regenerated.
31494         * lib/unictype/pr_grapheme_base.h: Regenerated.
31495         * lib/unictype/pr_grapheme_extend.h: Regenerated.
31496         * lib/unictype/pr_grapheme_link.h: Regenerated.
31497         * lib/unictype/pr_id_continue.h: Regenerated.
31498         * lib/unictype/pr_id_start.h: Regenerated.
31499         * lib/unictype/pr_ideographic.h: Regenerated.
31500         * lib/unictype/pr_ignorable_control.h: Regenerated.
31501         * lib/unictype/pr_lowercase.h: Regenerated.
31502         * lib/unictype/pr_math.h: Regenerated.
31503         * lib/unictype/pr_numeric.h: Regenerated.
31504         * lib/unictype/pr_other_alphabetic.h: Regenerated.
31505         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
31506         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
31507         * lib/unictype/pr_other_id_continue.h: Regenerated.
31508         * lib/unictype/pr_other_lowercase.h: Regenerated.
31509         * lib/unictype/pr_other_math.h: Regenerated.
31510         * lib/unictype/pr_punctuation.h: Regenerated.
31511         * lib/unictype/pr_sentence_terminal.h: Regenerated.
31512         * lib/unictype/pr_soft_dotted.h: Regenerated.
31513         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
31514         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
31515         * lib/unictype/pr_unified_ideograph.h: Regenerated.
31516         * lib/unictype/pr_uppercase.h: Regenerated.
31517         * lib/unictype/pr_xid_continue.h: Regenerated.
31518         * lib/unictype/pr_xid_start.h: Regenerated.
31519         * lib/unictype/pr_zero_width.h: Regenerated.
31520         * lib/unictype/scripts.h: Regenerated.
31521         * lib/unictype/scripts_byname.gperf: Regenerated.
31522         * lib/unictype/sy_java_ident.h: Regenerated.
31523         * lib/unilbrk/lbrkprop1.h: Regenerated.
31524         * lib/unilbrk/lbrkprop2.h: Regenerated.
31525         * tests/unictype/test-categ_C.c: Regenerated.
31526         * tests/unictype/test-categ_Cf.c: Regenerated.
31527         * tests/unictype/test-categ_Cn.c: Regenerated.
31528         * tests/unictype/test-categ_L.c: Regenerated.
31529         * tests/unictype/test-categ_Ll.c: Regenerated.
31530         * tests/unictype/test-categ_Lm.c: Regenerated.
31531         * tests/unictype/test-categ_Lo.c: Regenerated.
31532         * tests/unictype/test-categ_Lu.c: Regenerated.
31533         * tests/unictype/test-categ_M.c: Regenerated.
31534         * tests/unictype/test-categ_Mc.c: Regenerated.
31535         * tests/unictype/test-categ_Me.c: Regenerated.
31536         * tests/unictype/test-categ_Mn.c: Regenerated.
31537         * tests/unictype/test-categ_N.c: Regenerated.
31538         * tests/unictype/test-categ_Nd.c: Regenerated.
31539         * tests/unictype/test-categ_Nl.c: Regenerated.
31540         * tests/unictype/test-categ_No.c: Regenerated.
31541         * tests/unictype/test-categ_P.c: Regenerated.
31542         * tests/unictype/test-categ_Pd.c: Regenerated.
31543         * tests/unictype/test-categ_Pe.c: Regenerated.
31544         * tests/unictype/test-categ_Pf.c: Regenerated.
31545         * tests/unictype/test-categ_Pi.c: Regenerated.
31546         * tests/unictype/test-categ_Po.c: Regenerated.
31547         * tests/unictype/test-categ_Ps.c: Regenerated.
31548         * tests/unictype/test-categ_S.c: Regenerated.
31549         * tests/unictype/test-categ_Sk.c: Regenerated.
31550         * tests/unictype/test-categ_Sm.c: Regenerated.
31551         * tests/unictype/test-categ_So.c: Regenerated.
31552         * tests/unictype/test-ctype_alnum.c: Regenerated.
31553         * tests/unictype/test-ctype_alpha.c: Regenerated.
31554         * tests/unictype/test-ctype_graph.c: Regenerated.
31555         * tests/unictype/test-ctype_lower.c: Regenerated.
31556         * tests/unictype/test-ctype_print.c: Regenerated.
31557         * tests/unictype/test-ctype_punct.c: Regenerated.
31558         * tests/unictype/test-ctype_upper.c: Regenerated.
31559         * tests/unictype/test-decdigit.h: Regenerated.
31560         * tests/unictype/test-digit.h: Regenerated.
31561         * tests/unictype/test-numeric.h: Regenerated.
31562         * tests/unictype/test-pr_alphabetic.c: Regenerated.
31563         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
31564         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
31565         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
31566         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
31567         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
31568         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
31569         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
31570         * tests/unictype/test-pr_combining.c: Regenerated.
31571         * tests/unictype/test-pr_dash.c: Regenerated.
31572         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
31573         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
31574         * tests/unictype/test-pr_deprecated.c: Regenerated.
31575         * tests/unictype/test-pr_diacritic.c: Regenerated.
31576         * tests/unictype/test-pr_extender.c: Regenerated.
31577         * tests/unictype/test-pr_format_control.c: Regenerated.
31578         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
31579         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
31580         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
31581         * tests/unictype/test-pr_id_continue.c: Regenerated.
31582         * tests/unictype/test-pr_id_start.c: Regenerated.
31583         * tests/unictype/test-pr_ideographic.c: Regenerated.
31584         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
31585         * tests/unictype/test-pr_lowercase.c: Regenerated.
31586         * tests/unictype/test-pr_math.c: Regenerated.
31587         * tests/unictype/test-pr_numeric.c: Regenerated.
31588         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
31589         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
31590         Regenerated.
31591         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
31592         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
31593         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
31594         * tests/unictype/test-pr_other_math.c: Regenerated.
31595         * tests/unictype/test-pr_punctuation.c: Regenerated.
31596         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
31597         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
31598         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
31599         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
31600         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
31601         * tests/unictype/test-pr_uppercase.c: Regenerated.
31602         * tests/unictype/test-pr_xid_continue.c: Regenerated.
31603         * tests/unictype/test-pr_xid_start.c: Regenerated.
31604         * tests/unictype/test-pr_zero_width.c: Regenerated.
31605
31606         Update to Unicode 5.1.0.
31607         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
31608         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
31609         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
31610         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
31611         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
31612         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
31613         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
31614         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
31615         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
31616         (nonspacing_table_ind): Update.
31617         * tests/uniwidth/test-uc_width2.sh: Update expected result.
31618
31619         Update to Unicode 5.1.0.
31620         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
31621         code transform.
31622         * lib/uniname/uniname.c (unicode_character_name,
31623         unicode_name_character): Add the range 0x1Fxxx to the code transform.
31624         * lib/uniname/uninames.h: Regenerated.
31625         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
31626
31627 2009-02-07  Bruno Haible  <bruno@clisp.org>
31628
31629         Merge gen-ctype and gen-lbrk into a single program.
31630         * lib/gen-uni-tables.c: New file, incorporating
31631         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
31632         Add directory prefixes to the names of the generated files.
31633         * lib/unictype/gen-ctype.c: Remove file.
31634         * lib/unilbrk/gen-lbrk.c: Remove file.
31635         * modules/gen-uni-tables: New file.
31636         * modules/unictype/gen-ctype: Remove file.
31637         * modules/unilbrk/gen-lbrk: Remove file.
31638
31639 2009-02-07  Bruno Haible  <bruno@clisp.org>
31640
31641         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
31642
31643         New module 'unistr/u32-strcoll'.
31644         * modules/unistr/u32-strcoll: New file.
31645         * lib/unistr/u32-strcoll.c: New file.
31646
31647         New module 'unistr/u16-strcoll'.
31648         * modules/unistr/u16-strcoll: New file.
31649         * lib/unistr/u16-strcoll.c: New file.
31650
31651         New module 'unistr/u8-strcoll'.
31652         * modules/unistr/u8-strcoll: New file.
31653         * lib/unistr/u8-strcoll.c: New file.
31654         * lib/unistr/u-strcoll.h: New file.
31655
31656 2009-02-07  Bruno Haible  <bruno@clisp.org>
31657
31658         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
31659         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
31660         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
31661         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
31662         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
31663         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
31664
31665 2009-02-07  Bruno Haible  <bruno@clisp.org>
31666
31667         Make 64-bit clean.
31668         * lib/unictype/gen-ctype.c (output_predicate, output_category,
31669         output_combclass, output_bidi_category, output_decimal_digit,
31670         output_digit, output_numeric, output_mirror, output_scripts,
31671         output_ident_category): Use proper width specifier in format strings.
31672
31673 2009-02-07  Bruno Haible  <bruno@clisp.org>
31674
31675         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
31676         failure behaviour.
31677
31678 2009-02-07  Jim Meyering  <meyering@redhat.com>
31679
31680         regex: avoid compilation failure with upcoming gcc-4.4
31681         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
31682         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
31683         "... error: integer overflow in preprocessor expression".
31684
31685 2009-02-05  Ben Pfaff  <blp@gnu.org>
31686
31687         Fix link errors on Windows when close module is used.
31688         * modules/close: Add $(LIB_CLOSE) to Link section.
31689         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
31690         $(LIB_CLOSE) on Windows.
31691
31692 2009-02-05  Jim Meyering  <meyering@redhat.com>
31693
31694         still avoid unused-parameter warnings, but do it cleanly
31695         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
31696         (get_fs_usage): Cast to void instead.
31697         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
31698         (dev_from_mount_options, read_file_system_list): Cast to void.
31699         Prompted by Bruno Haible.
31700
31701 2009-02-04  Jim Meyering  <meyering@redhat.com>
31702
31703         fsusage.c: correct copyright year
31704         * lib/fsusage.c: Reflect year in which the change is pushed into
31705
31706         avoid misc. warnings
31707         * lib/fsusage.c (UNUSED_PARAM): Define.
31708         (get_fs_usage): Mark parameter "disk" as unused.
31709         * lib/getugroups.c (getgrent): Use "void" in prototype.
31710         * lib/mountlist.c: Mark unused parameters.
31711         (read_file_system_list): Declare a local with "const".
31712         * lib/nanosleep.c (getnow): Declare static.
31713         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
31714
31715         dirfd: set errno upon failure
31716         * lib/dirfd.c: Include <errno.h>.
31717         Set errno to ENOTSUP when returning -1.
31718         * modules/dirfd (Depends-on): Add errno.
31719         Suggested by John Kodis <kodis@comcast.net>.
31720
31721 2009-02-01  Bruno Haible  <bruno@clisp.org>
31722
31723         Don't assume sizeof (long) >= sizeof (void *).
31724         * lib/memcmp.c: Include stdint.h.
31725         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
31726         srcp2 to 'const byte *'.
31727         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
31728         types to uintptr_t.
31729         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
31730         * modules/memcmp (Depends-on): Add stdint.
31731         Reported by Ozkan Sezer <sezeroz@gmail.com>.
31732
31733 2009-01-30  Eric Blake  <ebb9@byu.net>
31734
31735         fix more require-before-expand issues
31736         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
31737         expand, AC_PROG_AWK.
31738         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
31739
31740 2009-01-28  Eric Blake  <ebb9@byu.net>
31741
31742         version-etc: use consistent URL formatting
31743         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
31744         Improve formatting.  Use fputs for string without %.
31745
31746 2009-01-28  Jim Meyering  <meyering@redhat.com>
31747
31748         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
31749         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
31750         "underquoted definition of NAME" from autoconf-2.59.
31751
31752 2009-01-28  Bruno Haible  <bruno@clisp.org>
31753
31754         * doc/gnulib.texi: Add "Obsolete modules" to index.
31755
31756 2009-01-28  Jim Meyering  <meyering@redhat.com>
31757
31758         useless-if-before-free: recognize more variants
31759         * build-aux/useless-if-before-free: Also recognize e.g.,
31760         if (NULL != p) free (p);
31761
31762 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
31763
31764         test-getaddrinfo: skip (don't fail) this test when there's no network
31765         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
31766         on the presumption that it means you lack network access.
31767
31768 2009-01-26  Jim Meyering  <meyering@redhat.com>
31769
31770         fflush: avoid warnings on modern systems
31771         * lib/fflush.c (rpl_fflush): Move declarations of locals,
31772         pos and result, into scopes where they're used.
31773
31774 2009-01-26  Eric Blake  <ebb9@byu.net>
31775
31776         Silence warning reintroduced by recent extensions patch.
31777         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
31778         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
31779         autoconf.
31780
31781         Backport improved autoconf semantics of AC_DEFUN_ONCE.
31782         * m4/00gnulib.m4: New file.
31783         * gnulib-tool (func_get_filelist): Always use it.
31784         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
31785         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
31786
31787 2009-01-25  Bruno Haible  <bruno@clisp.org>
31788
31789         Make test-quotearg work on MacOS X and AIX.
31790         * tests/test-quotearg.sh: New file.
31791         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
31792         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
31793         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
31794         include <libintl.h>.
31795         (fake_locale): Remove variable.
31796         (gettext, dgettext, dcgettext): Remove functions.
31797         (main): Instead of setting a fake locale, set a real locale. Call
31798         textdomain and bindtextdomain.
31799         * modules/quotearg-tests (Files): Add the new files.
31800         (Depends-on): Add gettext, setenv, unsetenv.
31801         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
31802         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
31803         Augment TESTS_ENVIRONMENT.
31804
31805 2009-01-25  Bruno Haible  <bruno@clisp.org>
31806
31807         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
31808         fr_FR.ISO8859-1 locale on MacOS X.
31809         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
31810         ja_JP.eucJP locale on MacOS X.
31811         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
31812         zh_CN.GB18030 locale on MacOS X.
31813
31814 2009-01-25  Bruno Haible  <bruno@clisp.org>
31815
31816         Avoid link errors on MacOS X 10.3.
31817         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
31818         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
31819
31820 2009-01-25  Bruno Haible  <bruno@clisp.org>
31821
31822         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
31823         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
31824         * modules/pipe (Files): Remove m4/posix_spawn.m4.
31825         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
31826         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
31827         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
31828         posix_spawnattr_init, posix_spawnattr_setsigmask,
31829         posix_spawnattr_setflags, posix_spawnattr_destroy.
31830
31831         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
31832         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
31833         * modules/execute (Files): Remove m4/posix_spawn.m4.
31834         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
31835         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
31836         posix_spawnattr_init, posix_spawnattr_setsigmask,
31837         posix_spawnattr_setflags, posix_spawnattr_destroy.
31838
31839 2009-01-25  Bruno Haible  <bruno@clisp.org>
31840
31841         * lib/glthread/threadlib.c: Include <stdlib.h>.
31842
31843 2009-01-25  Bruno Haible  <bruno@clisp.org>
31844
31845         * lib/glthread/threadlib.c (dummy): New declaration.
31846
31847 2009-01-25  Bruno Haible  <bruno@clisp.org>
31848
31849         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
31850         multibyte characters also for the GB18030 encoding. Don't crash when
31851         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
31852
31853 2009-01-25  Bruno Haible  <bruno@clisp.org>
31854
31855         Avoid redefining 'struct random_data' on OSF/1 5.1.
31856         * lib/stdlib.in.h: Include <random.h> if it exists.
31857         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
31858         HAVE_RANDOM_H. Include <random.h> when testing whether
31859         'struct random_data' exists.
31860         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
31861
31862 2009-01-25  Bruno Haible  <bruno@clisp.org>
31863
31864         Don't install charset.alias on MacOS X >= 10.3.
31865         * lib/localcharset.c (DARWIN7): New macro.
31866         (get_charset_aliases): Hardcode the result for Darwin7.
31867         * modules/localcharset (install-exec-local): Don't install
31868         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
31869
31870 2009-01-25  Bruno Haible  <bruno@clisp.org>
31871
31872         Don't install charset.alias on mingw and Cygwin.
31873         * modules/localcharset (install-exec-local): Don't install
31874         charset.alias on mingw and Cygwin, if the file does not yet exist.
31875         The result for these platforms is hardcoded in localcharset.c.
31876
31877 2009-01-25  Bruno Haible  <bruno@clisp.org>
31878
31879         Make it possible again to use AC_GNU_SOURCE together with gnulib.
31880         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
31881         before requiring AC_USE_SYSTEM_EXTENSIONS.
31882
31883 2009-01-25  Jim Meyering  <meyering@redhat.com>
31884
31885         c-strtod: avoid warnings
31886         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
31887         "assignment discards qualifiers from pointer target type" warnings.
31888
31889 2009-01-24  Bruno Haible  <bruno@clisp.org>
31890
31891         Add support for non-UTF-8 locales on MacOS X.
31892         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
31893         canonical encodings. For Darwin 7 and newer, don't map traditional
31894         encodings to UTF-8.
31895         Reported by Vincent Lefevre <vincent@vinc17.org>
31896         at <http://savannah.gnu.org/bugs/?25235>.
31897
31898 2009-01-24  Bruno Haible  <bruno@clisp.org>
31899
31900         * doc/gnulib.texi (Obsolete modules): New section.
31901         Reported by Mike Frysinger <vapier@gentoo.org>.
31902
31903 2009-01-24  Bruno Haible  <bruno@clisp.org>
31904
31905         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
31906         (%.dvi): New rule.
31907
31908 2009-01-24  Bruno Haible  <bruno@clisp.org>
31909
31910         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
31911         Reported by Eric Blake.
31912
31913 2009-01-24  Bruno Haible  <bruno@clisp.org>
31914
31915         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
31916         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
31917         Reported by Gary V. Vaughan <gary@gnu.org>.
31918
31919 2009-01-24  Bruno Haible  <bruno@clisp.org>
31920
31921         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
31922
31923 2009-01-23  Bruno Haible  <bruno@clisp.org>
31924
31925         Make c-strtod, c-strtold usable in libraries.
31926         * lib/c-strtod.c: Include string.h instead of xalloc.h.
31927         (C_STRTOD): Call strdup instead of xstrdup.
31928         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
31929         * modules/c-strtold (Depends-on): Likewise.
31930         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
31931         * NEWS: Mention the change.
31932         Reported by Michael Gold <mgold@ncf.ca>.
31933
31934 2009-01-23  Jim Meyering  <meyering@redhat.com>
31935
31936         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
31937         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
31938         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
31939
31940 2009-01-23  Simon Josefsson  <simon@josefsson.org>
31941
31942         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
31943         GNU CoreUtils.
31944         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
31945         * modules/version-etc (Description): Update.
31946
31947 2009-01-22  Bruno Haible  <bruno@clisp.org>
31948
31949         Cache the C locale object.
31950         * lib/c-strtod.c (c_locale_cache): New variable.
31951         (c_locale): New function.
31952         (C_STRTOD): Use it, and don't call freelocale.
31953         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
31954         Suggested by Paolo Bonzini.
31955
31956 2009-01-21  Bruno Haible  <bruno@clisp.org>
31957
31958         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
31959         conditions other than overflow.
31960
31961 2009-01-21  Bruno Haible  <bruno@clisp.org>
31962
31963         * lib/c-strtod.c: Include errno.h.
31964         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
31965         value from STRTOD_L and STRTOD.
31966
31967 2009-01-21  Bruno Haible  <bruno@clisp.org>
31968         and Jim Meyering  <meyering@redhat.com>
31969
31970         nanosleep: skip configure test (fail it) for apple universal builds
31971         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
31972         universal builds, assume that nanosleep does not work.
31973         * modules/nanosleep (Depends-on): Add multiarch.
31974
31975         mktime: skip configure test (fail it) for apple universal builds
31976         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
31977         universal builds, assume that mktime does not work.
31978         * modules/mktime (Depends-on): Add multiarch.
31979
31980 2009-01-21  Eric Blake  <ebb9@byu.net>
31981
31982         multiarch: avoid expand-before-require warning
31983         * modules/multiarch (configure.ac): Require, rather than expand,
31984         gl_MULTIARCH.
31985         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
31986         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
31987         enforce that all clients require it.  Partial reversion of
31988         2008-12-29 patch.
31989
31990         error: avoid expand-before-require warning
31991         * modules/errno (configure.ac): Require, rather than expand,
31992         gl_HEADER_ERRNO_H.
31993         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
31994         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
31995         enforce that all clients require it.
31996
31997         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
31998         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
31999         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
32000         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
32001
32002 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
32003
32004         Revert:
32005         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
32006
32007         regex: do not depend on obsolete modules.
32008         * modules/regex: Remove memcmp and memmove.
32009
32010 2009-01-20  Bruno Haible  <bruno@clisp.org>
32011
32012         Make the 'link' module link on Windows NT 4.
32013         * lib/link.c (_WIN32_WINNT): Don't define.
32014         (CreateHardLinkFuncType): New type.
32015         (CreateHardLinkFunc, initialized): New variables.
32016         (initialize): New function.
32017         (link): Invoke CreateHardLink indirectly through the function pointer.
32018
32019 2009-01-20  Bruno Haible  <bruno@clisp.org>
32020
32021         Fix compilation failure on mingw.
32022         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
32023
32024 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
32025
32026         * doc/c-strtod.texi: Mention a couple of restrictions.
32027
32028 2009-01-20  Jim Meyering  <meyering@redhat.com>
32029
32030         gettimeofday: move more declarations out of functions
32031         * lib/gettimeofday.c: Move extern declarations of tzset and
32032         gmtime out of containing functions.  Prompted by Bruno Haible.
32033
32034 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
32035
32036         regex: do not depend on obsolete modules.
32037         * modules/regex: Remove memcmp and memmove.
32038
32039 2009-01-19  Bruno Haible  <bruno@clisp.org>
32040
32041         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
32042         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
32043         gl_BIGENDIAN, not AC_C_BIGENDIAN.
32044         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
32045         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
32046
32047 2009-01-19  Bruno Haible  <bruno@clisp.org>
32048
32049         * tests/test-link.c: Include <errno.h>.
32050         (main): Exit with code 77 when a hard link cannot be created due to
32051         the file system.
32052         * tests/test-link.sh: Skip test when a hard link cannot be created due
32053         to the file system.
32054         Suggested by Eric Blake.
32055
32056 2009-01-19  Martin Lambers  <marlam@marlam.de>
32057
32058         * modules/link-tests: New file.
32059         * tests/test-link.sh: New file.
32060         * tests/test-link.c: New file.
32061
32062 2009-01-19  Eric Blake  <ebb9@byu.net>
32063
32064         doc: mention another function added in cygwin 1.7.0
32065         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
32066         Another new function in cygwin 1.7.
32067
32068 2009-01-19  Bruno Haible  <bruno@clisp.org>
32069
32070         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
32071         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
32072         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
32073         gl_BIGENDIAN, not AC_C_BIGENDIAN.
32074         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
32075         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
32076         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
32077         * m4/md4.m4 (gl_MD4): Likewise.
32078         * m4/md5.m4 (gl_MD5): Likewise.
32079         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
32080         * m4/sha1.m4 (gl_SHA1): Likewise.
32081         * m4/sha256.m4 (gl_SHA256): Likewise.
32082         * m4/sha512.m4 (gl_SHA512): Likewise.
32083
32084 2009-01-19  Bruno Haible  <bruno@clisp.org>
32085
32086         * modules/uniname/uniname-tests (Depends-on): Add progname.
32087         * tests/uniname/test-uninames.c: Include progname.h.
32088         (main): Call set_program_name.
32089
32090         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
32091         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
32092         (main): Call set_program_name.
32093
32094         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
32095         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
32096         (main): Call set_program_name.
32097
32098         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
32099         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
32100         (main): Call set_program_name.
32101
32102         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
32103         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
32104         (main): Call set_program_name.
32105
32106         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
32107         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
32108         (main): Call set_program_name.
32109
32110         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
32111         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
32112         (main): Call set_program_name.
32113
32114         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
32115         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
32116         (main): Call set_program_name.
32117
32118         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
32119         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
32120         (main): Call set_program_name.
32121
32122 2009-01-19  Eric Blake  <ebb9@byu.net>
32123
32124         test-unistd: test previous patch
32125         * tests/test-unistd.c: Test *_FILENO macros.
32126
32127         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
32128         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
32129         Guarantee a definition.
32130         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
32131         * modules/unistd-safer (Depends-on): Add dependency on unistd.
32132         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
32133         * lib/dup-safer.c (STDERR_FILENO): Likewise.
32134         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
32135         Likewise.
32136         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
32137         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
32138         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
32139         Likewise.
32140         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
32141         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
32142         (STDERR_FILENO): Likewise.
32143         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
32144         (STDERR_FILENO): Likewise.
32145         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
32146         (STDERR_FILENO): Likewise.
32147         Reported by Elbert Pol.
32148
32149 2009-01-19  Eric Blake  <ebb9@byu.net>
32150
32151         doc: mention more functions added in cygwin 1.7.0
32152         * doc/posix-functions/abort.texi (abort): Update wording related
32153         to cygwin.
32154         * doc/posix-functions/daylight.texi (daylight): Likewise.
32155         * doc/posix-functions/optarg.texi (optarg): Likewise.
32156         * doc/posix-functions/optarg.texi (opterr): Likewise.
32157         * doc/posix-functions/optarg.texi (optind): Likewise.
32158         * doc/posix-functions/optarg.texi (optopt): Likewise.
32159         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
32160         worked in 1.5.x, and was withdrawn in 1.7.
32161         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
32162         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
32163         cygwin versions.
32164         * doc/posix-functions/perror.texi (perror): Likewise.
32165         * doc/posix-functions/printf.texi (printf): Likewise.
32166         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
32167         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
32168         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
32169         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
32170         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
32171         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
32172         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
32173         Likewise.
32174         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
32175         Likewise.
32176         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
32177         this function.
32178         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
32179         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
32180         Likewise.
32181         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
32182         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
32183         * doc/posix-functions/confstr.texi (confstr): Likewise.
32184         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
32185         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
32186         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
32187         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
32188         * doc/posix-functions/fputws.texi (fputws): Likewise.
32189         * doc/posix-functions/fwide.texi (fwide): Likewise.
32190         * doc/posix-functions/getwc.texi (getwc): Likewise.
32191         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
32192         * doc/posix-functions/putwc.texi (putwc): Likewise.
32193         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
32194         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
32195         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
32196         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
32197         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
32198         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
32199         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
32200         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
32201         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
32202         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
32203         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
32204
32205 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
32206
32207         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
32208         * lib/ioctl.c: Include <sys/ioctl.h>.
32209
32210 2009-01-19  Simon Josefsson  <simon@josefsson.org>
32211
32212         * modules/getdate-tests (Depends-on): Add progname.
32213         * tests/test-getdate.c: Use progname module, to avoid link errors
32214         on non-glibc systems.
32215
32216 2009-01-18  Simon Josefsson  <simon@josefsson.org>
32217
32218         * modules/filenamecat-tests (Depends-on): Add progname.
32219         * modules/fstrcmp-tests (Depends-on): Likewise.
32220
32221         * tests/test-filenamecat.c: Use progname module, to avoid link
32222         errors on non-glibc systems.
32223         * tests/test-fstrcmp.c: Likewise.
32224
32225 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
32226
32227         gettimeofday: avoid warning: nested extern declaration of 'localtime'
32228         * lib/gettimeofday.c: Move extern declaration out of function.
32229
32230 2009-01-18  Bruno Haible  <bruno@clisp.org>
32231
32232         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
32233         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
32234         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
32235
32236 2009-01-18  Bruno Haible  <bruno@clisp.org>
32237
32238         * lib/strftime.c (MEMPCPY): Remove unused macro.
32239         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
32240
32241 2009-01-18  Martin Lambers  <marlam@marlam.de>
32242
32243         New module 'link'.
32244         * lib/unistd.in.h (link): New declaration.
32245         * lib/link.c: New file.
32246         * m4/link.m4: New file.
32247         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
32248         HAVE_LINK.
32249         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
32250         * modules/link: New file.
32251         * doc/posix-functions/link.texi: Mention the new module.
32252
32253 2009-01-18  Bruno Haible  <bruno@clisp.org>
32254
32255         * tests/test-avltree_list.c (main): Call set_program_name.
32256         * tests/test-avltree_oset.c (main): Likewise.
32257         * tests/test-obstack-printf.c: Include progname.h.
32258         (main): Call set_program_name.
32259         * tests/test-quotearg.c: Include progname.h.
32260         (main): Call set_program_name.
32261         * tests/test-xmemdup0.c: Include progname.h.
32262         (main): Call set_program_name.
32263
32264 2009-01-18  Bruno Haible  <bruno@clisp.org>
32265
32266         New module 'alphasort'.
32267         * lib/dirent.in.h (alphasort): New declaration.
32268         * lib/alphasort.c: New file, from glibc with modifications.
32269         * m4/alphasort.m4: New file.
32270         * modules/alphasort: New file.
32271         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
32272         HAVE_ALPHASORT.
32273         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
32274         HAVE_ALPHASORT.
32275         * doc/posix-functions/alphasort.texi: Mention the new module and the
32276         portability problems.
32277
32278 2009-01-18  Bruno Haible  <bruno@clisp.org>
32279
32280         New module 'scandir'.
32281         * lib/dirent.in.h (scandir): New declaration.
32282         * lib/scandir.c: New file, from glibc with modifications.
32283         * m4/scandir.m4: New file.
32284         * modules/scandir: New file.
32285         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
32286         HAVE_SCANDIR.
32287         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
32288         HAVE_SCANDIR.
32289         * doc/posix-functions/scandir.texi: Mention the new module and the
32290         portability problems.
32291
32292 2009-01-17  Bruno Haible  <bruno@clisp.org>
32293
32294         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
32295         Update documentation.
32296         (func_remove_suffix): Escape all dots in the suffix. Update
32297         documentation.
32298         (func_filter_filelist): Update documentation.
32299         Reported by Ralf Wildenhues.
32300
32301 2009-01-17  Bruno Haible  <bruno@clisp.org>
32302
32303         * modules/dprintf-posix-tests: New file.
32304         * tests/test-dprintf-posix.sh: New file.
32305         * tests/test-dprintf-posix.c: New file.
32306
32307         New modules 'dprintf', 'dprintf-posix'.
32308         * lib/stdio.in.h (dprintf): New declaration.
32309         * lib/dprintf.c: New file.
32310         * m4/dprintf.m4: New file.
32311         * m4/dprintf-posix.m4: New file.
32312         * modules/dprintf: New file.
32313         * modules/dprintf-posix: New file.
32314         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
32315         HAVE_DPRINTF, REPLACE_DPRINTF.
32316         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
32317         HAVE_DPRINTF, REPLACE_DPRINTF.
32318         * doc/posix-functions/dprintf.texi: Mention the new modules.
32319
32320 2009-01-17  Bruno Haible  <bruno@clisp.org>
32321
32322         * modules/vdprintf-posix-tests: New file.
32323         * tests/test-vdprintf-posix.sh: New file.
32324         * tests/test-vdprintf-posix.c: New file.
32325
32326         New modules 'vdprintf', 'vdprintf-posix'.
32327         * lib/stdio.in.h (vdprintf): New declaration.
32328         * lib/vdprintf.c: New file.
32329         * m4/vdprintf.m4: New file.
32330         * m4/vdprintf-posix.m4: New file.
32331         * modules/vdprintf: New file.
32332         * modules/vdprintf-posix: New file.
32333         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
32334         HAVE_VDPRINTF, REPLACE_VDPRINTF.
32335         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
32336         HAVE_VDPRINTF, REPLACE_VDPRINTF.
32337         * doc/posix-functions/vdprintf.texi: Mention the new modules.
32338
32339 2009-01-17  Bruno Haible  <bruno@clisp.org>
32340
32341         Fix replacement of fopen on mingw.
32342         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
32343         mingw.
32344
32345 2009-01-17  Bruno Haible  <bruno@clisp.org>
32346
32347         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
32348         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
32349
32350 2009-01-17  Bruno Haible  <bruno@clisp.org>
32351
32352         Avoid test-fflush2.sh failure on mingw.
32353         * tests/test-fflush2.c: Include binary-io.h.
32354         (main): Put standard input into binary mode.
32355         * modules/fflush-tests (Depends-on): Add binary-io.
32356
32357 2009-01-17  Bruno Haible  <bruno@clisp.org>
32358
32359         * lib/wchar.in.h: In another particular situation, include only the
32360         system's <wchar.h> file.
32361         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
32362         Reported by Albert Chin-A-Young <china@thewrittenword.com>
32363         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
32364
32365 2009-01-17  Bruno Haible  <bruno@clisp.org>
32366
32367         Support for stripping executables in --enable-relocatable.
32368         * build-aux/install-reloc: Expect one more argument, or an environment
32369         variable RELOC_STRIP_PROG. If set, strip the destination program and
32370         its wrapper.
32371         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
32372         RELOC_STRIP_PROG.
32373         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
32374         to set RELOCATABLE_STRIP.
32375         * NEWS: Mention the new Makefile requirement.
32376
32377 2009-01-17  Bruno Haible  <bruno@clisp.org>
32378
32379         * build-aux/install-reloc: Remove debugging information left over by
32380         C compiler on MacOS X.
32381
32382 2009-01-17  Bruno Haible  <bruno@clisp.org>
32383
32384         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
32385         * lib/progreloc.c (find_executable): Fix type of pointer passed to
32386         _NSGetExecutablePath.
32387
32388 2009-01-16  Jim Meyering  <meyering@redhat.com>
32389
32390         strerror: avoid warnings about discarding "const"
32391         * lib/strerror.c (rpl_strerror): Instead of returning a const
32392         string from each and every "case", use a variable, and add a single
32393         cast after the switch.
32394
32395 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
32396
32397         * lib/arpa_inet.in.h: Add extern "C" block for C++.
32398
32399 2009-01-16  Bruno Haible  <bruno@clisp.org>
32400
32401         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
32402         array initializer syntax that also works in C++ mode.
32403         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
32404
32405 2009-01-16  Jim Meyering  <meyering@redhat.com>
32406
32407         poll: suppress a warning
32408         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
32409         to ignore "...unsigned expression < 0 is always false" warnings.
32410
32411 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
32412
32413         poll: remove declarations of unused variables
32414         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
32415         sockbuf and optlen.
32416
32417 2009-01-15  Bruno Haible  <bruno@clisp.org>
32418
32419         Make fflush-after-ungetc POSIX compliant on BSD systems.
32420         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
32421         (clear_ungetc_buffer): Implement also for other systems.
32422         (rpl_fflush): On glibc systems, invoke
32423         clear_ungetc_buffer_preserving_position. Otherwise, invoke
32424         clear_ungetc_buffer after fetching the stream's position, not before.
32425
32426 2009-01-15  Bruno Haible  <bruno@clisp.org>
32427
32428         Make fflush-after-ungetc POSIX compliant on glibc systems.
32429         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
32430         after ungetc.
32431         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
32432         (rpl_fflush): On glibc systems, simply call the system's fflush
32433         function after clearing the ungetc buffer.
32434         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
32435         Instead, lseek only to the end of file, then use the system's fseeko
32436         for the rest. On glibc systems, reset the EOF indicator bit.
32437
32438 2009-01-15  Jim Meyering  <meyering@redhat.com>
32439
32440         openmp.m4: revert quote-adding change, for portability to older autoconf
32441         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
32442         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
32443         Simon Josefsson noticed the problem when using autoconf-2.61.
32444
32445 2009-01-15  Bruno Haible  <bruno@clisp.org>
32446
32447         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
32448         * tests/test-fflush2.c (ASSERT): Always fail.
32449         (main): Add two tests for fflush() after ungetc(), taking into account
32450         the Austin Group's clarification.
32451         Suggested by Eric Blake.
32452
32453 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
32454
32455         mktime.m4: remove K&R-style function prototypes
32456         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
32457         for the Sun C++ compiler.
32458
32459 2009-01-14  Bruno Haible  <bruno@clisp.org>
32460
32461         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
32462         while including <wchar.h>.
32463         * lib/wchar.in.h: In two particular situations on HP-UX, include only
32464         the system's <wchar.h> file.
32465         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
32466
32467 2009-01-14  Bruno Haible  <bruno@clisp.org>
32468
32469         * m4/csharp.m4: Don't mention gettext on the serial number line.
32470         * m4/csharpexec.m4: Likewise.
32471         * m4/eaccess.m4: Likewise.
32472         * m4/javaexec.m4: Likewise.
32473         * m4/sig_atomic_t.m4: Likewise.
32474         * m4/tmpdir.m4: Likewise.
32475         * m4/intldir.m4: Bump gettext version.
32476         * m4/lib-ld.m4: Likewise.
32477
32478 2009-01-14  Bruno Haible  <bruno@clisp.org>
32479
32480         * lib/progname.c (set_program_name): Add more comments.
32481         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
32482
32483 2009-01-14  Simon Josefsson  <simon@josefsson.org>
32484
32485         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
32486         were sys/stat.h does not define it.
32487
32488 2009-01-14  Jim Meyering  <meyering@redhat.com>
32489
32490         many *.m4 files: improve m4 quoting
32491         99% of this change was performed by running the following commands:
32492         git ls-files | grep '\.m4$' | xargs perl -pi \
32493           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
32494           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
32495           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
32496           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
32497         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
32498         The remainder were to add Copyright dates, increment serial numbers,
32499         undo some changes in comments, exclude m4/intl.m4, and add quotes
32500         around the "1" in ",1" where the unusual spacing prohibited the
32501         above regexps from doing the job.  For more details, see
32502         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
32503         * m4/acl.m4: Modified.
32504         * m4/afs.m4: Likewise.
32505         * m4/alloca.m4: Likewise.
32506         * m4/argp.m4: Likewise.
32507         * m4/argz.m4: Likewise.
32508         * m4/atexit.m4: Likewise.
32509         * m4/bison-i18n.m4: Likewise.
32510         * m4/bison.m4: Likewise.
32511         * m4/byteswap.m4: Likewise.
32512         * m4/c-stack.m4: Likewise.
32513         * m4/c-strtod.m4: Likewise.
32514         * m4/calloc.m4: Likewise.
32515         * m4/canonicalize-lgpl.m4: Likewise.
32516         * m4/chown.m4: Likewise.
32517         * m4/clock_time.m4: Likewise.
32518         * m4/codeset.m4: Likewise.
32519         * m4/copy-file.m4: Likewise.
32520         * m4/csharp.m4: Likewise.
32521         * m4/csharpcomp.m4: Likewise.
32522         * m4/csharpexec.m4: Likewise.
32523         * m4/d-ino.m4: Likewise.
32524         * m4/d-type.m4: Likewise.
32525         * m4/dirfd.m4: Likewise.
32526         * m4/double-slash-root.m4: Likewise.
32527         * m4/eaccess.m4: Likewise.
32528         * m4/eealloc.m4: Likewise.
32529         * m4/environ.m4: Likewise.
32530         * m4/errno_h.m4: Likewise.
32531         * m4/euidaccess.m4: Likewise.
32532         * m4/execute.m4: Likewise.
32533         * m4/fatal-signal.m4: Likewise.
32534         * m4/fchdir.m4: Likewise.
32535         * m4/fcntl_h.m4: Likewise.
32536         * m4/fileblocks.m4: Likewise.
32537         * m4/filenamecat.m4: Likewise.
32538         * m4/findprog.m4: Likewise.
32539         * m4/flexmember.m4: Likewise.
32540         * m4/fnmatch.m4: Likewise.
32541         * m4/fopen.m4: Likewise.
32542         * m4/fpending.m4: Likewise.
32543         * m4/fprintf-posix.m4: Likewise.
32544         * m4/free.m4: Likewise.
32545         * m4/frexp.m4: Likewise.
32546         * m4/frexpl.m4: Likewise.
32547         * m4/fsusage.m4: Likewise.
32548         * m4/ftruncate.m4: Likewise.
32549         * m4/gc-camellia.m4: Likewise.
32550         * m4/gc-random.m4: Likewise.
32551         * m4/gc.m4: Likewise.
32552         * m4/getaddrinfo.m4: Likewise.
32553         * m4/getcwd-abort-bug.m4: Likewise.
32554         * m4/getcwd-path-max.m4: Likewise.
32555         * m4/getdate.m4: Likewise.
32556         * m4/getdomainname.m4: Likewise.
32557         * m4/getgroups.m4: Likewise.
32558         * m4/gethostname.m4: Likewise.
32559         * m4/gethrxtime.m4: Likewise.
32560         * m4/getline.m4: Likewise.
32561         * m4/getloadavg.m4: Likewise.
32562         * m4/getndelim2.m4: Likewise.
32563         * m4/getpass.m4: Likewise.
32564         * m4/gettext.m4: Likewise.
32565         * m4/gettime.m4: Likewise.
32566         * m4/gettimeofday.m4: Likewise.
32567         * m4/gnulib-common.m4: Likewise.
32568         * m4/group-member.m4: Likewise.
32569         * m4/host-os.m4: Likewise.
32570         * m4/iconv.m4: Likewise.
32571         * m4/iconv_open.m4: Likewise.
32572         * m4/inet_ntop.m4: Likewise.
32573         * m4/inet_pton.m4: Likewise.
32574         * m4/inline.m4: Likewise.
32575         * m4/intldir.m4: Likewise.
32576         * m4/intlmacosx.m4: Likewise.
32577         * m4/intmax.m4: Likewise.
32578         * m4/intmax_t.m4: Likewise.
32579         * m4/inttypes.m4: Likewise.
32580         * m4/inttypes_h.m4: Likewise.
32581         * m4/inttypes-pri.m4: Likewise.
32582         * m4/isapipe.m4: Likewise.
32583         * m4/isnand.m4: Likewise.
32584         * m4/isnanf.m4: Likewise.
32585         * m4/isnanl.m4: Likewise.
32586         * m4/javacomp.m4: Likewise.
32587         * m4/javaexec.m4: Likewise.
32588         * m4/jm-winsz1.m4: Likewise.
32589         * m4/jm-winsz2.m4: Likewise.
32590         * m4/lchown.m4: Likewise.
32591         * m4/lcmessage.m4: Likewise.
32592         * m4/ldexpl.m4: Likewise.
32593         * m4/lib-ld.m4: Likewise.
32594         * m4/lib-link.m4: Likewise.
32595         * m4/libsigsegv.m4: Likewise.
32596         * m4/link-follow.m4: Likewise.
32597         * m4/localcharset.m4: Likewise.
32598         * m4/locale-fr.m4: Likewise.
32599         * m4/locale-ja.m4: Likewise.
32600         * m4/locale-tr.m4: Likewise.
32601         * m4/locale-zh.m4: Likewise.
32602         * m4/lock.m4: Likewise.
32603         * m4/longlong.m4: Likewise.
32604         * m4/ls-mntd-fs.m4: Likewise.
32605         * m4/lstat.m4: Likewise.
32606         * m4/malloc.m4: Likewise.
32607         * m4/mathl.m4: Likewise.
32608         * m4/mbrtowc.m4: Likewise.
32609         * m4/mbstate_t.m4: Likewise.
32610         * m4/mbswidth.m4: Likewise.
32611         * m4/memchr.m4: Likewise.
32612         * m4/memcmp.m4: Likewise.
32613         * m4/memcpy.m4: Likewise.
32614         * m4/memmem.m4: Likewise.
32615         * m4/memmove.m4: Likewise.
32616         * m4/mempcpy.m4: Likewise.
32617         * m4/memrchr.m4: Likewise.
32618         * m4/memset.m4: Likewise.
32619         * m4/minmax.m4: Likewise.
32620         * m4/mkdir-slash.m4: Likewise.
32621         * m4/mkdtemp.m4: Likewise.
32622         * m4/mktime.m4: Likewise.
32623         * m4/mmap-anon.m4: Likewise.
32624         * m4/mountlist.m4: Likewise.
32625         * m4/nanosleep.m4: Likewise.
32626         * m4/nls.m4: Likewise.
32627         * m4/nocrash.m4: Likewise.
32628         * m4/open.m4: Likewise.
32629         * m4/openat.m4: Likewise.
32630         * m4/openmp.m4: Likewise.
32631         * m4/pathmax.m4: Likewise.
32632         * m4/perl.m4: Likewise.
32633         * m4/physmem.m4: Likewise.
32634         * m4/pipe.m4: Likewise.
32635         * m4/po.m4: Likewise.
32636         * m4/poll.m4: Likewise.
32637         * m4/posixtm.m4: Likewise.
32638         * m4/posixver.m4: Likewise.
32639         * m4/printf-frexp.m4: Likewise.
32640         * m4/printf-frexpl.m4: Likewise.
32641         * m4/printf-posix.m4: Likewise.
32642         * m4/printf-posix-rpl.m4: Likewise.
32643         * m4/printf.m4: Likewise.
32644         * m4/progtest.m4: Likewise.
32645         * m4/putenv.m4: Likewise.
32646         * m4/readline.m4: Likewise.
32647         * m4/readlink.m4: Likewise.
32648         * m4/readutmp.m4: Likewise.
32649         * m4/realloc.m4: Likewise.
32650         * m4/regex.m4: Likewise.
32651         * m4/relocatable.m4: Likewise.
32652         * m4/relocatable-lib.m4: Likewise.
32653         * m4/rename-dest-slash.m4: Likewise.
32654         * m4/rename.m4: Likewise.
32655         * m4/rmdir-errno.m4: Likewise.
32656         * m4/rmdir.m4: Likewise.
32657         * m4/roundf.m4: Likewise.
32658         * m4/roundl.m4: Likewise.
32659         * m4/rpmatch.m4: Likewise.
32660         * m4/save-cwd.m4: Likewise.
32661         * m4/selinux-selinux-h.m4: Likewise.
32662         * m4/setenv.m4: Likewise.
32663         * m4/settime.m4: Likewise.
32664         * m4/sig2str.m4: Likewise.
32665         * m4/sig_atomic_t.m4: Likewise.
32666         * m4/signalblocking.m4: Likewise.
32667         * m4/signbit.m4: Likewise.
32668         * m4/sigpipe.m4: Likewise.
32669         * m4/sockets.m4: Likewise.
32670         * m4/sockpfaf.m4: Likewise.
32671         * m4/st_dm_mode.m4: Likewise.
32672         * m4/stat-time.m4: Likewise.
32673         * m4/stdbool.m4: Likewise.
32674         * m4/stdint.m4: Likewise.
32675         * m4/stdint_h.m4: Likewise.
32676         * m4/stpcpy.m4: Likewise.
32677         * m4/stpncpy.m4: Likewise.
32678         * m4/strcase.m4: Likewise.
32679         * m4/strchrnul.m4: Likewise.
32680         * m4/strcspn.m4: Likewise.
32681         * m4/strdup.m4: Likewise.
32682         * m4/strftime.m4: Likewise.
32683         * m4/strndup.m4: Likewise.
32684         * m4/strnlen.m4: Likewise.
32685         * m4/strpbrk.m4: Likewise.
32686         * m4/strptime.m4: Likewise.
32687         * m4/strsep.m4: Likewise.
32688         * m4/strtod.m4: Likewise.
32689         * m4/strtoimax.m4: Likewise.
32690         * m4/strtok_r.m4: Likewise.
32691         * m4/strtol.m4: Likewise.
32692         * m4/strtoll.m4: Likewise.
32693         * m4/strtoul.m4: Likewise.
32694         * m4/strtoull.m4: Likewise.
32695         * m4/strtoumax.m4: Likewise.
32696         * m4/strverscmp.m4: Likewise.
32697         * m4/threadlib.m4: Likewise.
32698         * m4/timegm.m4: Likewise.
32699         * m4/tm_gmtoff.m4: Likewise.
32700         * m4/tmpdir.m4: Likewise.
32701         * m4/tmpfile.m4: Likewise.
32702         * m4/tzset.m4: Likewise.
32703         * m4/uintmax_t.m4: Likewise.
32704         * m4/unlinkdir.m4: Likewise.
32705         * m4/unlocked-io.m4: Likewise.
32706         * m4/uptime.m4: Likewise.
32707         * m4/userspec.m4: Likewise.
32708         * m4/utimbuf.m4: Likewise.
32709         * m4/utime.m4: Likewise.
32710         * m4/utimes-null.m4: Likewise.
32711         * m4/utimes.m4: Likewise.
32712         * m4/vararrays.m4: Likewise.
32713         * m4/vasnprintf.m4: Likewise.
32714         * m4/vfprintf-posix.m4: Likewise.
32715         * m4/vprintf-posix.m4: Likewise.
32716         * m4/wait-process.m4: Likewise.
32717         * m4/wchar_t.m4: Likewise.
32718         * m4/wint_t.m4: Likewise.
32719         * m4/write-any-file.m4: Likewise.
32720         * m4/yield.m4: Likewise.
32721
32722 2009-01-13  Bruno Haible  <bruno@clisp.org>
32723
32724         Avoid test-copy-file.sh failures when ACL support insufficient.
32725         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
32726         TESTS_ENVIRONMENT.
32727         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
32728         Reported by Jim Meyering.
32729
32730 2009-01-13  Bruno Haible  <bruno@clisp.org>
32731
32732         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
32733         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
32734         * modules/unistdio/u8-printf-parse (Files): Likewise.
32735         * modules/unistdio/u32-printf-parse (Files): Likewise.
32736         * modules/unistdio/ulc-printf-parse (Files): Likewise.
32737
32738 2009-01-13  Simon Josefsson  <simon@josefsson.org>
32739
32740         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
32741         and m4/inttypes_h.m4 too.
32742
32743 2009-01-12  Eric Blake  <ebb9@byu.net>
32744
32745         tests: IRIX 6.2 cc can't compile -0.0 into .data
32746         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
32747         rather than at compile-time.
32748         * tests/test-floorl.c (minus_zero): Likewise.
32749         * tests/test-frexpl.c (minus_zero): Likewise.
32750         * tests/test-isnan.c (minus_zerol): Likewise.
32751         * tests/test-isnanl.h (minus_zero): Likewise.
32752         * tests/test-ldexpl.c (minus_zero): Likewise.
32753         * tests/test-roundl.c (minus_zero): Likewise.
32754         * tests/test-signbit.c (minus_zerol): Likewise.
32755         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
32756         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
32757         * tests/test-truncl.c (minus_zero): Likewise.
32758         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
32759         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
32760         Reported by Tom G. Christensen and Nelson H. F. Beebe.
32761
32762 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
32763
32764         regex: fix glibc bug 9697
32765         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
32766         handling.
32767
32768 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
32769
32770         regex: fix glibc bug 697
32771         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
32772         being NULL also if there are no backreferences.
32773
32774 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
32775
32776         regex: merge glibc changes
32777         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
32778         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
32779         re_string_skip_chars, re_string_reconstruct): Likewise.
32780         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
32781
32782 2009-01-07  Jim Meyering  <meyering@redhat.com>
32783
32784         poll: filter through cppi
32785         * lib/poll.c: Indent cpp directives to reflect nesting.
32786
32787 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
32788
32789         poll: don't return uninitialized
32790         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
32791
32792 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
32793
32794         avoid compile failure on AIX 6.1
32795         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
32796         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
32797
32798 2009-01-04  Jim Meyering  <meyering@redhat.com>
32799
32800         remove duplicate inclusion of <stdio.h>
32801         * tests/test-fprintf-posix.c: Likewise.
32802         * tests/test-printf-posix.c: Likewise.
32803         * tests/test-snprintf-posix.c: Likewise.
32804         * tests/test-sprintf-posix.c: Likewise.
32805         * tests/test-vasprintf-posix.c: Likewise.
32806         * tests/test-vfprintf-posix.c: Likewise.
32807         * tests/test-vprintf-posix.c: Likewise.
32808         * tests/test-vsnprintf-posix.c: Likewise.
32809         * tests/test-vsprintf-posix.c: Likewise.
32810
32811 2009-01-03  Jim Meyering  <meyering@redhat.com>
32812
32813         gnulib-tool: fix sed-based filtering
32814         * gnulib-tool (func_filter_filelist): Remove extra backslash
32815         in sed_fff_filter definition.
32816
32817 2009-01-02  Jim Meyering  <meyering@redhat.com>
32818
32819         strftime: avoid compilation failure on Solaris 2.6
32820         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
32821         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
32822         Don't #define mbrlen or mbsinit, since now they're guaranteed to
32823         be available.  Reported by Tom G. Christensen.  Details in
32824         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
32825
32826 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32827             Bruno Haible  <bruno@clisp.org>
32828
32829         Speed up gnulib-tool by doing more string processing through shell
32830         built-ins.
32831         * gnulib-tool (fast_func_append): New variable.
32832         (func_remove_prefix, func_remove_suffix): New functions.
32833         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
32834         (func_filter_filelist): New function.
32835         (func_get_dependencies): Use func_remove_suffix instead of sed.
32836         (func_get_automake_snippet): Use func_filter_filelist instead of a
32837         subshell and sed invocation.
32838
32839 2009-01-01  Bruno Haible  <bruno@clisp.org>
32840
32841         Fix a security bug.
32842         * gnulib-tool (func_import, import, update): Don't allow the characters
32843         '"', '$', '`', '\' in macro arguments that become part of commands that
32844         are evaluated.
32845
32846 2009-01-01  Bruno Haible  <bruno@clisp.org>
32847
32848         * gnulib-tool (func_reset_sigpipe): Add more comments.
32849
32850 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32851
32852         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
32853         func_emit_tests_Makefile_am, func_import): Abort loops early if we
32854         already know the answer.
32855
32856 2009-01-01  Jim Meyering  <meyering@redhat.com>
32857
32858         * lib/version-etc.c (version_etc_va): Update copyright year.
32859
32860 2008-12-30  Bruno Haible  <bruno@clisp.org>
32861
32862         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
32863         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
32864         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
32865
32866 2008-12-29  Eric Blake  <ebb9@byu.net>
32867
32868         multiarch: avoid autoconf AC_REQUIRE bug
32869         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
32870         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
32871         2.63 and older.
32872         Reported by Bruno Haible, and analyzed in
32873         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
32874
32875 2008-12-29  Bruno Haible  <bruno@clisp.org>
32876
32877         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
32878         files in subdirectories correctly.
32879         Reported by Ralf Wildenhues.
32880
32881 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32882
32883         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
32884         rather than 'join FILE -', for Solaris join.
32885
32886 2008-12-29  Bruno Haible  <bruno@clisp.org>
32887
32888         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
32889         quoting.
32890         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
32891         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
32892         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
32893         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
32894         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
32895         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
32896         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
32897         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
32898         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
32899         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
32900         * m4/nls.m4 (AM_NLS): Likewise.
32901         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
32902         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
32903         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
32904         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
32905         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
32906         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
32907         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
32908         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
32909         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
32910         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
32911         * m4/xsize.m4 (gl_XSIZE): Likewise.
32912         Suggested by Jim Meyering.
32913
32914 2008-11-17  Bruce Korb  <bkorb@gnu.org>
32915
32916         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
32917         * lib/parse-duration.c: use a switch instead of cascading if's.
32918
32919 2008-12-29  Eric Blake  <ebb9@byu.net>
32920
32921         wchar.h: supply WEOF on Irix 5.3
32922         * lib/wchar.in.h (wint_t): Also supply WEOF.
32923         * lib/wctype.in.h (wint_t): Likewise.
32924         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
32925         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
32926         Reported by Tom G. Christensen.
32927
32928 2008-12-26  Bruno Haible  <bruno@clisp.org>
32929
32930         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
32931         i486, i586, i686.
32932
32933 2008-12-26  Bruno Haible  <bruno@clisp.org>
32934
32935         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
32936
32937 2008-12-26  Bruno Haible  <bruno@clisp.org>
32938
32939         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
32940         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
32941         not __STDC_CONSTANT_MACROS.
32942         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
32943
32944 2008-12-25  Bruno Haible  <bruno@clisp.org>
32945
32946         Add support for universal builds to vasnprintf.
32947         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
32948         universal builds, guess no.
32949         * modules/vasnprintf-posix (Depends-on): Add multiarch.
32950         * modules/vasprintf-posix (Depends-on): Likewise.
32951         * modules/fprintf-posix (Depends-on): Likewise.
32952         * modules/vfprintf-posix (Depends-on): Likewise.
32953         * modules/snprintf-posix (Depends-on): Likewise.
32954         * modules/vsnprintf-posix (Depends-on): Likewise.
32955         * modules/sprintf-posix (Depends-on): Likewise.
32956         * modules/vsprintf-posix (Depends-on): Likewise.
32957         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
32958         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
32959         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
32960         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
32961         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
32962         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
32963         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
32964
32965         Add support for universal builds to <inttypes.h>.
32966         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
32967         _SCNu64_PREFIX): In Apple
32968         universal builds, define directly, using _LP64.
32969         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
32970         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
32971         * modules/inttypes (Depends-on): Add multiarch.
32972         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
32973
32974         Add support for universal builds to <stdint.h>.
32975         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
32976         universal builds, define directly, using _LP64.
32977         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
32978         Apple universal builds, don't test for the size and suffix of ptrdiff_t
32979         and size_t.
32980         * modules/stdint (Depends-on): Add multiarch.
32981         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
32982
32983         New module 'multiarch'.
32984         * modules/multiarch: New file.
32985         * m4/multiarch.m4: New file.
32986
32987 2008-12-25  Bruno Haible  <bruno@clisp.org>
32988
32989         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
32990
32991 2008-12-25  Bruno Haible  <bruno@clisp.org>
32992
32993         * modules/btowc (License): Relicense under LGPLv2+.
32994         * modules/mbsinit (License): Likewise.
32995         * modules/mbrtowc (License): Likewise.
32996         * modules/wcrtomb (License): Likewise.
32997         * modules/streq (License): Likewise.
32998         Reported by David Lutterkort <lutter@redhat.com>.
32999
33000 2008-12-23  Bruno Haible  <bruno@clisp.org>
33001
33002         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
33003
33004 2008-12-23  Bruno Haible  <bruno@clisp.org>
33005
33006         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
33007         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
33008         GETADDRINFO_LIB, not in LIBS.
33009         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
33010         * modules/canon-host (Link): Likewise.
33011         * NEWS: Mention the change.
33012         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
33013         GETADDRINFO_LIB.
33014
33015 2008-12-22  Bruno Haible  <bruno@clisp.org>
33016
33017         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
33018         * doc/posix-functions/iswalpha_l.texi: Likewise.
33019         * doc/posix-functions/iswblank_l.texi: Likewise.
33020         * doc/posix-functions/iswcntrl_l.texi: Likewise.
33021         * doc/posix-functions/iswctype_l.texi: Likewise.
33022         * doc/posix-functions/iswdigit_l.texi: Likewise.
33023         * doc/posix-functions/iswgraph_l.texi: Likewise.
33024         * doc/posix-functions/iswlower_l.texi: Likewise.
33025         * doc/posix-functions/iswprint_l.texi: Likewise.
33026         * doc/posix-functions/iswpunct_l.texi: Likewise.
33027         * doc/posix-functions/iswspace_l.texi: Likewise.
33028         * doc/posix-functions/iswupper_l.texi: Likewise.
33029         * doc/posix-functions/iswxdigit_l.texi: Likewise.
33030         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
33031         * doc/posix-functions/open_wmemstream.texi: Likewise.
33032         * doc/posix-functions/swscanf.texi: Likewise.
33033         * doc/posix-functions/towctrans_l.texi: Likewise.
33034         * doc/posix-functions/towlower.texi: Likewise.
33035         * doc/posix-functions/towlower_l.texi: Likewise.
33036         * doc/posix-functions/towupper.texi: Likewise.
33037         * doc/posix-functions/towupper_l.texi: Likewise.
33038         * doc/posix-functions/vfwprintf.texi: Likewise.
33039         * doc/posix-functions/vfwscanf.texi: Likewise.
33040         * doc/posix-functions/vswscanf.texi: Likewise.
33041         * doc/posix-functions/vwprintf.texi: Likewise.
33042         * doc/posix-functions/vwscanf.texi: Likewise.
33043         * doc/posix-functions/wcpcpy.texi: Likewise.
33044         * doc/posix-functions/wcpncpy.texi: Likewise.
33045         * doc/posix-functions/wcscasecmp.texi: Likewise.
33046         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
33047         * doc/posix-functions/wcscoll_l.texi: Likewise.
33048         * doc/posix-functions/wcsdup.texi: Likewise.
33049         * doc/posix-functions/wcsncasecmp.texi: Likewise.
33050         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
33051         * doc/posix-functions/wcsnlen.texi: Likewise.
33052         * doc/posix-functions/wcsnrtombs.texi: Likewise.
33053         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
33054         * doc/posix-functions/wctrans_l.texi: Likewise.
33055         * doc/posix-functions/wctype_l.texi: Likewise.
33056         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
33057         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
33058         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
33059         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
33060         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
33061         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
33062         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
33063         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
33064         * doc/glibc-functions/wcschrnul.texi: Likewise.
33065         * doc/glibc-functions/wcsftime_l.texi: Likewise.
33066         * doc/glibc-functions/wcstod_l.texi: Likewise.
33067         * doc/glibc-functions/wcstof_l.texi: Likewise.
33068         * doc/glibc-functions/wcstol_l.texi: Likewise.
33069         * doc/glibc-functions/wcstold_l.texi: Likewise.
33070         * doc/glibc-functions/wcstoll_l.texi: Likewise.
33071         * doc/glibc-functions/wcstoq.texi: Likewise.
33072         * doc/glibc-functions/wcstoul_l.texi: Likewise.
33073         * doc/glibc-functions/wcstoull_l.texi: Likewise.
33074         * doc/glibc-functions/wcstouq.texi: Likewise.
33075         * doc/glibc-functions/wmempcpy.texi: Likewise.
33076
33077 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
33078             Eric Blake  <ebb9@byu.net>
33079             Paolo Bonzini  <bonzini@gnu.org>
33080             Bruno Haible  <bruno@clisp.org>
33081
33082         Make c-stack work on Haiku.
33083         * lib/c-stack.c (SA_ONSTACK): Define fallback.
33084         (c_stack_action): Use SA_ONSTACK flag.
33085
33086 2008-12-22  Bruno Haible  <bruno@clisp.org>
33087
33088         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
33089
33090 2008-12-22  Bruno Haible  <bruno@clisp.org>
33091
33092         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
33093         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
33094         being overridden.
33095         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
33096         New macros.
33097         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
33098         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
33099         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
33100         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
33101
33102 2008-12-22  Bruno Haible  <bruno@clisp.org>
33103
33104         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
33105         from test code.
33106
33107 2008-12-22  Eric Blake  <ebb9@byu.net>
33108
33109         Avoid gcc warnings on cygwin.
33110         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
33111         Avoid unused variable.
33112         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
33113         Likewise.
33114
33115 2008-12-22  Bruno Haible  <bruno@clisp.org>
33116
33117         Remove HAVE_MBRTOWC conditionals.
33118         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
33119         (mbscasecmp): Assume mbrtowc function.
33120         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
33121         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
33122         * lib/mbschr.c: Include mbuiter.h unconditionally.
33123         (mbschr): Assume mbrtowc function.
33124         * lib/mbscspn.c: Include mbuiter.h unconditionally.
33125         (mbscspn): Assume mbrtowc function.
33126         * lib/mbslen.c: Include mbuiter.h unconditionally.
33127         (mbslen): Assume mbrtowc function.
33128         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
33129         (mbsncasecmp): Assume mbrtowc function.
33130         * lib/mbsnlen.c: Include mbiter.h unconditionally.
33131         (mbsnlen): Assume mbrtowc function.
33132         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
33133         (mbspbrk): Assume mbrtowc function.
33134         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
33135         (mbspcasecmp): Assume mbrtowc function.
33136         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
33137         (mbsrchr): Assume mbrtowc function.
33138         * lib/mbssep.c: Include mbuiter.h unconditionally.
33139         (mbssep): Assume mbrtowc function.
33140         * lib/mbsspn.c: Include mbuiter.h unconditionally.
33141         (mbsspn): Assume mbrtowc function.
33142         * lib/mbsstr.c: Include mbuiter.h unconditionally.
33143         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
33144         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
33145         (mbstok_r): Assume mbrtowc function.
33146         * lib/propername.c: Include mbuiter.h unconditionally.
33147         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
33148         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
33149         (trim2): Assume mbrtowc function.
33150         * lib/mbswidth.c (mbsinit): Remove fallback definition.
33151         (mbsnwidth): Assume mbrtowc function.
33152         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
33153         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
33154         fallback definitions.
33155         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
33156
33157 2008-12-22  Bruno Haible  <bruno@clisp.org>
33158
33159         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
33160
33161 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
33162
33163         * modules/regex: Request emulations for the mb*/wc* functions we need.
33164         * m4/regex.m4: Don't look for those functions here.
33165         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
33166
33167 2008-12-22  Bruno Haible  <bruno@clisp.org>
33168
33169         * modules/fnmatch (Depends-on): Remove duplicated dependency.
33170
33171 2008-12-21  Bruno Haible  <bruno@clisp.org>
33172
33173         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
33174         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
33175         (Include): Remove conditionalization.
33176         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
33177         (Include): Remove conditionalization.
33178         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
33179         (Include): Remove conditionalization.
33180         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
33181         * m4/mbfile.m4 (gl_MBFILE): Likewise.
33182         * NEWS: Mention the change.
33183         Reported by Alan Hourihane <alanh@fairlite.co.uk>
33184         via Sergey Poznyakoff <gray@gnu.org.ua>.
33185
33186 2008-12-21  Bruno Haible  <bruno@clisp.org>
33187
33188         * MODULES.html.sh (Extended multibyte and wide character utilities
33189         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
33190         wcrtomb, wcsrtombs.
33191         (Support for systems lacking POSIX:2008): Add accept, bind, close,
33192         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
33193         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
33194         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
33195
33196 2008-12-21  Bruno Haible  <bruno@clisp.org>
33197
33198         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
33199
33200 2008-12-21  Bruno Haible  <bruno@clisp.org>
33201
33202         * modules/wcsnrtombs-tests: New file.
33203         * tests/test-wcsnrtombs1.sh: New file.
33204         * tests/test-wcsnrtombs2.sh: New file.
33205         * tests/test-wcsnrtombs3.sh: New file.
33206         * tests/test-wcsnrtombs4.sh: New file.
33207         * tests/test-wcsnrtombs.c: New file.
33208
33209         New module 'wcsnrtombs'.
33210         * lib/wchar.in.h (wcsnrtombs): New declaration.
33211         * lib/wcsnrtombs.c: New file.
33212         * lib/wcsrtombs-state.c: New file.
33213         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
33214         (internal_state): Remove variable.
33215         * m4/wcsnrtombs.m4: New file.
33216         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
33217         compilation units.
33218         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
33219         HAVE_WCSNRTOMBS.
33220         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
33221         HAVE_WCSNRTOMBS.
33222         * modules/wcsnrtombs: New file.
33223         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
33224         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
33225
33226 2008-12-21  Bruno Haible  <bruno@clisp.org>
33227
33228         * modules/wcsrtombs-tests: New file.
33229         * tests/test-wcsrtombs1.sh: New file.
33230         * tests/test-wcsrtombs2.sh: New file.
33231         * tests/test-wcsrtombs3.sh: New file.
33232         * tests/test-wcsrtombs4.sh: New file.
33233         * tests/test-wcsrtombs.c: New file.
33234
33235         New module 'wcsrtombs'.
33236         * lib/wchar.in.h (wcsrtombs): New declaration.
33237         * lib/wcsrtombs.c: New file.
33238         * m4/wcsrtombs.m4: New file.
33239         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
33240         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
33241         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
33242         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
33243         * modules/wcsrtombs: New file.
33244         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
33245         bugs.
33246
33247 2008-12-21  Bruno Haible  <bruno@clisp.org>
33248
33249         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
33250         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
33251         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
33252         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
33253         if not correct.
33254         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
33255         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
33256         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
33257         m4/locale-zh.m4, m4/codeset.m4.
33258         * doc/posix-functions/wcrtomb.texi: Document the bug.
33259
33260 2008-12-21  Bruno Haible  <bruno@clisp.org>
33261
33262         Work around a btowc() bug on IRIX 6.5.
33263         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
33264         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
33265         REPLACE_WTOBC if not.
33266         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
33267         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
33268         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
33269
33270 2008-12-21  Bruno Haible  <bruno@clisp.org>
33271
33272         * modules/wcrtomb-tests: New file.
33273         * tests/test-wcrtomb.sh: New file.
33274         * tests/test-wcrtomb.c: New file.
33275
33276         New module 'wcrtomb'.
33277         * lib/wchar.in.h (wcrtomb): New declaration.
33278         * lib/wcrtomb.c: New file.
33279         * m4/wcrtomb.m4: New file.
33280         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
33281         HAVE_WCRTOMB.
33282         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
33283         HAVE_WCRTOMB.
33284         * modules/wcrtomb: New file.
33285         * doc/posix-functions/wcrtomb.texi: Mention the new module.
33286
33287 2008-12-21  Bruno Haible  <bruno@clisp.org>
33288
33289         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
33290         * modules/mbsrtowcs (Files): Likewise.
33291         * modules/wctob (Files): Likewise.
33292         * modules/c-strcase-tests (Files): Likewise.
33293         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
33294         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
33295         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
33296         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
33297         * modules/vasnprintf-posix-tests (Files): Likewise.
33298
33299 2008-12-21  William Pursell  <bill.pursell@gmail.com>
33300
33301         gitlog-to-changelog: pass all command-line arguments to git-log
33302         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
33303         it is sometimes convenient to filter the commits in various ways.
33304         gitlog-to-changelog only allows --since to specify a start date,
33305         but git-log itself supports many other filtering mechanisms.
33306         At the moment, I want to filter by branch name.  Rather than
33307         adding a --branch option to gitlog-to-changelog, it seems more
33308         flexible to simply pass all options directly to git-log and let
33309         git do the work.  Notice that this effectively makes --since a
33310         redundant option for gitlog-to-changelog, but removing it would
33311         require current usage to change since calls would then require
33312         an additional '--'.
33313
33314 2008-12-21  Bruno Haible  <bruno@clisp.org>
33315
33316         * modules/mbsnrtowcs-tests: New file.
33317         * tests/test-mbsnrtowcs1.sh: New file.
33318         * tests/test-mbsnrtowcs2.sh: New file.
33319         * tests/test-mbsnrtowcs3.sh: New file.
33320         * tests/test-mbsnrtowcs4.sh: New file.
33321         * tests/test-mbsnrtowcs.c: New file.
33322
33323         New module 'mbsnrtowcs'.
33324         * lib/wchar.in.h (mbsnrtowcs): New declaration.
33325         * lib/mbsnrtowcs.c: New file.
33326         * lib/mbsrtowcs-state.c: New file.
33327         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
33328         (internal_state): Remove variable.
33329         * m4/mbsnrtowcs.m4: New file.
33330         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
33331         compilation units.
33332         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
33333         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
33334         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
33335         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
33336         * modules/mbsnrtowcs: New file.
33337         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
33338         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
33339         portability problem.
33340
33341 2008-12-21  Bruno Haible  <bruno@clisp.org>
33342
33343         Work around mbsrtowcs bug.
33344         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
33345         (gl_FUNC_MBSRTOWCS): Invoke it.
33346         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
33347         m4/locale-zh.m4.
33348         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
33349
33350 2008-12-21  Bruno Haible  <bruno@clisp.org>
33351
33352         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
33353
33354 2008-12-21  Bruno Haible  <bruno@clisp.org>
33355
33356         Update doc for AIX.
33357         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
33358         16-bit wchar_t type.
33359         * doc/posix-functions/btowc.texi: Likewise.
33360         * doc/posix-functions/fgetwc.texi: Likewise.
33361         * doc/posix-functions/fgetws.texi: Likewise.
33362         * doc/posix-functions/fputwc.texi: Likewise.
33363         * doc/posix-functions/fputws.texi: Likewise.
33364         * doc/posix-functions/fwide.texi: Likewise.
33365         * doc/posix-functions/fwprintf.texi: Likewise.
33366         * doc/posix-functions/fwscanf.texi: Likewise.
33367         * doc/posix-functions/getwchar.texi: Likewise.
33368         * doc/posix-functions/getwc.texi: Likewise.
33369         * doc/posix-functions/iswalnum.texi: Likewise.
33370         * doc/posix-functions/iswalpha.texi: Likewise.
33371         * doc/posix-functions/iswblank.texi: Likewise.
33372         * doc/posix-functions/iswcntrl.texi: Likewise.
33373         * doc/posix-functions/iswctype.texi: Likewise.
33374         * doc/posix-functions/iswdigit.texi: Likewise.
33375         * doc/posix-functions/iswgraph.texi: Likewise.
33376         * doc/posix-functions/iswlower.texi: Likewise.
33377         * doc/posix-functions/iswprint.texi: Likewise.
33378         * doc/posix-functions/iswpunct.texi: Likewise.
33379         * doc/posix-functions/iswspace.texi: Likewise.
33380         * doc/posix-functions/iswupper.texi: Likewise.
33381         * doc/posix-functions/iswxdigit.texi: Likewise.
33382         * doc/posix-functions/mbrtowc.texi: Likewise.
33383         * doc/posix-functions/mbsrtowcs.texi: Likewise.
33384         * doc/posix-functions/mbstowcs.texi: Likewise.
33385         * doc/posix-functions/mbtowc.texi: Likewise.
33386         * doc/posix-functions/putwchar.texi: Likewise.
33387         * doc/posix-functions/putwc.texi: Likewise.
33388         * doc/posix-functions/swprintf.texi: Likewise.
33389         * doc/posix-functions/tolower.texi: Likewise.
33390         * doc/posix-functions/toupper.texi: Likewise.
33391         * doc/posix-functions/towctrans.texi: Likewise.
33392         * doc/posix-functions/ungetwc.texi: Likewise.
33393         * doc/posix-functions/vswprintf.texi: Likewise.
33394         * doc/posix-functions/wcrtomb.texi: Likewise.
33395         * doc/posix-functions/wcscat.texi: Likewise.
33396         * doc/posix-functions/wcschr.texi: Likewise.
33397         * doc/posix-functions/wcscmp.texi: Likewise.
33398         * doc/posix-functions/wcscoll.texi: Likewise.
33399         * doc/posix-functions/wcscpy.texi: Likewise.
33400         * doc/posix-functions/wcscspn.texi: Likewise.
33401         * doc/posix-functions/wcsftime.texi: Likewise.
33402         * doc/posix-functions/wcslen.texi: Likewise.
33403         * doc/posix-functions/wcsncat.texi: Likewise.
33404         * doc/posix-functions/wcsncmp.texi: Likewise.
33405         * doc/posix-functions/wcsncpy.texi: Likewise.
33406         * doc/posix-functions/wcspbrk.texi: Likewise.
33407         * doc/posix-functions/wcsrchr.texi: Likewise.
33408         * doc/posix-functions/wcsrtombs.texi: Likewise.
33409         * doc/posix-functions/wcsspn.texi: Likewise.
33410         * doc/posix-functions/wcsstr.texi: Likewise.
33411         * doc/posix-functions/wcstod.texi: Likewise.
33412         * doc/posix-functions/wcstof.texi: Likewise.
33413         * doc/posix-functions/wcstoimax.texi: Likewise.
33414         * doc/posix-functions/wcstok.texi: Likewise.
33415         * doc/posix-functions/wcstold.texi: Likewise.
33416         * doc/posix-functions/wcstoll.texi: Likewise.
33417         * doc/posix-functions/wcstol.texi: Likewise.
33418         * doc/posix-functions/wcstombs.texi: Likewise.
33419         * doc/posix-functions/wcstoull.texi: Likewise.
33420         * doc/posix-functions/wcstoul.texi: Likewise.
33421         * doc/posix-functions/wcstoumax.texi: Likewise.
33422         * doc/posix-functions/wcswidth.texi: Likewise.
33423         * doc/posix-functions/wcsxfrm.texi: Likewise.
33424         * doc/posix-functions/wctob.texi: Likewise.
33425         * doc/posix-functions/wctomb.texi: Likewise.
33426         * doc/posix-functions/wctrans.texi: Likewise.
33427         * doc/posix-functions/wctype.texi: Likewise.
33428         * doc/posix-functions/wcwidth.texi: Likewise.
33429         * doc/posix-functions/wmemchr.texi: Likewise.
33430         * doc/posix-functions/wmemcmp.texi: Likewise.
33431         * doc/posix-functions/wmemcpy.texi: Likewise.
33432         * doc/posix-functions/wmemmove.texi: Likewise.
33433         * doc/posix-functions/wmemset.texi: Likewise.
33434         * doc/posix-functions/wprintf.texi: Likewise.
33435         * doc/posix-functions/wscanf.texi: Likewise.
33436
33437 2008-12-21  Bruno Haible  <bruno@clisp.org>
33438
33439         Update doc for HP-UX 11.11.
33440         * doc/posix-functions/btowc.texi: Clarify that the function is missing
33441         in HP-UX version 11.00, not in all versions of HP-UX 11.
33442         * doc/posix-functions/fwide.texi: Likewise.
33443         * doc/posix-functions/fwprintf.texi: Likewise.
33444         * doc/posix-functions/fwscanf.texi: Likewise.
33445         * doc/posix-functions/inet_ntop.texi: Likewise.
33446         * doc/posix-functions/inet_pton.texi: Likewise.
33447         * doc/posix-functions/mbrlen.texi: Likewise.
33448         * doc/posix-functions/mbrtowc.texi: Likewise.
33449         * doc/posix-functions/mbsinit.texi: Likewise.
33450         * doc/posix-functions/mbsrtowcs.texi: Likewise.
33451         * doc/posix-functions/swprintf.texi: Likewise.
33452         * doc/posix-functions/swscanf.texi: Likewise.
33453         * doc/posix-functions/towctrans.texi: Likewise.
33454         * doc/posix-functions/vfwprintf.texi: Likewise.
33455         * doc/posix-functions/vswprintf.texi: Likewise.
33456         * doc/posix-functions/vwprintf.texi: Likewise.
33457         * doc/posix-functions/wcrtomb.texi: Likewise.
33458         * doc/posix-functions/wcsrtombs.texi: Likewise.
33459         * doc/posix-functions/wcsstr.texi: Likewise.
33460         * doc/posix-functions/wctob.texi: Likewise.
33461         * doc/posix-functions/wctrans.texi: Likewise.
33462         * doc/posix-functions/wmemchr.texi: Likewise.
33463         * doc/posix-functions/wmemcmp.texi: Likewise.
33464         * doc/posix-functions/wmemcpy.texi: Likewise.
33465         * doc/posix-functions/wmemmove.texi: Likewise.
33466         * doc/posix-functions/wmemset.texi: Likewise.
33467         * doc/posix-functions/wprintf.texi: Likewise.
33468         * doc/posix-functions/wscanf.texi: Likewise.
33469
33470 2008-12-21  Bruno Haible  <bruno@clisp.org>
33471
33472         Work around a portability problem.
33473         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
33474         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
33475
33476 2008-12-20  Bruno Haible  <bruno@clisp.org>
33477
33478         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
33479         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
33480         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
33481         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
33482         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
33483
33484         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
33485         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
33486         set.
33487         (GNULIB_defined_mbstate_t): New macro.
33488         (mbsinit): Redefine if REPLACE_MBSINIT is set.
33489         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
33490         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
33491         reuses the system's mbrtowc function but works around the bugs.
33492         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
33493         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
33494         macros.
33495         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
33496         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
33497         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
33498         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
33499         REPLACE_MBSINIT if mbsinit needs to be overridden.
33500         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
33501         REPLACE_MBSINIT, REPLACE_MBRTOWC.
33502         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
33503         REPLACE_MBSINIT, REPLACE_MBRTOWC.
33504         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
33505         m4/locale-zh.m4.
33506         (Depends): Add mbsinit.
33507         * modules/mbsinit (Depends): Add mbrtowc.
33508         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
33509
33510 2008-12-20  Bruno Haible  <bruno@clisp.org>
33511
33512         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
33513         so that there are no conversion errors on AIX.
33514         * tests/test-mbsrtowcs.c (main): LIkewise.
33515
33516 2008-12-20  Bruno Haible  <bruno@clisp.org>
33517
33518         Work around wctob bug on Solaris <= 9.
33519         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
33520         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
33521         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
33522         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
33523         * modules/wctob (Files): Add m4/locale-fr.m4.
33524         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
33525
33526 2008-12-20  Bruno Haible  <bruno@clisp.org>
33527
33528         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
33529         /dev/null.
33530         * tests/test-select-in.sh: Likewise.
33531         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
33532
33533 2008-12-20  Bruno Haible  <bruno@clisp.org>
33534
33535         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
33536         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
33537         Cygwin 1.5.x.
33538
33539 2008-12-20  Bruno Haible  <bruno@clisp.org>
33540
33541         Ensure mbstate_t is defined on HP-UX 11.11.
33542         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
33543         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
33544         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
33545         AC_USE_SYSTEM_EXTENSIONS.
33546         * modules/fnmatch (Depends-on): Add extensions.
33547         * modules/mbrlen (Depends-on): Likewise.
33548         * modules/mbrtowc (Depends-on): Likewise.
33549         * modules/mbsinit (Depends-on): Likewise.
33550         * modules/mbsrtowcs (Depends-on): Likewise.
33551         * modules/mbswidth (Depends-on): Likewise.
33552         * modules/quotearg (Depends-on): Likewise.
33553         * modules/strftime (Depends-on): Likewise.
33554
33555 2008-12-20  Bruno Haible  <bruno@clisp.org>
33556
33557         Ensure wctob is declared on IRIX 6.5.
33558         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
33559         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
33560         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
33561         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
33562         of HAVE_WCTOB.
33563         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
33564         HAVE_WCTOB.
33565         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
33566
33567 2008-12-19  Bruno Haible  <bruno@clisp.org>
33568
33569         * modules/mbsrtowcs-tests: New file.
33570         * tests/test-mbsrtowcs1.sh: New file.
33571         * tests/test-mbsrtowcs2.sh: New file.
33572         * tests/test-mbsrtowcs3.sh: New file.
33573         * tests/test-mbsrtowcs4.sh: New file.
33574         * tests/test-mbsrtowcs.c: New file.
33575
33576         New module 'mbsrtowcs'.
33577         * lib/wchar.in.h (mbsrtowcs): New declaration.
33578         * lib/mbsrtowcs.c: New file.
33579         * m4/mbsrtowcs.m4: New file.
33580         * modules/mbsrtowcs: New file.
33581         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
33582         HAVE_MBSRTOWCS.
33583         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
33584         HAVE_MBSRTOWCS.
33585         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
33586
33587 2008-12-19  Bruno Haible  <bruno@clisp.org>
33588
33589         New module 'mbrlen'.
33590         * lib/wchar.in.h (mbrlen): New declaration.
33591         * lib/mbrlen.c: New file.
33592         * m4/mbrlen.m4: New file.
33593         * modules/mbrlen: New file.
33594         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
33595         HAVE_MBRLEN.
33596         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
33597         HAVE_MBRLEN.
33598         * doc/posix-functions/mbrlen.texi: Document the new module.
33599
33600 2008-12-19  Bruno Haible  <bruno@clisp.org>
33601
33602         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
33603         * modules/mbrtowc (Depends-on): Add verify.
33604         Suggested by Paul Eggert.
33605
33606 2008-12-18  Bruno Haible  <bruno@clisp.org>
33607
33608         * modules/mbsinit-tests: New file.
33609         * tests/test-mbsinit.sh: New file.
33610         * tests/test-mbsinit.c: New file.
33611
33612 2008-12-18  Bruno Haible  <bruno@clisp.org>
33613
33614         * modules/mbrtowc-tests: New file.
33615         * tests/test-mbrtowc1.sh: New file.
33616         * tests/test-mbrtowc2.sh: New file.
33617         * tests/test-mbrtowc3.sh: New file.
33618         * tests/test-mbrtowc4.sh: New file.
33619         * tests/test-mbrtowc.c: New file.
33620
33621         New module 'mbrtowc'.
33622         * lib/wchar.in.h (mbstate_t): Override when the system does not have
33623         mbsinit and mbrtowc.
33624         (mbrtowc): New declaration.
33625         * lib/mbrtowc.c: New file.
33626         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
33627         * modules/mbrtowc: New file.
33628         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
33629         HAVE_MBRTOWC.
33630         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
33631         HAVE_MBRTOWC.
33632         * doc/posix-functions/mbrtowc.texi: Document the new module.
33633
33634 2008-12-18  Bruno Haible  <bruno@clisp.org>
33635
33636         New module 'wctob'.
33637         * lib/wchar.in.h (wctob): New declaration.
33638         * lib/wctob.c: New file.
33639         * m4/wctob.m4: New file.
33640         * modules/wctob: New file.
33641         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
33642         HAVE_WCTOB.
33643         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
33644         * doc/posix-functions/wctob.texi: Document the new module.
33645
33646 2008-12-18  Bruno Haible  <bruno@clisp.org>
33647
33648         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
33649         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
33650
33651 2008-12-18  Simon Josefsson  <simon@josefsson.org>
33652
33653         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
33654         G. Christensen" <tgc@jupiterrise.com>.
33655
33656         * lib/flock.c: Need to include errno.h.  Reported by "Tom
33657         G. Christensen" <tgc@jupiterrise.com>.
33658
33659         * lib/flock.c: Need to include string.h.  Reported by "Tom
33660         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
33661         <ebb9@byu.net>.
33662
33663 2008-12-18  Bruno Haible  <bruno@clisp.org>
33664
33665         * m4/locale-ja.m4: New file, from GNU gettext.
33666
33667 2008-12-17  Bruno Haible  <bruno@clisp.org>
33668
33669         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
33670         Suggested by Eric Blake.
33671
33672 2008-12-17  Bruno Haible  <bruno@clisp.org>
33673
33674         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
33675
33676 2008-12-17  Bruno Haible  <bruno@clisp.org>
33677
33678         * lib/mbsinit.c: Include verify.h. Verify an assumption.
33679         * modules/mbsinit (Depends-on): Add verify.
33680         Suggested by Paul Eggert.
33681
33682 2008-12-17  Bruno Haible  <bruno@clisp.org>
33683
33684         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
33685         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
33686         gl_FUNC_MBRTOWC.
33687         * m4/mbiter.m4 (gl_MBITER): LIkewise.
33688         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
33689         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
33690         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
33691         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
33692         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
33693         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
33694         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
33695         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
33696         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
33697         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
33698         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
33699         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
33700         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
33701         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
33702         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
33703         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
33704         * modules/trim (configure.ac): Likewise.
33705
33706 2008-12-17  Bruno Haible  <bruno@clisp.org>
33707
33708         * modules/btowc-tests: New file.
33709         * tests/test-btowc1.sh: New file.
33710         * tests/test-btowc2.sh: New file.
33711         * tests/test-btowc.c: New file.
33712
33713         New module 'btowc'.
33714         * lib/wchar.in.h (btowc): New declaration.
33715         * lib/btowc.c: New file.
33716         * m4/btowc.m4: New file.
33717         * modules/btowc: New file.
33718         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
33719         HAVE_BTOWC.
33720         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
33721         * doc/posix-functions/btowc.texi: Document the new module.
33722
33723 2008-12-17  Bruno Haible  <bruno@clisp.org>
33724
33725         New module 'mbsinit'.
33726         * lib/wchar.in.h (mbsinit): New declaration.
33727         * lib/mbsinit.c: New file.
33728         * m4/mbsinit.m4: New file.
33729         * modules/mbsinit: New file.
33730         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
33731         HAVE_MBSINIT.
33732         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
33733         HAVE_MBSINIT.
33734         * doc/posix-functions/mbsinit.texi: Document the new module.
33735
33736 2008-12-16  Bruno Haible  <bruno@clisp.org>
33737
33738         * lib/unistd.in.h: Add comment.
33739         * tests/test-environ.c: Don't include <stdlib.h>.
33740
33741 2008-12-16  Bruno Haible  <bruno@clisp.org>
33742
33743         * lib/parse-duration.h (parse_duration): Document return value
33744         convention.
33745         * lib/parse-duration.c: Include specification header first. Add
33746         comments.
33747         (_): Remove macro.
33748         (parse_year_month_day, parse_hour_minute_second): Move side effects
33749         outside of strchr call.
33750         (parse_non_iso8601): Move side effects outside of isspace call.
33751         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
33752         call.
33753
33754 2008-12-16  Bruno Haible  <bruno@clisp.org>
33755
33756         * tests/test-parse-duration.sh: Produce no output when the test
33757         succeeds.
33758
33759 2008-12-16  Bruno Haible  <bruno@clisp.org>
33760
33761         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
33762         expressions.
33763
33764 2008-12-15  Bruno Haible  <bruno@clisp.org>
33765
33766         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
33767         * doc/glibc-functions/flistxattr.texi: Likewise.
33768         * doc/glibc-functions/fopencookie.texi: Likewise.
33769         * doc/glibc-functions/fremovexattr.texi: Likewise.
33770         * doc/glibc-functions/fsetxattr.texi: Likewise.
33771         * doc/glibc-functions/getxattr.texi: Likewise.
33772         * doc/glibc-functions/lgetxattr.texi: Likewise.
33773         * doc/glibc-functions/listxattr.texi: Likewise.
33774         * doc/glibc-functions/llistxattr.texi: Likewise.
33775         * doc/glibc-functions/lremovexattr.texi: Likewise.
33776         * doc/glibc-functions/lsetxattr.texi: Likewise.
33777         * doc/glibc-functions/removexattr.texi: Likewise.
33778         * doc/glibc-functions/setxattr.texi: Likewise.
33779         * doc/posix-functions/open_memstream.texi: Likewise.
33780
33781 2008-12-15  Eric Blake  <ebb9@byu.net>
33782
33783         Update doc for cygwin 1.7.
33784         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
33785         functions.
33786         * doc/posix-functions/fchmodat.texi: Likewise.
33787         * doc/posix-functions/fchownat.texi: Likewise.
33788         * doc/posix-functions/fdopendir.texi: Likewise.
33789         * doc/posix-functions/fmemopen.texi: Likewise.
33790         * doc/posix-functions/freeaddrinfo.texi: Likewise.
33791         * doc/posix-functions/fstatat.texi: Likewise.
33792         * doc/posix-functions/futimens.texi: Likewise.
33793         * doc/posix-functions/gai_strerror.texi: Likewise.
33794         * doc/posix-functions/getaddrinfo.texi: Likewise.
33795         * doc/posix-functions/getnameinfo.texi: Likewise.
33796         * doc/posix-functions/if_freenameindex.texi: Likewise.
33797         * doc/posix-functions/if_indextoname.texi: Likewise.
33798         * doc/posix-functions/if_nameindex.texi: Likewise.
33799         * doc/posix-functions/if_nametoindex.texi: Likewise.
33800         * doc/posix-functions/insque.texi: Likewise.
33801         * doc/posix-functions/linkat.texi: Likewise.
33802         * doc/posix-functions/llrint.texi: Likewise.
33803         * doc/posix-functions/llrintf.texi: Likewise.
33804         * doc/posix-functions/llrintl.texi: Likewise.
33805         * doc/posix-functions/lockf.texi: Likewise.
33806         * doc/posix-functions/lrintl.texi: Likewise.
33807         * doc/posix-functions/mkdirat.texi: Likewise.
33808         * doc/posix-functions/mkfifoat.texi: Likewise.
33809         * doc/posix-functions/mknodat.texi: Likewise.
33810         * doc/posix-functions/mq_close.texi: Likewise.
33811         * doc/posix-functions/mq_getattr.texi: Likewise.
33812         * doc/posix-functions/mq_notify.texi: Likewise.
33813         * doc/posix-functions/mq_open.texi: Likewise.
33814         * doc/posix-functions/mq_receive.texi: Likewise.
33815         * doc/posix-functions/mq_send.texi: Likewise.
33816         * doc/posix-functions/mq_setattr.texi: Likewise.
33817         * doc/posix-functions/mq_timedreceive.texi: Likewise.
33818         * doc/posix-functions/mq_timedsend.texi: Likewise.
33819         * doc/posix-functions/mq_unlink.texi: Likewise.
33820         * doc/posix-functions/open_memstream.texi: Likewise.
33821         * doc/posix-functions/openat.texi: Likewise.
33822         * doc/posix-functions/posix_fadvise.texi: Likewise.
33823         * doc/posix-functions/posix_fallocate.texi: Likewise.
33824         * doc/posix-functions/posix_madvise.texi: Likewise.
33825         * doc/posix-functions/posix_memalign.texi: Likewise.
33826         * doc/posix-functions/posix_openpt.texi: Likewise.
33827         * doc/posix-functions/readlinkat.texi: Likewise.
33828         * doc/posix-functions/remque.texi: Likewise.
33829         * doc/posix-functions/renameat.texi: Likewise.
33830         * doc/posix-functions/rintl.texi: Likewise.
33831         * doc/posix-functions/sem_unlink.texi: Likewise.
33832         * doc/posix-functions/shm_open.texi: Likewise.
33833         * doc/posix-functions/shm_unlink.texi: Likewise.
33834         * doc/posix-functions/signgam.texi: Likewise.
33835         * doc/posix-functions/sigset.texi: Likewise.
33836         * doc/posix-functions/stpcpy.texi: Likewise.
33837         * doc/posix-functions/stpncpy.texi: Likewise.
33838         * doc/posix-functions/strerror.texi: Likewise.
33839         * doc/posix-functions/strtod.texi: Likewise.
33840         * doc/posix-functions/symlinkat.texi: Likewise.
33841         * doc/posix-functions/unlinkat.texi: Likewise.
33842         * doc/posix-functions/utimensat.texi: Likewise.
33843         * doc/glibc-functions/bindresvport.texi: Likewise.
33844         * doc/glibc-functions/dn_expand.texi: Likewise.
33845         * doc/glibc-functions/exp10.texi: Likewise.
33846         * doc/glibc-functions/exp10f.texi: Likewise.
33847         * doc/glibc-functions/fgetxattr.texi: Likewise.
33848         * doc/glibc-functions/flistxattr.texi: Likewise.
33849         * doc/glibc-functions/fopencookie.texi: Likewise.
33850         * doc/glibc-functions/freeifaddrs.texi: Likewise.
33851         * doc/glibc-functions/fremovexattr.texi: Likewise.
33852         * doc/glibc-functions/fsetxattr.texi: Likewise.
33853         * doc/glibc-functions/getifaddrs.texi: Likewise.
33854         * doc/glibc-functions/getxattr.texi: Likewise.
33855         * doc/glibc-functions/lgetxattr.texi: Likewise.
33856         * doc/glibc-functions/listxattr.texi: Likewise.
33857         * doc/glibc-functions/llistxattr.texi: Likewise.
33858         * doc/glibc-functions/lremovexattr.texi: Likewise.
33859         * doc/glibc-functions/lsetxattr.texi: Likewise.
33860         * doc/glibc-functions/pow10.texi: Likewise.
33861         * doc/glibc-functions/pow10f.texi: Likewise.
33862         * doc/glibc-functions/rcmd_af.texi: Likewise.
33863         * doc/glibc-functions/removexattr.texi: Likewise.
33864         * doc/glibc-functions/res_init.texi: Likewise.
33865         * doc/glibc-functions/res_mkquery.texi: Likewise.
33866         * doc/glibc-functions/res_query.texi: Likewise.
33867         * doc/glibc-functions/res_querydomain.texi: Likewise.
33868         * doc/glibc-functions/res_send.texi: Likewise.
33869         * doc/glibc-functions/rresvport_af.texi: Likewise.
33870         * doc/glibc-functions/setxattr.texi: Likewise.
33871         * doc/glibc-functions/strcasestr.texi: Likewise.
33872
33873 2008-12-15  Bruno Haible  <bruno@clisp.org>
33874
33875         Fix compilation error on OSF/1 4.0.
33876         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
33877         <sys/time.h>, simply delegate to the system header.
33878         Reported by Daniel Richard G. <oss@teragram.com>.
33879
33880 2008-12-15  Bruno Haible  <bruno@clisp.org>
33881
33882         * doc/posix-functions/openat.texi: Mention the 'openat' module.
33883         * doc/posix-functions/fchmodat.texi: Likewise.
33884         * doc/posix-functions/fchownat.texi: Likewise.
33885         * doc/posix-functions/fdopendir.texi: Likewise.
33886         * doc/posix-functions/fstatat.texi: Likewise.
33887         * doc/posix-functions/mkdirat.texi: Likewise.
33888         * doc/posix-functions/unlinkat.texi: Likewise.
33889
33890 2008-12-14  Bruno Haible  <bruno@clisp.org>
33891
33892         Update doc for POSIX:2008.
33893         * doc/posix-functions/faccessat.texi: New file.
33894         * doc/posix-functions/fchmodat.texi: New file.
33895         * doc/posix-functions/fchownat.texi: New file.
33896         * doc/posix-functions/fdopendir.texi: New file.
33897         * doc/posix-functions/fstatat.texi: New file.
33898         * doc/posix-functions/futimens.texi: New file.
33899         * doc/posix-functions/linkat.texi: New file.
33900         * doc/posix-functions/mkdirat.texi: New file.
33901         * doc/posix-functions/mkfifoat.texi: New file.
33902         * doc/posix-functions/mknodat.texi: New file.
33903         * doc/posix-functions/open_wmemstream.texi: New file.
33904         * doc/posix-functions/openat.texi: New file.
33905         * doc/posix-functions/psiginfo.texi: New file.
33906         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
33907         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
33908         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
33909         * doc/posix-functions/readlinkat.texi: New file.
33910         * doc/posix-functions/renameat.texi: New file.
33911         * doc/posix-functions/strerror_l.texi: New file.
33912         * doc/posix-functions/symlinkat.texi: New file.
33913         * doc/posix-functions/unlinkat.texi: New file.
33914         * doc/posix-functions/utimensat.texi: New file.
33915         * doc/gnulib.texi (Function Substitutes): Add these subsections.
33916
33917 2008-12-14  Bruno Haible  <bruno@clisp.org>
33918
33919         Update doc for POSIX:2008.
33920         * doc/posix-functions/alphasort.texi: Renamed from
33921         doc/glibc-functions/alphasort.texi.
33922         * doc/posix-functions/dirfd.texi: Renamed from
33923         doc/glibc-functions/dirfd.texi.
33924         * doc/posix-functions/dprintf.texi: Renamed from
33925         doc/glibc-functions/dprintf.texi.
33926         * doc/posix-functions/duplocale.texi: Renamed from
33927         doc/glibc-functions/duplocale.texi.
33928         * doc/posix-functions/fexecve.texi: Renamed from
33929         doc/glibc-functions/fexecve.texi.
33930         * doc/posix-functions/fmemopen.texi: Renamed from
33931         doc/glibc-functions/fmemopen.texi.
33932         * doc/posix-functions/freelocale.texi: Renamed from
33933         doc/glibc-functions/freelocale.texi.
33934         * doc/posix-functions/getdate_err.texi: Renamed from
33935         doc/glibc-functions/getdate_err.texi.
33936         * doc/posix-functions/isalnum_l.texi: Renamed from
33937         doc/glibc-functions/isalnum_l.texi.
33938         * doc/posix-functions/isalpha_l.texi: Renamed from
33939         doc/glibc-functions/isalpha_l.texi.
33940         * doc/posix-functions/isblank_l.texi: Renamed from
33941         doc/glibc-functions/isblank_l.texi.
33942         * doc/posix-functions/iscntrl_l.texi: Renamed from
33943         doc/glibc-functions/iscntrl_l.texi.
33944         * doc/posix-functions/isdigit_l.texi: Renamed from
33945         doc/glibc-functions/isdigit_l.texi.
33946         * doc/posix-functions/isgraph_l.texi: Renamed from
33947         doc/glibc-functions/isgraph_l.texi.
33948         * doc/posix-functions/islower_l.texi: Renamed from
33949         doc/glibc-functions/islower_l.texi.
33950         * doc/posix-functions/isprint_l.texi: Renamed from
33951         doc/glibc-functions/isprint_l.texi.
33952         * doc/posix-functions/ispunct_l.texi: Renamed from
33953         doc/glibc-functions/ispunct_l.texi.
33954         * doc/posix-functions/isspace_l.texi: Renamed from
33955         doc/glibc-functions/isspace_l.texi.
33956         * doc/posix-functions/isupper_l.texi: Renamed from
33957         doc/glibc-functions/isupper_l.texi.
33958         * doc/posix-functions/iswalnum_l.texi: Renamed from
33959         doc/glibc-functions/iswalnum_l.texi.
33960         * doc/posix-functions/iswalpha_l.texi: Renamed from
33961         doc/glibc-functions/iswalpha_l.texi.
33962         * doc/posix-functions/iswblank_l.texi: Renamed from
33963         doc/glibc-functions/iswblank_l.texi.
33964         * doc/posix-functions/iswcntrl_l.texi: Renamed from
33965         doc/glibc-functions/iswcntrl_l.texi.
33966         * doc/posix-functions/iswctype_l.texi: Renamed from
33967         doc/glibc-functions/iswctype_l.texi.
33968         * doc/posix-functions/iswdigit_l.texi: Renamed from
33969         doc/glibc-functions/iswdigit_l.texi.
33970         * doc/posix-functions/iswgraph_l.texi: Renamed from
33971         doc/glibc-functions/iswgraph_l.texi.
33972         * doc/posix-functions/iswlower_l.texi: Renamed from
33973         doc/glibc-functions/iswlower_l.texi.
33974         * doc/posix-functions/iswprint_l.texi: Renamed from
33975         doc/glibc-functions/iswprint_l.texi.
33976         * doc/posix-functions/iswpunct_l.texi: Renamed from
33977         doc/glibc-functions/iswpunct_l.texi.
33978         * doc/posix-functions/iswspace_l.texi: Renamed from
33979         doc/glibc-functions/iswspace_l.texi.
33980         * doc/posix-functions/iswupper_l.texi: Renamed from
33981         doc/glibc-functions/iswupper_l.texi.
33982         * doc/posix-functions/iswxdigit_l.texi: Renamed from
33983         doc/glibc-functions/iswxdigit_l.texi.
33984         * doc/posix-functions/isxdigit_l.texi: Renamed from
33985         doc/glibc-functions/isxdigit_l.texi.
33986         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
33987         doc/glibc-functions/mbsnrtowcs.texi.
33988         * doc/posix-functions/mkdtemp.texi: Renamed from
33989         doc/glibc-functions/mkdtemp.texi.
33990         * doc/posix-functions/newlocale.texi: Renamed from
33991         doc/glibc-functions/newlocale.texi.
33992         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
33993         doc/glibc-functions/nl_langinfo_l.texi.
33994         * doc/posix-functions/open_memstream.texi: Renamed from
33995         doc/glibc-functions/open_memstream.texi.
33996         * doc/posix-functions/opterr.texi: Renamed from
33997         doc/glibc-functions/opterr.texi.
33998         * doc/posix-functions/optind.texi: Renamed from
33999         doc/glibc-functions/optind.texi.
34000         * doc/posix-functions/optopt.texi: Renamed from
34001         doc/glibc-functions/optopt.texi.
34002         * doc/posix-functions/psignal.texi: Renamed from
34003         doc/glibc-functions/psignal.texi.
34004         * doc/posix-functions/scandir.texi: Renamed from
34005         doc/glibc-functions/scandir.texi.
34006         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
34007         doc/glibc-functions/sched_get_priority_min.texi.
34008         * doc/posix-functions/signgam.texi: Renamed from
34009         doc/glibc-functions/signgam.texi.
34010         * doc/posix-functions/stpcpy.texi: Renamed from
34011         doc/glibc-functions/stpcpy.texi.
34012         * doc/posix-functions/stpncpy.texi: Renamed from
34013         doc/glibc-functions/stpncpy.texi.
34014         * doc/posix-functions/strcasecmp_l.texi: Renamed from
34015         doc/glibc-functions/strcasecmp_l.texi.
34016         * doc/posix-functions/strcoll_l.texi: Renamed from
34017         doc/glibc-functions/strcoll_l.texi.
34018         * doc/posix-functions/strfmon_l.texi: Renamed from
34019         doc/glibc-functions/strfmon_l.texi.
34020         * doc/posix-functions/strftime_l.texi: Renamed from
34021         doc/glibc-functions/strftime_l.texi.
34022         * doc/posix-functions/strncasecmp_l.texi: Renamed from
34023         doc/glibc-functions/strncasecmp_l.texi.
34024         * doc/posix-functions/strndup.texi: Renamed from
34025         doc/glibc-functions/strndup.texi.
34026         * doc/posix-functions/strnlen.texi: Renamed from
34027         doc/glibc-functions/strnlen.texi.
34028         * doc/posix-functions/strsignal.texi: Renamed from
34029         doc/glibc-functions/strsignal.texi.
34030         * doc/posix-functions/strxfrm_l.texi: Renamed from
34031         doc/glibc-functions/strxfrm_l.texi.
34032         * doc/posix-functions/timer_gettime.texi: Renamed from
34033         doc/glibc-functions/timer_gettime.texi.
34034         * doc/posix-functions/tolower_l.texi: Renamed from
34035         doc/glibc-functions/tolower_l.texi.
34036         * doc/posix-functions/toupper_l.texi: Renamed from
34037         doc/glibc-functions/toupper_l.texi.
34038         * doc/posix-functions/towctrans_l.texi: Renamed from
34039         doc/glibc-functions/towctrans_l.texi.
34040         * doc/posix-functions/towlower_l.texi: Renamed from
34041         doc/glibc-functions/towlower_l.texi.
34042         * doc/posix-functions/towupper_l.texi: Renamed from
34043         doc/glibc-functions/towupper_l.texi.
34044         * doc/posix-functions/uselocale.texi: Renamed from
34045         doc/glibc-functions/uselocale.texi.
34046         * doc/posix-functions/vdprintf.texi: Renamed from
34047         doc/glibc-functions/vdprintf.texi.
34048         * doc/posix-functions/wcpcpy.texi:
34049         Renamed from doc/glibc-functions/wcpcpy.texi.
34050         * doc/posix-functions/wcpncpy.texi: Renamed from
34051         doc/glibc-functions/wcpncpy.texi.
34052         * doc/posix-functions/wcscasecmp.texi: Renamed from
34053         doc/glibc-functions/wcscasecmp.texi.
34054         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
34055         doc/glibc-functions/wcscasecmp_l.texi.
34056         * doc/posix-functions/wcscoll_l.texi: Renamed from
34057         doc/glibc-functions/wcscoll_l.texi.
34058         * doc/posix-functions/wcsdup.texi: Renamed from
34059         doc/glibc-functions/wcsdup.texi.
34060         * doc/posix-functions/wcsncasecmp.texi: Renamed from
34061         doc/glibc-functions/wcsncasecmp.texi.
34062         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
34063         doc/glibc-functions/wcsncasecmp_l.texi.
34064         * doc/posix-functions/wcsnlen.texi: Renamed from
34065         doc/glibc-functions/wcsnlen.texi.
34066         * doc/posix-functions/wcsnrtombs.texi: Renamed from
34067         doc/glibc-functions/wcsnrtombs.texi.
34068         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
34069         doc/glibc-functions/wcsxfrm_l.texi.
34070         * doc/posix-functions/wctrans_l.texi: Renamed from
34071         doc/glibc-functions/wctrans_l.texi.
34072         * doc/posix-functions/wctype_l.texi: Renamed from
34073         doc/glibc-functions/wctype_l.texi.
34074         * doc/gnulib.texi (Function Substitutes): Add these subsections.
34075         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
34076         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
34077         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
34078         these subsections.
34079         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
34080         Remove sections.
34081
34082 2008-12-14  Bruno Haible  <bruno@clisp.org>
34083
34084         Update doc for POSIX:2008.
34085         * doc/posix-functions/*.texi: Update URL of POSIX specification.
34086
34087 2008-12-14  Bruno Haible  <bruno@clisp.org>
34088
34089         Update doc for POSIX:2008.
34090         * doc/pastposix-functions/bcmp.texi: Renamed from
34091         doc/posix-functions/bcmp.texi.
34092         * doc/pastposix-functions/bcopy.texi: Renamed from
34093         doc/posix-functions/bcopy.texi.
34094         * doc/pastposix-functions/bsd_signal.texi: Renamed from
34095         doc/posix-functions/bsd_signal.texi.
34096         * doc/pastposix-functions/bzero.texi: Renamed from
34097         doc/posix-functions/bzero.texi.
34098         * doc/pastposix-functions/ecvt.texi: Renamed from
34099         doc/posix-functions/ecvt.texi.
34100         * doc/pastposix-functions/fcvt.texi: Renamed from
34101         doc/posix-functions/fcvt.texi.
34102         * doc/pastposix-functions/ftime.texi: Renamed from
34103         doc/posix-functions/ftime.texi.
34104         * doc/pastposix-functions/gcvt.texi: Renamed from
34105         doc/posix-functions/gcvt.texi.
34106         * doc/pastposix-functions/getcontext.texi: Renamed from
34107         doc/posix-functions/getcontext.texi.
34108         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
34109         doc/posix-functions/gethostbyaddr.texi.
34110         * doc/pastposix-functions/gethostbyname.texi: Renamed from
34111         doc/posix-functions/gethostbyname.texi.
34112         * doc/pastposix-functions/getwd.texi: Renamed from
34113         doc/posix-functions/getwd.texi.
34114         * doc/pastposix-functions/h_errno.texi: Renamed from
34115         doc/posix-functions/h_errno.texi.
34116         * doc/pastposix-functions/index.texi: Renamed from
34117         doc/posix-functions/index.texi.
34118         * doc/pastposix-functions/makecontext.texi: Renamed from
34119         doc/posix-functions/makecontext.texi.
34120         * doc/pastposix-functions/mktemp.texi: Renamed from
34121         doc/posix-functions/mktemp.texi.
34122         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
34123         doc/posix-functions/pthread_attr_getstackaddr.texi.
34124         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
34125         doc/posix-functions/pthread_attr_setstackaddr.texi.
34126         * doc/pastposix-functions/rindex.texi: Renamed from
34127         doc/posix-functions/rindex.texi.
34128         * doc/pastposix-functions/scalb.texi: Renamed from
34129         doc/posix-functions/scalb.texi.
34130         * doc/pastposix-functions/setcontext.texi: Renamed from
34131         doc/posix-functions/setcontext.texi.
34132         * doc/pastposix-functions/swapcontext.texi: Renamed from
34133         doc/posix-functions/swapcontext.texi.
34134         * doc/pastposix-functions/ualarm.texi: Renamed from
34135         doc/posix-functions/ualarm.texi.
34136         * doc/pastposix-functions/usleep.texi: Renamed from
34137         doc/posix-functions/usleep.texi.
34138         * doc/pastposix-functions/vfork.texi: Renamed from
34139         doc/posix-functions/vfork.texi.
34140         * doc/pastposix-functions/wcswcs.texi: Renamed from
34141         doc/posix-functions/wcswcs.texi.
34142         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
34143         (Function Substitutes): Update.
34144
34145 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34146
34147         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
34148         m4/strerror.m4.
34149
34150 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34151             Bruno Haible  <bruno@clisp.org>
34152
34153         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
34154
34155 2008-12-13  Bruno Haible  <bruno@clisp.org>
34156
34157         * modules/strtoull (Depends-on): Remove unistd.
34158
34159 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34160
34161         * modules/strtoull (Depends-on): Add stdlib.
34162
34163 2008-12-11  Simon Josefsson  <simon@josefsson.org>
34164
34165         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
34166
34167 2008-12-10  Jim Meyering  <meyering@redhat.com>
34168
34169         gl_ASSERT: don't say assertions are disabled when they're not
34170         * m4/assert.m4 (gl_ASSERT): Do not make configure report
34171         "checking whether to enable assertions... no", when they are in
34172         fact enabled.  This is solely a bug in the output of configure.
34173         In spite of saying "no", NDEBUG was not defined in that case.
34174         Also, as noted by Eric Blake, leave assertions enabled upon
34175         --enable-assert=INVALID.
34176
34177 2008-12-10  Bruno Haible  <bruno@clisp.org>
34178
34179         Change MODULES.html to refer to POSIX:2008 where possible.
34180         * MODULES.html.sh (POSIX2008_URL): New variable.
34181         (posix_headers): Remove sys/timeb, ucontext.
34182         (posix2001_headers): New variable.
34183         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
34184         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
34185         index, makecontext, mktemp, pthread_attr_getstackaddr,
34186         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
34187         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
34188         (posix2001_functions): New variable.
34189         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
34190         otherwise.
34191
34192 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34193
34194         add missing include to parse-duration.c
34195         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
34196         * modules/parse-duration (Depends-on): Add xalloc.
34197
34198         fix sed script reading maint.mk
34199         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
34200         (syntax-check-rules): Use it.
34201
34202 2008-12-09  Bruno Haible  <bruno@clisp.org>
34203
34204         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
34205         MacOS X 10.4/PowerPC.
34206         Reported by Simon Josefsson.
34207
34208 2008-12-08  Jim Meyering  <meyering@redhat.com>
34209
34210         work around mingw's lack of some S_IF definitions
34211         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
34212         Reported by Simon Josefsson.
34213
34214 2008-12-08  Bruno Haible  <bruno@clisp.org>
34215
34216         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
34217         applied to variables. Needed on MacOS X 10.4/PowerPC.
34218         Reported by Simon Josefsson.
34219
34220 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
34221         and Eric Blake  <ebb9@byu.net>
34222
34223         assert: honor --enable-assert
34224         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
34225         order to honor --enable-assert, rather than treating it as a
34226         synonym for --disable-assert.
34227
34228 2008-12-08  Jim Meyering  <meyering@redhat.com>
34229
34230         * lib/posixtm.c: Remove now-useless declaration of mktime.
34231
34232         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
34233
34234 2008-12-07  Bruno Haible  <bruno@clisp.org>
34235
34236         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
34237         test_once): Mark functions as static.
34238         * tests/test-tls.c (test_tls): Likewise.
34239
34240 2008-12-07  Bruno Haible  <bruno@clisp.org>
34241
34242         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
34243         iconv_register_autodetect.
34244
34245 2008-12-07  Jim Meyering  <meyering@redhat.com>
34246
34247         posixtm.c: avoid a warning
34248         * lib/posixtm.c (posixtime): Don't initialize tm0.
34249         It's no longer needed to placate gcc4's -Wuninitialized,
34250         and the attempt to placate would elicit a new warning.
34251
34252         unicodeio.c: mark unused parameters
34253         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
34254         (fallback_failure_callback): Likewise.
34255
34256 2008-12-07  Bruno Haible  <bruno@clisp.org>
34257
34258         * gnulib-tool (func_create_testdir): When building the tests
34259         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
34260         Reported by Simon Josefsson.
34261
34262 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34263
34264         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
34265
34266 2008-12-06  Bruno Haible  <bruno@clisp.org>
34267
34268         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
34269         Suggested by Eric Blake.
34270
34271 2008-12-06  Bruno Haible  <bruno@clisp.org>
34272
34273         Fix a c-stack test failure on MacOS X.
34274         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
34275         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
34276         handler for SIGBUS as well.
34277         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
34278         install a signal handler for SIGBUS as well.
34279         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
34280
34281 2008-12-06  Bruno Haible  <bruno@clisp.org>
34282
34283         Advocacy documentation.
34284         * doc/gnulib-intro.texi (Benefits): New section.
34285         * doc/gnulib.texi: Update.
34286
34287 2008-12-06  Bruno Haible  <bruno@clisp.org>
34288
34289         Document the 'manywarnings' module.
34290         * doc/manywarnings.texi: New file.
34291         * doc/gnulib.texi: Include it.
34292
34293 2008-12-05  Eric Blake  <ebb9@byu.net>
34294
34295         tests: silence some gcc warnings
34296         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
34297         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
34298         type mismatches.
34299
34300 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34301             Bruno Haible  <bruno@clisp.org>
34302
34303         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
34304
34305 2008-11-29  Jim Meyering  <meyering@redhat.com>
34306
34307         unicodeio.c: mark unused parameters
34308         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
34309         (fallback_failure_callback): Likewise.
34310
34311         fts: fix a thinko
34312         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
34313         (set_stat_type): Return S_IF*-valued "type" directly.
34314         Prompted by James Youngman's spotting a related bug.
34315         Confirmed by further testing through find.
34316
34317         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
34318         * lib/fts.c (D_TYPE): Define.
34319         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
34320         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
34321         (s_ifmt_shift_bits): New function.
34322         (set_stat_type): New function.
34323         (fts_build): When not calling fts_stat, call set_stat_type
34324         to propagate dirent.d_type info to fts_read caller.
34325         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
34326         fts_statp->st_mode type information may be valid.
34327
34328 2008-11-28  Simon Josefsson  <simon@josefsson.org>
34329
34330         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
34331         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
34332         <sds@gnu.org>.
34333
34334 2008-11-20  Bruno Haible  <bruno@clisp.org>
34335
34336         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
34337         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
34338         INCLUDE_NEXT.
34339         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
34340         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
34341         * modules/math (Makefile.am): Substitute
34342         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
34343         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
34344
34345 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
34346             Bruno Haible  <bruno@clisp.org>
34347
34348         * lib/stdint.in.h: Define all type macros so that their expansion is
34349         a single typedef'ed token. Fixes a compilation failure in Boost which
34350         does "using ::int8_t;".
34351
34352 2008-11-18  Simon Josefsson  <simon@josefsson.org>
34353
34354         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
34355         gl_MANYWARN_ALL_GCC.
34356         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
34357         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
34358         * modules/manywarnings: New file.
34359         * MODULES.html.sh: Mention manywarnings module.
34360
34361 2008-11-18  Bruno Haible  <bruno@clisp.org>
34362
34363         * doc/gnulib-tool.texi (Unit tests): New section.
34364
34365 2008-11-18  Simon Josefsson  <simon@josefsson.org>
34366
34367         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
34368         paths like 'lib/po/foo.po'.
34369
34370 2008-11-17  Simon Josefsson  <simon@josefsson.org>
34371
34372         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
34373         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
34374
34375 2008-11-17  Simon Josefsson  <simon@josefsson.org>
34376
34377         * m4/warnings.m4: Use CPPFLAGS to really check whether the
34378         parameter works.
34379
34380 2008-11-17  Simon Josefsson  <simon@josefsson.org>
34381
34382         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
34383
34384 2008-11-17  Bruce Korb  <bkorb@gnu.org>
34385
34386         * modules/parse-duration-tests: New file.
34387         * tests/test-parse-duration.sh: New file.
34388         * tests/test-parse-duration.c: New file.
34389
34390         New module 'parse-duration'.
34391         * lib/parse-duration.h: New file.
34392         * lib/parse-duration.c: New file.
34393         * modules/parse-duration: New file.
34394
34395 2008-11-17  Bruno Haible  <bruno@clisp.org>
34396
34397         * tests/test-select-out.sh: Comment out the first pipe test.
34398         Reported by Simon Josefsson.
34399
34400 2008-11-17  Bruno Haible  <bruno@clisp.org>
34401
34402         * modules/getaddrinfo (Depends-on): Add servent, hostent.
34403         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
34404         gl_HOSTENT.
34405
34406 2008-11-17  Bruno Haible  <bruno@clisp.org>
34407
34408         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
34409         -lnetwork and -lnet. Needed for Haiku and BeOS.
34410
34411 2008-11-16  Bruno Haible  <bruno@clisp.org>
34412
34413         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
34414
34415 2008-11-16  Bruno Haible  <bruno@clisp.org>
34416
34417         Avoid test failure on Haiku.
34418         * tests/test-fsync.c: Include <errno.h>.
34419         (main): Don't require that fsync (0) fails.
34420
34421 2008-11-15  Bruno Haible  <bruno@clisp.org>
34422
34423         New module 'hostent'.
34424         * modules/hostent: New file.
34425         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
34426
34427 2008-11-15  Bruno Haible  <bruno@clisp.org>
34428
34429         New module 'servent'.
34430         * modules/servent: New file.
34431         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
34432
34433 2008-11-15  Bruno Haible  <bruno@clisp.org>
34434
34435         Avoid generating same test program with two different rules.
34436         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
34437         test-frexp to test-frexp-nolibm.
34438         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
34439         test-frexpl to test-frexpl-nolibm.
34440
34441 2008-11-15  Bruno Haible  <bruno@clisp.org>
34442
34443         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
34444         $(FREXPL_LIBM).
34445
34446 2008-11-15  Bruno Haible  <bruno@clisp.org>
34447
34448         * lib/netdb.in.h: Activate the definitions also when the system's
34449         <netdb.h> has 'struct addrinfo'.
34450         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
34451         EAI_OVERFLOW or AI_NUMERICSERV.
34452         * doc/posix-headers/netdb.texi: Document the problem.
34453
34454 2008-11-15  Bruno Haible  <bruno@clisp.org>
34455
34456         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
34457
34458         Make the 'sched' module work on platforms where <sched.h> exists but
34459         is incomplete (such as Haiku).
34460         * lib/sched.in.h; Include the system's <sched.h> if it exists.
34461         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
34462         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
34463         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
34464         HAVE_STRUCT_SCHED_PARAM.
34465         * modules/sched (Depends-on): Add include_next.
34466         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
34467         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
34468         * doc/posix-headers/sched.texi: Document the issue.
34469
34470 2008-11-13  Jim Meyering  <meyering@redhat.com>
34471
34472         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
34473         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
34474         test would fail due to the difference in the Report bugs to ...
34475         line.  The expected address is empty, "<>", while the actual
34476         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
34477
34478 2008-11-12  Bruno Haible  <bruno@clisp.org>
34479
34480         lstat: don't compile lstat.c on systems lacking lstat
34481         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
34482         which don't have lstat; this is handled by lib/sys_stat.in.h already.
34483         Reported by Daniel P. Berrange via Jim Meyering.
34484
34485 2008-11-12  Jim Meyering  <meyering@redhat.com>
34486
34487         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
34488
34489 2008-11-12  Simon Josefsson  <simon@josefsson.org>
34490
34491         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
34492         instead.
34493
34494 2008-11-12  Bruno Haible  <bruno@clisp.org>
34495
34496         * lib/unicodeio.c: Include unistr.h.
34497         (utf8_wctomb): Remove function.
34498         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
34499
34500 2008-11-12  Simon Josefsson  <simon@josefsson.org>
34501
34502         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
34503         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
34504         <bruno@clisp.org>.
34505         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
34506
34507 2008-11-12  Simon Josefsson  <simon@josefsson.org>
34508
34509         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
34510         * doc/gnulib.texi: Add section for warnings.
34511
34512 2008-11-11  Bruno Haible  <bruno@clisp.org>
34513
34514         * lib/sockets.h: Add a comment.
34515
34516 2008-11-11  Karl Berry  <karl@gnu.org>
34517
34518         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
34519
34520 2008-11-11  Eric Blake  <ebb9@byu.net>
34521
34522         fdl.texi: avoid git symlinks
34523         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
34524
34525 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
34526
34527         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
34528
34529 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
34530
34531         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
34532         (gl_WARN_ADD): Substitute $2 if literal.
34533
34534 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
34535
34536         * m4/warning.m4: Remove.
34537
34538 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
34539
34540         * m4/warnings.m4: Almost complete rewrite. :-)
34541
34542 2008-11-10  Simon Josefsson  <simon@josefsson.org>
34543
34544         * modules/warnings: New module.
34545         * m4/warnings.m4: New file.
34546         * MODULES.html.sh: Mention warnings module.
34547         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
34548         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
34549
34550 2008-11-10  Eric Blake  <ebb9@byu.net>
34551
34552         fdl.texi: make a symlink to the latest version
34553         * doc/standards.texi: Revert today's earlier change.
34554         * doc/fdl-1.2.texi: Rename from old fdl.texi...
34555         * doc/fdl.texi: ...and replace this with a symlink to the newer
34556         fdl-1.3.texi.
34557
34558 2008-11-10  Bruno Haible  <bruno@clisp.org>
34559
34560         * tests/test-select-fd.c (main): Accept the result file name as fourth
34561         argument.
34562         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
34563         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
34564
34565 2008-11-10  Bruno Haible  <bruno@clisp.org>
34566
34567         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
34568         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
34569         as autoconf-substituted macros.
34570         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
34571         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
34572         gl_NETDB_H_DEFAULTS. Set these variables.
34573         * modules/netdb (Makefile.am): Substitute these variables.
34574
34575 2008-11-10  Eric Blake  <ebb9@byu.net>
34576
34577         standards.texi: include correct file for FDL 1.3
34578         * doc/standards.texi (GNU Free Documentation License): Change
34579         include file to pull in FDL 1.3, not 1.2.
34580
34581         fdl.texi: revert accidental change to license
34582         * doc/fdl.texi: This is FDL 1.2, not 1.3.
34583
34584 2008-11-10  Bruno Haible  <bruno@clisp.org>
34585
34586         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
34587         cross-compiling guesses also when the native compile gives no result.
34588
34589 2008-11-10  Bruno Haible  <bruno@clisp.org>
34590
34591         * lib/spawni.c (__spawni): Force variable into the stack.
34592
34593 2008-11-10  Bruno Haible  <bruno@clisp.org>
34594
34595         Add support for Haiku.
34596         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
34597         glibc and BeOS, but also on Haiku.
34598         * lib/fpurge.c (fpurge): Likewise.
34599         * lib/freadable.c (freadable): Likewise.
34600         * lib/freadahead.c (freadahead): Likewise.
34601         * lib/freading.c (freading): Likewise.
34602         * lib/freadptr.c (freadptr): Likewise.
34603         * lib/freadseek.c (freadptrinc): Likewise.
34604         * lib/fseeko.c (rpl_fseeko): Likewise.
34605         * lib/fseterr.c (fseterr): Likewise.
34606         * lib/fwritable.c (fwritable): Likewise.
34607         * lib/fwriting.c (fwriting): Likewise.
34608         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
34609
34610 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
34611
34612         * lib/config.charset: Treat Haiku like BeOS.
34613
34614 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
34615
34616         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
34617         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
34618
34619 2008-11-08  Bruno Haible  <bruno@clisp.org>
34620
34621         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
34622         AC_CACHE_CHECK.
34623
34624 2008-11-08  Bruno Haible  <bruno@clisp.org>
34625
34626         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
34627
34628 2008-11-08  Bruno Haible  <bruno@clisp.org>
34629
34630         * tests/test-select-fd.c: New file.
34631         * tests/test-select-in.sh: New file.
34632         * tests/test-select-out.sh: New file.
34633         * tests/test-select-stdin.c: New file.
34634         * modules/select-tests (Files): Add the new files.
34635         (Depends-on): Add gettimeofday.
34636         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
34637         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
34638         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
34639
34640 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
34641             Bruno Haible  <bruno@clisp.org>
34642
34643         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
34644
34645 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
34646
34647         * build-aux/pmccabe2html: Added support for C++ source files.
34648
34649 2008-11-05  Ben Pfaff  <blp@gnu.org>
34650
34651         Fix lib/close.c build on Windows.
34652         * modules/close (Files): Add lib/w32sock.h.
34653
34654 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
34655
34656         Accept Bison's NEWS format.
34657         * build-aux/announce-gen (print_news_deltas): Tweak
34658         $re_prefix.
34659
34660 2008-11-04  Bruno Haible  <bruno@clisp.org>
34661
34662         * modules/random_r (Maintainer): Add glibc.
34663
34664 2008-11-04  Simon Josefsson  <simon@josefsson.org>
34665
34666         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
34667         by karl@freefriends.org (Karl Berry).
34668         * doc/alloca.texi: Likewise.
34669         * doc/c-ctype.texi: Likewise.
34670         * doc/c-strcase.texi: Likewise.
34671         * doc/c-strcaseeq.texi: Likewise.
34672         * doc/c-strcasestr.texi: Likewise.
34673         * doc/c-strstr.texi: Likewise.
34674         * doc/c-strtod.texi: Likewise.
34675         * doc/c-strtold.texi: Likewise.
34676         * doc/ctime.texi: Likewise.
34677         * doc/error.texi: Likewise.
34678         * doc/fdl.texi: Likewise.
34679         * doc/gcd.texi: Likewise.
34680         * doc/getdate.texi: Likewise.
34681         * doc/gnulib-intro.texi: Likewise.
34682         * doc/gnulib-tool.texi: Likewise.
34683         * doc/gnulib.texi: Likewise.
34684         * doc/inet_ntoa.texi: Likewise.
34685         * doc/maintain.texi: Likewise.
34686         * doc/make-stds.texi: Likewise.
34687         * doc/quote.texi: Likewise.
34688         * doc/regexprops-generic.texi: Likewise.
34689         * doc/standards.texi: Likewise.
34690         * doc/verify.texi: Likewise.
34691         * doc/visibility.texi: Likewise.
34692         * doc/gnulib.texi (GNU Free Documentation License): Include
34693         fdl-1.3.texi instead of fdl.texi.
34694
34695 2008-11-04  Simon Josefsson  <simon@josefsson.org>
34696
34697         * doc/fdl-1.3.texi: New file, from
34698         <http://www.gnu.org/licenses/fdl-1.3.texi>.
34699         * modules/fdl-1.3: Add.
34700         * MODULES.html.sh: Add fdl-1.3.
34701
34702 2008-11-03  Bruno Haible  <bruno@clisp.org>
34703
34704         Make determination of absolute name of header file work with AIX xlc.
34705         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
34706         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
34707         preprocessing.
34708         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
34709         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
34710
34711 2008-11-03  Simon Josefsson  <simon@josefsson.org>
34712
34713         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
34714         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
34715         <ludo@gnu.org>.
34716
34717 2008-11-02  Bruno Haible  <bruno@clisp.org>
34718
34719         Mark 'strpbrk' obsolete.
34720         * modules/strpbrk (Status, Notice): New sections.
34721         * modules/strtok_r (Depends-on): Add strpbrk.
34722
34723 2008-11-02  Bruno Haible  <bruno@clisp.org>
34724
34725         Mark 'strdup' obsolete.
34726         * modules/strdup (Status, Notice): New sections.
34727         * modules/findprog (Depends-on): Add strdup.
34728         * modules/getaddrinfo (Depends-on): Likewise.
34729         * modules/localename (Depends-on): Likewise.
34730         * modules/relocatable-lib (Depends-on): Likewise.
34731         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
34732         * modules/relocatable-prog (Depends-on): Likewise.
34733         * modules/trim (Depends-on): Likewise.
34734         * modules/unictype/gen-ctype (Depends-on): Likewise.
34735         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
34736
34737 2008-11-02  Bruno Haible  <bruno@clisp.org>
34738
34739         Mark 'strcspn' obsolete.
34740         * modules/strcspn (Status, Notice): New sections.
34741
34742 2008-11-02  Bruno Haible  <bruno@clisp.org>
34743
34744         Mark 'rmdir' obsolete.
34745         * modules/rmdir (Status, Notice): New sections.
34746         * modules/clean-temp (Depends-on): Add rmdir.
34747         * modules/openat (Depends-on): Likewise.
34748
34749 2008-11-02  Bruno Haible  <bruno@clisp.org>
34750
34751         Mark 'raise' obsolete.
34752         * modules/raise (Status, Notice): New sections.
34753         (Include): Specify <signal.h>.
34754         * modules/stdio (Depends-on): Add raise.
34755         * modules/write (Depends-on): Likewise.
34756
34757 2008-11-02  Bruno Haible  <bruno@clisp.org>
34758
34759         Mark 'memset' obsolete.
34760         * modules/memset (Status, Notice): New sections.
34761
34762 2008-11-02  Bruno Haible  <bruno@clisp.org>
34763
34764         Mark 'memmove' obsolete.
34765         * modules/memmove (Status, Notice): New sections.
34766         * modules/argp (Depends-on): Add memmove.
34767         * modules/argz (Depends-on): Likewise.
34768         * modules/canonicalize (Depends-on): Likewise.
34769         * modules/canonicalize-lgpl (Depends-on): Likewise.
34770         * modules/fts (Depends-on): Likewise.
34771         * modules/getcwd (Depends-on): Likewise.
34772         * modules/human (Depends-on): Likewise.
34773         * modules/regex (Depends-on): Likewise.
34774         * modules/striconveh (Depends-on): Likewise.
34775         * modules/trim (Depends-on): Likewise.
34776         * modules/unistr/u8-move (Depends-on): Likewise.
34777         * modules/unistr/u16-move (Depends-on): Likewise.
34778         * modules/unistr/u32-move (Depends-on): Likewise.
34779
34780 2008-11-02  Bruno Haible  <bruno@clisp.org>
34781
34782         Mark 'memcpy' obsolete.
34783         * modules/memcpy (Status, Notice): New sections.
34784
34785 2008-11-02  Bruno Haible  <bruno@clisp.org>
34786
34787         Mark 'memcmp' obsolete.
34788         * modules/memcmp (Status, Notice): New sections.
34789         * modules/argmatch (Depends-on): Add memchr.
34790         * modules/backupfile (Depends-on): Likewise.
34791         * modules/c-strcasestr (Depends-on): Likewise.
34792         * modules/crypto/des (Depends-on): Likewise.
34793         * modules/csharpcomp (Depends-on): Likewise.
34794         * modules/fnmatch (Depends-on): Likewise.
34795         * modules/git-merge-changelog (Depends-on): Likewise.
34796         * modules/isnand (Depends-on): Likewise.
34797         * modules/isnand-nolibm (Depends-on): Likewise.
34798         * modules/isnanf (Depends-on): Likewise.
34799         * modules/isnanf-nolibm (Depends-on): Likewise.
34800         * modules/isnanl (Depends-on): Likewise.
34801         * modules/isnanl-nolibm (Depends-on): Likewise.
34802         * modules/mbchar (Depends-on): Likewise.
34803         * modules/memcoll (Depends-on): Likewise.
34804         * modules/quotearg (Depends-on): Likewise.
34805         * modules/regex (Depends-on): Likewise.
34806         * modules/relocatable-prog (Depends-on): Likewise.
34807         * modules/same (Depends-on): Likewise.
34808         * modules/signbit (Depends-on): Likewise.
34809         * modules/strcasestr-simple (Depends-on): Likewise.
34810         * modules/unictype/gen-ctype (Depends-on): Likewise.
34811         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
34812         * modules/uniname/uniname (Depends-on): Likewise.
34813         * modules/unistr/u8-cmp (Depends-on): Likewise.
34814
34815 2008-11-02  Bruno Haible  <bruno@clisp.org>
34816
34817         Mark 'memchr' obsolete.
34818         * modules/memchr (Status, Notice): New sections.
34819         * modules/argp (Depends-on): Add memchr.
34820         * modules/base64 (Depends-on): Likewise.
34821         * modules/c-strcasestr (Depends-on): Likewise.
34822         * modules/chdir-long (Depends-on): Likewise.
34823         * modules/fnmatch (Depends-on): Likewise.
34824         * modules/getsubopt (Depends-on): Likewise.
34825         * modules/git-merge-changelog (Depends-on): Likewise.
34826         * modules/glob (Depends-on): Likewise.
34827         * modules/strcasestr-simple (Depends-on): Likewise.
34828         * modules/strnlen (Depends-on): Likewise.
34829
34830 2008-11-02  Bruno Haible  <bruno@clisp.org>
34831
34832         Mark 'atexit' obsolete.
34833         * modules/atexit (Status, Notice): New sections.
34834         * modules/chdir-long (Depends-on): Add atexit.
34835         * modules/wait-process (Depends-on): Likewise.
34836
34837 2008-11-02  Bruno Haible  <bruno@clisp.org>
34838
34839         * gnulib-tool: New option --with-obsolete.
34840         (func_usage): Document it.
34841         (func_modules_transitive_closure): Drop obsolete dependencies if
34842         incobsolete is not true.
34843         (func_import): Read and save the incobsolete variable to the cache.
34844
34845 2008-11-02  Bruno Haible  <bruno@clisp.org>
34846
34847         * modules/TEMPLATE-EXTENDED: New field 'Status'.
34848         * gnulib-tool: New option --extract-status.
34849         (func_usage): Document it.
34850         (sed_extract_prog): Recognize it.
34851         (func_get_status): New function.
34852
34853 2008-10-30  Simon Josefsson  <simon@josefsson.org>
34854
34855         * modules/sockets (License): Change from LGPL to LGPLv2+.
34856
34857 2008-10-28  Simon Josefsson  <simon@josefsson.org>
34858
34859         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
34860
34861 2008-10-28  Simon Josefsson  <simon@josefsson.org>
34862
34863         * MODULES.html.sh (Support for systems lacking POSIX:2001):
34864         Mention times and sys_times.
34865         * modules/sys_times, modules/sys_times-tests: New modules.
34866         * modules/times, modules/times-tests: Likewise
34867         * m4/sys_times_h.m4: New file.
34868         * lib/sys_times.in.h: Likewise
34869         * lib/times.c: Likewise.
34870         * tests/test-sys_times.c: Likewise.
34871         * tests/test-times.c: Likewise.
34872         * doc/posix-headers/sys_times.texi: Update.
34873         * doc/posix-functions/times.texi: Update.
34874
34875 2008-10-28  Jim Meyering  <meyering@redhat.com>
34876
34877         * modules/tempname (Depends-on): Add lstat.
34878
34879         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
34880
34881 2008-10-28  Simon Josefsson  <simon@josefsson.org>
34882
34883         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
34884         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
34885         using idiom used elsewhere in gnulib.
34886
34887 2008-10-27  Jim Meyering  <meyering@redhat.com>
34888
34889         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
34890
34891 2008-10-27  Simon Josefsson  <simon@josefsson.org>
34892
34893         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
34894         TESTS_ENVIRONMENT, for shell scripts that needs to call built
34895         programs.
34896         * tests/test-argp-2.sh: Use $EXEEXT when needed.
34897
34898 2008-10-27  Simon Josefsson  <simon@josefsson.org>
34899
34900         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
34901
34902 2008-10-27  Bruno Haible  <bruno@clisp.org>
34903
34904         * tests/test-lstat.c: Include <stdio.h>.
34905
34906 2008-10-27  Simon Josefsson  <simon@josefsson.org>
34907
34908         * modules/lstat-tests: New module.
34909         * tests/test-lstat.c: New file.
34910
34911 2008-10-26  Jim Meyering  <meyering@redhat.com>
34912
34913         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
34914
34915 2008-10-26  Simon Josefsson  <simon@josefsson.org>
34916             Bruno Haible  <bruno@clisp.org>
34917
34918         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
34919         * modules/configmake (Include): Add a note that the include must come
34920         after all system headers.
34921         * lib/javaversion.c: Include configmake.h after all other includes.
34922
34923 2008-10-26  Bruno Haible  <bruno@clisp.org>
34924
34925         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
34926         HAVE_STRUCT_RANDOM_DATA to 1.
34927         (gl_STDLIB_H): Simplify.
34928
34929 2008-10-26  Simon Josefsson  <simon@josefsson.org>
34930
34931         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
34932         substitute HAVE_STRUCT_RANDOM_DATA.
34933         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
34934         random_data.
34935         * modules/stdlib (Makefile.am): Substitute
34936         HAVE_STRUCT_RANDOM_DATA.
34937
34938 2008-10-26  Simon Josefsson  <simon@josefsson.org>
34939
34940         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
34941         * doc/gnulib-intro.texi (Copyright): Likewise.
34942
34943 2008-10-26  Simon Josefsson  <simon@josefsson.org>
34944
34945         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
34946         findings.
34947
34948 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
34949             Bruno Haible  <bruno@clisp.org>
34950
34951         * lib/unistd.in.h: Include <winsock2.h>.
34952         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
34953         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
34954         Provide dummy declarations.
34955         (gethostname): Override.
34956         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
34957         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
34958         gl_PREREQ_SYS_H_WINSOCK2.
34959         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
34960         * doc/posix-functions/gethostname.texi: More details.
34961
34962 2008-10-25  Bruno Haible  <bruno@clisp.org>
34963
34964         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
34965         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
34966         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
34967
34968         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
34969         here ...
34970         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
34971         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
34972         gl_UNISTD_H_DEFAULTS.
34973
34974 2008-10-25  Eric Blake  <ebb9@byu.net>
34975
34976         signbit: avoid spurious compiler failure
34977         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
34978         declarations inside function.
34979
34980 2008-10-24  Simon Josefsson  <simon@josefsson.org>
34981             Bruno Haible  <bruno@clisp.org>
34982
34983         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
34984         * modules/random_r (Depends-on): Add stdint.
34985
34986 2008-10-24  Bruno Haible  <bruno@clisp.org>
34987
34988         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
34989         Eggert.
34990         * modules/strerror (License): Likewise.
34991
34992 2008-10-24  Jim Meyering  <meyering@redhat.com>
34993
34994         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
34995         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
34996
34997 2008-10-24  Eric Blake  <ebb9@byu.net>
34998
34999         getgroups: fix compilation when getgroups is available
35000         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
35001         but with <config.h> override of getgroups disabled.
35002
35003 2008-10-24  Simon Josefsson  <simon@josefsson.org>
35004
35005         * doc/gnulib.texi (Header files): Add note about C++ problems.
35006         Explained by Bruno Haible <bruno@clisp.org>.
35007
35008 2008-10-23  Bruno Haible  <bruno@clisp.org>
35009
35010         Define a dummy SA_NODEFER macro on Interix.
35011         * lib/signal.in.h (SA_NODEFER): Define fallback.
35012         Reported by Aleksey Cheusov <cheusov@tut.by> via
35013         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
35014
35015 2008-10-23  Bruno Haible  <bruno@clisp.org>
35016
35017         * modules/freadahead (License): Change to LGPLv2+.
35018         Suggested by Simon Josefsson.
35019
35020 2008-10-23  Jim Meyering  <meyering@redhat.com>
35021
35022         random_r: new module
35023         * modules/random_r: New file.
35024         * m4/random_r.m4: New file.
35025         * lib/random_r.c: New file, from glibc.
35026         * modules/random_r-tests: New file.
35027         * tests/test-random_r.c: New file.
35028         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
35029          Declare.
35030         (RAND_MAX): Define.
35031         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
35032         * modules/stdlib: Substitute them, too.
35033         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
35034         * doc/glibc-functions/initstate_r.texi: Mention the new module.
35035         * doc/glibc-functions/random_r.texi: Likewise.
35036         * doc/glibc-functions/setstate_r.texi: Likewise.
35037         * doc/glibc-functions/srandom_r.texi: Likewise.
35038         * config/srclist.txt: Mention it.
35039
35040 2008-10-23  David Lutterkort  <lutter@redhat.com>
35041
35042         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
35043         link requirement
35044
35045 2008-10-23  Jim Meyering  <meyering@redhat.com>
35046
35047         selinux-h: mark parameters of stub functions as intentionally unused
35048         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
35049         * lib/se-context.in.h: Likewise.
35050
35051 2008-10-22  Simon Josefsson  <simon@josefsson.org>
35052
35053         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
35054
35055 2008-10-22  Simon Josefsson  <simon@josefsson.org>
35056
35057         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
35058
35059 2008-10-22  Eric Blake  <ebb9@byu.net>
35060
35061         glthread/thread: avoid compiler warning
35062         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
35063         Add unreachable abort to silence compiler.
35064
35065 2008-10-22  Eric Blake  <ebb9@byu.net>
35066
35067         netdb: also supply struct addrinfo for cygwin 1.5.x
35068         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
35069         older cygwin.
35070         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
35071         cygwin.
35072         * doc/posix-headers/netdb.texi (netdb.h): Document this.
35073
35074 2008-10-22  Bruno Haible  <bruno@clisp.org>
35075
35076         * users.txt: Update entry about pspp.
35077
35078 2008-10-21  Bruno Haible  <bruno@clisp.org>
35079
35080         Simplification.
35081         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
35082         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
35083
35084         Simplification.
35085         * lib/ioctl.c (ioctl): Don't undefine.
35086         * lib/socket.c (socket): Don't undefine.
35087
35088         Remove unused module indicator macros.
35089         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
35090         GNULIB_$1 as a C macro.
35091
35092         * doc/posix-functions/close.texi: Undo last change.
35093         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
35094         Windows platforms.
35095
35096 2008-10-21  Bruno Haible  <bruno@clisp.org>
35097
35098         Add gethostname() declaration to <unistd.h>.
35099         * lib/unistd.in.h (gethostname): New declaration.
35100         * lib/gethostname.c: Include <unistd.h>.
35101         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
35102         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
35103         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
35104         and HAVE_GETHOSTNAME.
35105         * modules/gethostname (Depends-on): Add unistd.
35106         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35107         (Include): Specify <unistd.h>.
35108         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
35109         HAVE_GETHOSTNAME.
35110         * tests/test-gethostname.c: Include <unistd.h> first.
35111
35112 2008-10-21  Bruno Haible  <bruno@clisp.org>
35113
35114         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
35115         * modules/select-tests (Depends-on): Likewise.
35116         Reported by Simon Josefsson.
35117
35118 2008-10-21  Simon Josefsson  <simon@josefsson.org>
35119
35120         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
35121         * lib/accept.c: New file, based on winsock.c.
35122         * lib/bind.c: New file, based on winsock.c.
35123         * lib/connect.c: New file, based on winsock.c.
35124         * lib/getpeername.c: New file, based on winsock.c.
35125         * lib/getsockname.c: New file, based on winsock.c.
35126         * lib/getsockopt.c: New file, based on winsock.c.
35127         * lib/ioctl.c: New file, based on winsock.c.
35128         * lib/listen.c: New file, based on winsock.c.
35129         * lib/recv.c: New file, based on winsock.c.
35130         * lib/recvfrom.c: New file, based on winsock.c.
35131         * lib/send.c: New file, based on winsock.c.
35132         * lib/sendto.c: New file, based on winsock.c.
35133         * lib/setsockopt.c: New file, based on winsock.c.
35134         * lib/shutdown.c: New file, based on winsock.c.
35135         * lib/socket.c: New file, based on winsock.c.
35136         * lib/w32sock.h: New file, based on winsock.c.
35137         * lib/winsock.c: Remove file.
35138         * modules/accept: Likewise.
35139         * modules/bind: Likewise.
35140         * modules/connect: Likewise.
35141         * modules/getpeername: Likewise.
35142         * modules/getsockname: Likewise.
35143         * modules/getsockopt: Likewise.
35144         * modules/ioctl: Likewise.
35145         * modules/listen: Likewise.
35146         * modules/recv: Likewise.
35147         * modules/recvfrom: Likewise.
35148         * modules/send: Likewise.
35149         * modules/sendto: Likewise.
35150         * modules/setsockopt: Likewise.
35151         * modules/shutdown: Likewise.
35152         * modules/socket: Use socket.c instead of winsock.c.
35153         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
35154         * doc/posix-functions/accept.texi: Doc fix.
35155         * doc/posix-functions/bind.texi: Doc fix.
35156         * doc/posix-functions/close.texi: Doc fix.
35157         * doc/posix-functions/connect.texi: Doc fix.
35158         * doc/posix-functions/getpeername.texi: Doc fix.
35159         * doc/posix-functions/getsockname.texi: Doc fix.
35160         * doc/posix-functions/getsockopt.texi: Doc fix.
35161         * doc/posix-functions/ioctl.texi: Doc fix.
35162         * doc/posix-functions/listen.texi: Doc fix.
35163         * doc/posix-functions/recv.texi: Doc fix.
35164         * doc/posix-functions/recvfrom.texi: Doc fix.
35165         * doc/posix-functions/send.texi: Doc fix.
35166         * doc/posix-functions/sendto.texi: Doc fix.
35167         * doc/posix-functions/setsockopt.texi: Doc fix.
35168         * doc/posix-functions/shutdown.texi: Doc fix.
35169         * doc/posix-functions/socket.texi: Doc fix.
35170
35171 2008-10-20  Bruno Haible  <bruno@clisp.org>
35172
35173         Take into account the role of SIGABRT_COMPAT on Windows 2008.
35174         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
35175         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
35176         as an alias for SIGABRT.
35177         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
35178         (sigaction): Map it to SIGABRT.
35179         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
35180
35181 2008-10-20  Bruno Haible  <bruno@clisp.org>
35182
35183         * lib/fts.c: Don't include lstat.h.
35184         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
35185
35186         Move the lstat() declaration to <sys/stat.h>.
35187         * lib/lstat.h: Remove file.
35188         * lib/sys_stat.in.h: Add special invocation convention.
35189         (lstat): New declaration.
35190         * lib/lstat.c (orig_lstat): New function.
35191         (rpl_lstat): Use orig_lstat instead of lstat.
35192         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
35193         AC_C_INLINE. Set REPLACE_LSTAT.
35194         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
35195         and REPLACE_LSTAT.
35196         * modules/lstat (Files): Remove lib/lstat.h.
35197         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
35198         (Include): Specify <sys/stat.h> instead of lstat.h.
35199         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
35200         REPLACE_LSTAT.
35201         * NEWS: Mention the change.
35202
35203 2008-10-20  Bruno Haible  <bruno@clisp.org>
35204
35205         * modules/posix_spawn-tests: New file.
35206         * tests/test-posix_spawn3.c: New file.
35207
35208 2008-10-20  Bruno Haible  <bruno@clisp.org>
35209
35210         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
35211         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
35212         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
35213         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
35214         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
35215
35216 2008-10-20  Bruno Haible  <bruno@clisp.org>
35217
35218         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
35219         of posix_spawn on AIX 5.3.
35220
35221 2008-10-20  Bruno Haible  <bruno@clisp.org>
35222
35223         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
35224
35225 2008-10-20  Bruno Haible  <bruno@clisp.org>
35226
35227         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
35228         of AC_LANG_PROGRAM.
35229
35230 2008-10-20  Simon Josefsson  <simon@josefsson.org>
35231
35232         * lib/netdb.in.h: Don't define GNU specific constants until they
35233         are supported or needed.  Reported by Bruno Haible
35234         <bruno@clisp.org>.
35235
35236 2008-10-20  Simon Josefsson  <simon@josefsson.org>
35237
35238         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
35239
35240 2008-10-20  Simon Josefsson  <simon@josefsson.org>
35241
35242         * lib/getaddrinfo.h: Remove file.
35243         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
35244         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
35245         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
35246         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
35247         * modules/netdb: Substitute GNULIB_GETADDRINFO.
35248         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
35249         * tests/test-getaddrinfo.c: Likewise.
35250         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
35251         * NEWS: Mention change.
35252
35253 2008-10-19  Bruno Haible  <bruno@clisp.org>
35254
35255         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
35256
35257 2008-10-19  Bruno Haible  <bruno@clisp.org>
35258
35259         * lib/wait-process.c: Include simply <sys/wait.h>.
35260         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
35261         WIFSTOPPED): Remove fallback definitions.
35262         * modules/wait-process (Depends-on): Add sys_wait.
35263
35264         New module 'sys_wait'.
35265         * modules/sys_wait: New file.
35266         * lib/sys_wait.in.h: New file, partially copied from
35267         lib/wait-process.c.
35268         * m4/sys_wait_h.m4: New file.
35269         * doc/posix-headers/sys_wait.texi: Mention the new module.
35270
35271 2008-10-19  Bruno Haible  <bruno@clisp.org>
35272
35273         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
35274
35275 2008-10-19  Bruno Haible  <bruno@clisp.org>
35276
35277         Assume that waitpid() fills an 'int' status, not a 'union wait'.
35278         * lib/wait-process.c (WAIT_T): Remove type.
35279         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
35280         (wait_subprocess): Update.
35281
35282 2008-10-19  Bruno Haible  <bruno@clisp.org>
35283
35284         New module 'atoll'.
35285         * modules/atoll: New file.
35286         * lib/stdlib.in.h (atoll): New declaration.
35287         * lib/atoll.c: New file, from glibc with modifications.
35288         * m4/atoll.m4: New file.
35289         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
35290         HAVE_ATOLL.
35291         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
35292         * doc/posix-functions/atoll.texi: Mention the new module.
35293
35294 2008-10-19  Bruno Haible  <bruno@clisp.org>
35295
35296         Add strtoull() declaration to <stdlib.h>.
35297         * lib/stdlib.in.h (strtoull): New declaration.
35298         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
35299         Set HAVE_STRTOULL.
35300         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
35301         HAVE_STRTOULL.
35302         * modules/strtoull (Depends-on): Add stdlib.
35303         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35304         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
35305         HAVE_STRTOULL.
35306
35307 2008-10-19  Bruno Haible  <bruno@clisp.org>
35308
35309         Add strtoll() declaration to <stdlib.h>.
35310         * lib/stdlib.in.h (strtoll): New declaration.
35311         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
35312         Set HAVE_STRTOLL.
35313         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
35314         HAVE_STRTOLL.
35315         * modules/strtoll (Depends-on): Add stdlib.
35316         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35317         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
35318
35319 2008-10-19  Bruno Haible  <bruno@clisp.org>
35320
35321         * modules/bcopy (Depends-on): Add strings.
35322         (Include): Specify <strings.h>.
35323
35324 2008-10-19  Bruno Haible  <bruno@clisp.org>
35325
35326         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
35327
35328 2008-10-19  Bruno Haible  <bruno@clisp.org>
35329
35330         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
35331         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
35332         mingw.
35333
35334 2008-10-19  Bruno Haible  <bruno@clisp.org>
35335
35336         * lib/atanl.c: Don't include isnanl.h.
35337         * lib/cosl.c: Likewise.
35338         * lib/ldexpl.c: Likewise.
35339         * lib/logl.c: Likewise.
35340         * lib/sinl.c: Likewise.
35341         * lib/sqrtl.c: Likewise.
35342         * lib/tanl.c: Likewise.
35343
35344         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
35345         * lib/isnanf.h: Remove file.
35346         * lib/isnand.h: Remove file.
35347         * lib/isnanl.h: Remove file.
35348         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
35349         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
35350         macros.
35351         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
35352         HAVE_ISNANF, don't define it as a C macro.
35353         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
35354         HAVE_ISNAND, don't define it as a C macro.
35355         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
35356         HAVE_ISNANL, don't define it as a C macro.
35357         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
35358         HAVE_ISNAN[FDL].
35359         * modules/isnanf (Files): Remove lib/isnanf.h.
35360         (Depends-on): Add math.
35361         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
35362         (Include): Specify <math.h> instead of isnanf.h.
35363         * modules/isnand (Files): Remove lib/isnand.h.
35364         (Depends-on): Add math.
35365         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
35366         (Include): Specify <math.h> instead of isnand.h.
35367         * modules/isnanl (Files): Remove lib/isnanl.h.
35368         (Depends-on): Add math.
35369         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
35370         (Include): Specify <math.h> instead of isnanl.h.
35371         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
35372         HAVE_ISNAN[FDL].
35373         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
35374         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
35375         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
35376         * NEWS: Mention the change.
35377
35378 2008-10-18  Bruno Haible  <bruno@clisp.org>
35379
35380         Add getusershell(), setusershell(), endusershell() declarations to
35381         <unistd.h>.
35382         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
35383         declarations.
35384         * lib/getusershell.c: Include unistd.h.
35385         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
35386         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
35387         HAVE_GETUSERSHELL.
35388         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
35389         and HAVE_GETUSERSHELL.
35390         * modules/getusershell (Depends-on): Add unistd, extensions.
35391         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35392         (Include): Specify <unistd.h>.
35393         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
35394         HAVE_GETUSERSHELL.
35395
35396 2008-10-18  Bruno Haible  <bruno@clisp.org>
35397
35398         Add a getloadavg() declaration to <stdlib.h>.
35399         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
35400         getloadavg declaration.
35401         (getloadavg): New declaration.
35402         * lib/getloadavg.c: Include <stdlib.h> first.
35403         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
35404         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
35405         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
35406         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
35407         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
35408         * modules/getloadavg (Depends-on): Add stdlib, extensions.
35409         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35410         (Include): Specify <stdlib.h>.
35411         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
35412         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
35413
35414 2008-10-18  Bruno Haible  <bruno@clisp.org>
35415
35416         * lib/dirchownmod.c: Don't include lchmod.h.
35417
35418         Move the lchmod() declaration to <sys/stat.h>.
35419         * lib/lchmod.h: Remove file.
35420         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
35421         (lchmod): New declaration, moved here from lib/lchown.h.
35422         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
35423         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
35424         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
35425         and HAVE_LCHMOD.
35426         * modules/lchmod (Files): Remove lib/lchmod.h.
35427         (Depends-on): Add sys_stat, extensions.
35428         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
35429         (Include): Specify <sys/stat.h> instead of lchmod.h.
35430         * modules/sys_stat (Depends-on): Add link-warning.
35431         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
35432         definition of GL_LINK_WARNING.
35433         * NEWS: Mention the change.
35434
35435 2008-10-18  Bruno Haible  <bruno@clisp.org>
35436
35437         * lib/fchdir.c: Don't include dirfd.h.
35438         * lib/fts.c: Likewise.
35439         * lib/getcwd.c: Likewise.
35440         * lib/glob.c: Likewise.
35441
35442         Move the dirfd() declaration to <dirent.h>.
35443         * lib/dirfd.h: Remove file.
35444         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
35445         (dirfd): New declaration.
35446         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
35447         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
35448         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
35449         HAVE_DECL_DIRFD.
35450         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
35451         HAVE_DECL_DIRFD.
35452         * modules/dirfd (Files): Remove lib/dirfd.h.
35453         (Depends-on): Add dirent, extensions.
35454         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
35455         (Include): Specify <dirent.h> instead of dirfd.h.
35456         * modules/dirent (Depends-on): Add link-warning.
35457         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
35458         definition of GL_LINK_WARNING.
35459         * NEWS: Mention the change.
35460
35461 2008-10-18  Bruno Haible  <bruno@clisp.org>
35462
35463         Move the euidaccess() declaration to <unistd.h>.
35464         * lib/euidaccess.h: Remove file.
35465         * lib/unistd.in.h (euidaccess): New declaration.
35466         * lib/euidaccess.c: Don't include euidaccess.h.
35467         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
35468         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
35469         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
35470         and HAVE_EUIDACCESS.
35471         * modules/euidaccess (Files): Remove lib/euidaccess.h.
35472         (Depends-on): Add unistd.
35473         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35474         (Include): Specify <unistd.h> instead of euidaccess.h.
35475         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
35476         HAVE_EUIDACCESS.
35477         * NEWS: Mention the change.
35478
35479 2008-10-18  Bruno Haible  <bruno@clisp.org>
35480
35481         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
35482
35483         Move the getdomainname() declaration to <unistd.h>.
35484         * lib/getdomainname.h: Remove file.
35485         * lib/unistd.in.h (getdomainname): New declaration.
35486         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
35487         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
35488         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
35489         HAVE_GETDOMAINNAME.
35490         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35491         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
35492         * modules/getdomainname (Files): Remove lib/getdomainname.h.
35493         (Depends-on): Add unistd, extensions.
35494         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
35495         (Includes): Specify <unistd.h> instead of getdomainname.h.
35496         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
35497         HAVE_GETDOMAINNAME.
35498         * NEWS: Mention the change.
35499
35500 2008-10-18  Bruno Haible  <bruno@clisp.org>
35501
35502         * modules/dirent: New file.
35503         * m4/dirent_h.m4: New file.
35504         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
35505         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
35506         * modules/fchdir (Files): Remove lib/dirent.in.h.
35507         (Depends-on): Add dirent.
35508         (Makefile.am): Move rules to modules/dirent.
35509         * doc/posix-headers/dirent.texi: Mention the new module.
35510
35511 2008-10-18  Bruno Haible  <bruno@clisp.org>
35512
35513         Avoid -Wunused-parameter warnings in public gnulib header files.
35514         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
35515         macro.
35516         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
35517
35518 2008-10-18  Bruno Haible  <bruno@clisp.org>
35519
35520         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
35521         * doc/glibc-functions/error.texi: Mention the module 'error'.
35522         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
35523         * doc/glibc-functions/getdomainname.texi: Mention the module
35524         'getdomainname'.
35525         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
35526         * doc/glibc-functions/getpagesize.texi: Mention the module
35527         'getpagesize'.
35528         * doc/glibc-functions/getusershell.texi: Mention the module
35529         'getusershell'.
35530         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
35531         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
35532         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
35533         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
35534         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
35535         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
35536         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
35537         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
35538         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
35539         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
35540         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
35541         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
35542         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
35543         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
35544
35545 2008-10-17  Bruno Haible  <bruno@clisp.org>
35546
35547         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
35548         HP-UX and IRIX, use -0.0L.
35549         * tests/test-ceill.c (minus_zero): Likewise.
35550         * tests/test-floorl.c (minus_zero): Likewise.
35551         * tests/test-frexpl.c (minus_zero): Likewise.
35552         * tests/test-isnan.c (minus_zerol): Likewise.
35553         * tests/test-isnanl.h (minus_zero): Likewise.
35554         * tests/test-ldexpl.c (minus_zero): Likewise.
35555         * tests/test-roundl.c (minus_zero): Likewise.
35556         * tests/test-signbit.c (minus_zerol): Likewise.
35557         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
35558         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
35559         * tests/test-truncl.c (minus_zero): Likewise.
35560         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
35561         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
35562         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
35563         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
35564
35565 2008-10-17  Bruno Haible  <bruno@clisp.org>
35566
35567         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
35568         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
35569         that it gets activated only for gcc >= 3.0.
35570         * lib/dirent.in.h: Likewise.
35571         * lib/errno.in.h: Likewise.
35572         * lib/fcntl.in.h: Likewise.
35573         * lib/float.in.h: Likewise.
35574         * lib/iconv.in.h: Likewise.
35575         * lib/inttypes.in.h: Likewise.
35576         * lib/locale.in.h: Likewise.
35577         * lib/math.in.h: Likewise.
35578         * lib/netdb.in.h: Likewise.
35579         * lib/netinet_in.in.h: Likewise.
35580         * lib/search.in.h: Likewise.
35581         * lib/signal.in.h: Likewise.
35582         * lib/spawn.in.h: Likewise.
35583         * lib/stdarg.in.h: Likewise.
35584         * lib/stdint.in.h: Likewise.
35585         * lib/stdio.in.h: Likewise.
35586         * lib/stdlib.in.h: Likewise.
35587         * lib/string.in.h: Likewise.
35588         * lib/strings.in.h: Likewise.
35589         * lib/sys_file.in.h: Likewise.
35590         * lib/sys_ioctl.in.h: Likewise.
35591         * lib/sys_select.in.h: Likewise.
35592         * lib/sys_socket.in.h: Likewise.
35593         * lib/sys_stat.in.h: Likewise.
35594         * lib/sys_time.in.h: Likewise.
35595         * lib/sysexits.in.h: Likewise.
35596         * lib/time.in.h: Likewise.
35597         * lib/unistd.in.h: Likewise.
35598         * lib/wchar.in.h: Likewise.
35599         * lib/wctype.in.h: Likewise.
35600         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
35601
35602 2008-10-17  Jim Meyering  <meyering@redhat.com>
35603
35604         ignore-value: don't depend on inline module
35605         * modules/ignore-value (Depends-on): Remove 'inline'.
35606         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
35607         Suggestion from Bruno Haible.
35608
35609 2008-10-17  Bruno Haible  <bruno@clisp.org>
35610
35611         New implementation of condition variables for Win32.
35612         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
35613         (gl_linked_waitqueue_t): New type.
35614         (gl_cond_t): Use it.
35615         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
35616         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
35617         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
35618         (glthread_cond_init_func, glthread_cond_wait_func,
35619         glthread_cond_timedwait_func, glthread_cond_signal_func,
35620         glthread_cond_broadcast_func, glthread_cond_destroy_func):
35621         Reimplemented on the basis of gl_linked_waitqueue_t.
35622         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
35623         gl_waitqueue_t.
35624         (gl_rwlock_t): Update.
35625         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
35626
35627 2008-10-17  Simon Josefsson  <simon@josefsson.org>
35628
35629         * modules/recvfrom (Depends-on): Add dependency on getpeername.
35630         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
35631
35632 2008-10-17  Jim Meyering  <meyering@redhat.com>
35633
35634         ignore-value: new module
35635         * modules/ignore-value: New file.
35636         * lib/ignore-value.h: New file.
35637         * MODULES.html.sh (Compiler warning management): New section,
35638         just for this module.  More to come.
35639
35640 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
35641
35642         open-safer.c: avoid 'signed and unsigned in conditional...' warning
35643         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
35644         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
35645
35646 2008-10-16  Jim Meyering  <meyering@redhat.com>
35647
35648         openat-die.c: avoid 'no previous prototype' warning
35649         * lib/openat-die.c: Include "openat.h".
35650         Reported by Reuben Thomas <rrt@sc3d.org>.
35651
35652 2008-10-16  Simon Josefsson  <simon@josefsson.org>
35653
35654         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
35655         * lib/netdb.in.h: Fix typo.
35656         Reported by Bruno Haible  <bruno@clisp.org>
35657
35658         * lib/netdb.in.h: Include sys/socket.h for platforms without
35659         netdb.h, to get structures like hostent on MinGW.
35660         * modules/netdb (Depends-on): Add sys_socket.
35661
35662 2008-10-15  Simon Josefsson  <simon@josefsson.org>
35663
35664         * modules/netdb, modules/netdb-tests: New file.
35665         * m4/netdb_h.m4: New file.
35666         * lib/netdb.in.h: Add, currently just an empty file pending
35667         definitions.
35668         * tests/test-netdb.c: New file.
35669         * doc/posix-headers/netdb.texi: Mention that we replace it if
35670         needed.
35671         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
35672         netdb.
35673
35674 2008-10-15  Simon Josefsson  <simon@josefsson.org>
35675
35676         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
35677         with code.
35678
35679 2008-10-13  Bruno Haible  <bruno@clisp.org>
35680
35681         * lib/glthread/cond.c (glthread_cond_wait_func,
35682         glthread_cond_timedwait_func): Add a comment.
35683
35684 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
35685
35686         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
35687         * tests/test-select.c: Likewise,
35688
35689 2008-10-13  Bruno Haible  <bruno@clisp.org>
35690
35691         * lib/glthread/cond.c (glthread_cond_wait_func,
35692         glthread_cond_timedwait_func): Fix variable name.
35693         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
35694
35695 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
35696
35697         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
35698         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
35699         struct sockaddr.sa_len.
35700         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
35701
35702 2008-10-13  Simon Josefsson  <simon@josefsson.org>
35703
35704         * build-aux/pmccabe2html: Add css and css_url parameters.
35705
35706 2008-10-12  Bruno Haible  <bruno@clisp.org>
35707
35708         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
35709         calling aclx_get.
35710         Reported by Rainer Tammer <tammer@tammer.net>.
35711
35712 2008-10-12  Bruno Haible  <bruno@clisp.org>
35713
35714         Use msvcrt aware primitives for creation/termination of Win32 threads.
35715         * lib/glthread/thread.c: Include <process.h>.
35716         (glthread_create_func): Use _beginthreadex instead of CreateThread.
35717         (wrapper_func): Update signature.
35718         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
35719
35720 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
35721             Bruno Haible  <bruno@clisp.org>
35722
35723         Provide a Win32 implementation of the 'cond' module.
35724         * lib/glthread/cond.h [USE_WIN32]: New implementation.
35725         * lib/glthread/cond.c (glthread_cond_init_func,
35726         glthread_cond_wait_func, glthread_cond_timedwait_func,
35727         glthread_cond_signal_func, glthread_cond_broadcast_func,
35728         glthread_cond_destroy_func) [USE_WIN32]: New functions.
35729         * modules/cond (Dependencies): Add gettimeofday.
35730
35731 2008-10-11  Bruno Haible  <bruno@clisp.org>
35732
35733         Make sleep work on older versions of mingw.
35734         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
35735         only whether it exists.
35736         * doc/posix-functions/sleep.texi: Mention the problem with older
35737         versions of mingw.
35738
35739 2008-10-11  Bruno Haible  <bruno@clisp.org>
35740
35741         New module 'shutdown'.
35742         * modules/shutdown: New file.
35743         * lib/sys_socket.in.h (shutdown): New declaration.
35744         * lib/winsock.c (shutdown): New function.
35745         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
35746         GNULIB_SHUTDOWN.
35747         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
35748         * doc/posix-functions/shutdown.texi: Document the new module.
35749
35750 2008-10-11  Jim Meyering  <meyering@redhat.com>
35751
35752         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
35753
35754 2008-10-11  Bruno Haible  <bruno@clisp.org>
35755
35756         New module 'fclose'.
35757         * modules/fclose: New file.
35758         * lib/stdio.in.h (fclose): New declaration.
35759         * lib/fclose.c: New file.
35760         * m4/fclose.m4: New file.
35761         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
35762         REPLACE_FCLOSE.
35763         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
35764         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
35765         REPLACE_FCLOSE.
35766         * modules/close (Depends-on): fclose.
35767         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
35768
35769 2008-10-11  Bruno Haible  <bruno@clisp.org>
35770
35771         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
35772         set errno and don't call _close.
35773
35774 2008-10-10  Bruno Haible  <bruno@clisp.org>
35775
35776         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
35777         ACL, not afterwards. Fixes test failure on Cygwin.
35778
35779 2008-10-09  Ben Pfaff  <blp@gnu.org>
35780
35781         * build-aux/announce-gen: Fix gnulib version related part of usage
35782         message.  Die with a useful error message if no tarballs are
35783         found.
35784
35785 2008-10-10  Jim Meyering  <meyering@redhat.com>
35786
35787         bootstrap: use git's --depth=N option only if it's supported
35788         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
35789         recognize the --depth option.  Reported by Pádraig Brady.
35790
35791 2008-10-09  Bruno Haible  <bruno@clisp.org>
35792
35793         New module 'ioctl'.
35794         * modules/ioctl: New file.
35795         * lib/sys_socket.in.h (ioctl): Remove declaration.
35796         * lib/winsock.c: Include <sys/ioctl.h>.
35797         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
35798         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
35799         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
35800         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
35801         * doc/posix-functions/ioctl.texi: Mention the new module.
35802
35803 2008-10-09  Bruno Haible  <bruno@clisp.org>
35804
35805         New module 'sys_ioctl'.
35806         * lib/sys_ioctl.in.h: New file.
35807         * m4/sys_ioctl_h.m4: New file.
35808         * modules/sys_ioctl: New file.
35809         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
35810
35811 2008-10-09  Bruno Haible  <bruno@clisp.org>
35812
35813         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
35814         * lib/winsock.c: Include <stdarg.h>.
35815         (rpl_ioctl): Change to second argument 'int' and then varargs.
35816
35817 2008-10-09  Bruno Haible  <bruno@clisp.org>
35818
35819         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
35820         when the sys_socket module is present and the system has <winsock2.h>.
35821
35822 2008-10-09  Bruno Haible  <bruno@clisp.org>
35823
35824         * doc/posix-functions/close.texi: Mention module 'close' instead of
35825         module 'sys_socket'.
35826
35827 2008-10-09  Bruno Haible  <bruno@clisp.org>
35828
35829         * doc/glibc-headers/sys_ioctl.texi: New file.
35830         * doc/gnulib.texi: Include it.
35831
35832 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
35833             Bruno Haible  <bruno@clisp.org>
35834
35835         Combine the two replacements of 'close'.
35836         * lib/sys_socket.in.h (close): Define to a reminder to include
35837         <unistd.h>.
35838         (_gl_close_fd_maybe_socket): New declaration.
35839         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
35840         * lib/winsock.c (close): Remove undefinition.
35841         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
35842         needed for the gnulib module 'close'.
35843         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
35844         define to an error symbol or to a warning, if suitable.
35845         * lib/close.c: Include <sys/socket.h>.
35846         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
35847         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
35848         UNISTD_H_HAVE_WINSOCK2_H.
35849         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
35850         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35851         UNISTD_H_HAVE_WINSOCK2_H.
35852         * modules/sys_socket (Files): Add m4/unistd_h.m4.
35853         (configure.ac): Set a module indicator.
35854         (Makefile.am): Substitute GNULIB_CLOSE.
35855         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
35856         * modules/poll-tests (Depends-on): Add close.
35857         * modules/select-tests (Depends-on): Likewise.
35858
35859 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
35860             Bruno Haible  <bruno@clisp.org>
35861
35862         New module 'close'.
35863         * modules/close: New file.
35864         * lib/unistd.in.h (close): Move declaration out of the
35865         FCHDIR_REPLACEMENT scope.
35866         (_gl_unregister_fd): New declaration.
35867         * lib/close.c: New file.
35868         * lib/fchdir.c (rpl_close): Remove function.
35869         * m4/close.m4: New file.
35870         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
35871         close.
35872         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
35873         REPLACE_CLOSE.
35874         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
35875         REPLACE_CLOSE.
35876         * modules/fchdir (Depends-on): Add close.
35877
35878 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
35879             Bruno Haible  <bruno@clisp.org>
35880
35881         * lib/fcntl.in.h (open): Simplify conditionals.
35882         (_gl_register_fd): New declaration.
35883         * lib/fchdir.c (rpl_open): Remove function.
35884         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
35885         also.
35886         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
35887         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
35888         open.
35889
35890 2008-10-09  Jim Meyering  <meyering@redhat.com>
35891
35892         GNUmakefile: use the more name-space-friendly "_version"
35893         * top/GNUmakefile (_dummy): Update.
35894         (_version): Rename from "version".
35895
35896 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
35897             Bruno Haible  <bruno@clisp.org>
35898
35899         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
35900         rpl_close.
35901         (_gl_register_fd): New function, extracted from rpl_open.
35902         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
35903         (rpl_open, rpl_opendir): Use _gl_register_fd.
35904
35905 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
35906
35907         Fix organization of 'open' replacement.
35908         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
35909         (gl_FUNC_OPEN): Use it.
35910         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
35911
35912 2008-10-08  Bruno Haible  <bruno@clisp.org>
35913
35914         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
35915
35916 2008-10-08  Simon Josefsson  <simon@josefsson.org>
35917
35918         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
35919         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
35920         listen).
35921
35922 2008-10-08  Eric Blake  <ebb9@byu.net>
35923
35924         GNUmakefile: add 'make version' target
35925         * top/GNUmakefile (_curr-ver): Split version update rules...
35926         (version): ...into a target.
35927
35928 2008-10-07  Bruno Haible  <bruno@clisp.org>
35929
35930         Use a more portable replacement expression for -0.0L.
35931         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
35932         instead of -0.0L. Fix m4 quotation.
35933
35934         * tests/test-signbit.c: Include <float.h>.
35935         (minus_zero): New variable.
35936         (test_signbitl): Use minus_zero instead of -zero.
35937         * modules/signbit-tests (Depends-on): Add float.
35938
35939         * tests/test-ceill.c: Include <float.h>.
35940         (zero): Remove variable.
35941         (minus_zero): New variable.
35942         (main): Use minus_zero instead of -zero.
35943         * modules/ceill-tests (Depends-on): Add float.
35944
35945         * tests/test-floorl.c: Include <float.h>.
35946         (zero): Remove variable.
35947         (minus_zero): New variable.
35948         (main): Use minus_zero instead of -zero.
35949         * modules/floorl-tests (Depends-on): Add float.
35950
35951         * tests/test-roundl.c: Include <float.h>.
35952         (zero): Remove variable.
35953         (minus_zero): New variable.
35954         (main): Use minus_zero instead of -zero.
35955         * modules/roundl-tests (Depends-on): Add float.
35956
35957         * tests/test-truncl.c: Include <float.h>.
35958         (zero): Remove variable.
35959         (minus_zero): New variable.
35960         (main): Use minus_zero instead of -zero.
35961         * modules/truncl-tests (Depends-on): Add float.
35962
35963         * tests/test-frexpl.c (zero): Remove variable.
35964         (minus_zero): New variable.
35965         (main): Use minus_zero instead of -zero.
35966         * modules/frexpl-tests (Depends-on): Add float.
35967
35968         * tests/test-isnan.c (zerol): Remove variable.
35969         (minus_zerol): New variable.
35970         (test_long_double): Use minus_zerol instead of -zerol.
35971         * modules/isnan-tests (Depends-on): Add float.
35972
35973         * tests/test-isnanl.h (zero): Remove variable.
35974         (minus_zero): New variable.
35975         (main): Use minus_zero instead of -zero.
35976         * modules/isnanl-nolibm-tests (Depends-on): Add float.
35977         * modules/isnanl-tests (Depends-on): Add float.
35978
35979         * tests/test-ldexpl.c (zero): Remove variable.
35980         (minus_zero): New variable.
35981         (main): Use minus_zero instead of -zero.
35982         * modules/ldexpl-tests (Depends-on): Add float.
35983
35984         * tests/test-snprintf-posix.h (zerol): Remove variable.
35985         (minus_zerol): New variable.
35986         (test_function): Use minus_zerol instead of -zerol.
35987         * modules/snprintf-posix-tests (Depends-on): Add float.
35988         * modules/vsnprintf-posix-tests (Depends-on): Add float.
35989
35990         * tests/test-sprintf-posix.h (zerol): Remove variable.
35991         (minus_zerol): New variable.
35992         (test_function): Use minus_zerol instead of -zerol.
35993         * modules/sprintf-posix-tests (Depends-on): Add float.
35994         * modules/vsprintf-posix-tests (Depends-on): Add float.
35995
35996         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
35997         (minus_zerol): New variable.
35998         (test_function): Use minus_zerol instead of -zerol.
35999         * modules/vasnprintf-posix-tests (Depends-on): Add float.
36000
36001         * tests/test-vasprintf-posix.c (zerol): Remove variable.
36002         (minus_zerol): New variable.
36003         (test_function): Use minus_zerol instead of -zerol.
36004         * modules/vasprintf-posix-tests (Depends-on): Add float.
36005
36006 2008-10-07  Simon Josefsson  <simon@josefsson.org>
36007
36008         * MODULES.html.sh (Support for building documentation): Mention
36009         pmccabe2html.  Sort entries.
36010
36011         Add pmccabe2html module, from gnupdf.
36012         * build-aux/pmccabe.css: New file.
36013         * build-aux/pmccabe2html: New file.
36014         * m4/pmccabe2html.m4: New file.
36015         * modules/pmccabe2html: New file.
36016
36017 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
36018
36019         flock: new module
36020         * MODULES.html.sh: Add to list of modules.
36021         * lib/flock.c: flock implementation for Windows and Unix systems
36022         which have fcntl.
36023         * doc/glibc-functions/flock.texi: Update documentation.
36024         * lib/sys_file.in.h: <sys/file.h> header file.
36025         * m4/flock.m4: M4 macros.
36026         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
36027         * modules/flock: flock module.
36028         * modules/flock-tests: flock tests module.
36029         * modules/sys_file: sys/file.h module.
36030         * tests/test-flock.c: test suite for flock.
36031
36032 2008-10-06  Jim Meyering  <meyering@redhat.com>
36033
36034         bootstrap: check for LT_INIT more portably still ;-)
36035         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
36036         Spotted by Bruno Haible.
36037
36038 2008-10-06  Eric Blake  <ebb9@byu.net>
36039
36040         test-signbit: avoid tripping Irix cc bug on -0.0L
36041         * tests/test-signbit.c (minus_zerol): Delete, and replace with
36042         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
36043         entire testsuite consistent and avoids an Irix 6.2 bug.
36044
36045 2008-10-05  Bruno Haible  <bruno@clisp.org>
36046             Jim Meyering  <jim@meyering.net>
36047
36048         Add an option for ignoring EPIPE during close_stdout.
36049         * lib/closeout.h: Include <stdbool.h>.
36050         (close_stdout_set_ignore_EPIPE): New declaration.
36051         * lib/closeout.c: Include <stdbool.h>.
36052         (ignore_EPIPE): New variable.
36053         (close_stdout_set_ignore_EPIPE): New function.
36054         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
36055         * lib/close-stream.c (close_stream): Mention the possible EPIPE
36056         failure.
36057         * modules/closeout (Depends-on): Add stdbool.
36058
36059 2008-10-05  Bruno Haible  <bruno@clisp.org>
36060
36061         * modules/accept: New file.
36062         * modules/bind: New file.
36063         * modules/connect: New file.
36064         * modules/getpeername: New file.
36065         * modules/getsockname: New file.
36066         * modules/getsockopt: New file.
36067         * modules/listen: New file.
36068         * modules/recv: New file.
36069         * modules/recvfrom: New file.
36070         * modules/send: New file.
36071         * modules/sendto: New file.
36072         * modules/setsockopt: New file.
36073         * modules/socket: New file.
36074         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
36075         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
36076         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
36077         the particular module is requested. Add a link warning when the
36078         particular module is not requested.
36079         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
36080         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
36081         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
36082         the particular module is requested.
36083         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
36084         gl_SYS_SOCKET_H_DEFAULTS): New macros.
36085         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
36086         * modules/sys_socket (Depends-on): Add link-warning.
36087         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
36088         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
36089         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
36090         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
36091         GL_LINK_WARNING.
36092         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
36093         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
36094         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
36095         * doc/posix-functions/getpeername.texi: Mention the new module
36096         'getpeername'.
36097         * doc/posix-functions/getsockname.texi: Mention the new module
36098         'getsockname'.
36099         * doc/posix-functions/getsockopt.texi: Mention the new module
36100         'getsockopt'.
36101         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
36102         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
36103         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
36104         * doc/posix-functions/send.texi: Mention the new module 'send'.
36105         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
36106         * doc/posix-functions/setsockopt.texi: Mention the new module
36107         'setsockopt'.
36108         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
36109         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
36110         listen, connect, accept.
36111         * modules/select-tests (Depends-on): Likewise.
36112
36113 2008-10-05  Bruno Haible  <bruno@clisp.org>
36114
36115         * lib/winsock.c (strerror): Remove unused #undef.
36116         (rpl_close): Remove unused local variable.
36117
36118         * modules/sys_socket (Depends-on); Add errno.
36119
36120 2008-10-05  Bruno Haible  <bruno@clisp.org>
36121
36122         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
36123         (select): Add a link warning when the 'select' module is not used.
36124         * modules/sys_select (Depends-on): Add link-warning.
36125         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
36126         Suggested by Paolo Bonzini.
36127
36128 2008-10-05  Jim Meyering  <meyering@redhat.com>
36129
36130         bootstrap: check for LT_INIT more portably
36131         * build-aux/bootstrap: Avoid using grep -E, since it's not
36132         portable enough.  Suggestion from Bruno Haible.
36133
36134 2008-10-05  Bruno Haible  <bruno@clisp.org>
36135
36136         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
36137         as being fixed by gnulib.
36138
36139 2008-10-05  Bruno Haible  <bruno@clisp.org>
36140
36141         * modules/select-tests: New file, mostly copied from
36142         modules/sys_select-tests.
36143         * tests/test-select.c: New file, mostly copied from
36144         tests/test-sys_select.c.
36145         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
36146         * modules/sys_select-tests (Depends-on): Remove all dependencies.
36147         (Makefile.am): Remove test_sys_select_LDADD.
36148
36149         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
36150         to an undefined symbol, for an error message.
36151         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
36152         (gl_SYS_SELECT_H_DEFAULTS): New macro.
36153         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
36154         winsock-select.c here.
36155         * modules/sys_select (Files): Remove lib/winsock-select.c.
36156         (Depends-on): Remove alloca.
36157         (Makefile.am): Substitute GNULIB_SELECT.
36158         * modules/select: New file.
36159         * doc/posix-functions/select.texi: Update.
36160
36161 2008-10-05  Bruno Haible  <bruno@clisp.org>
36162
36163         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
36164         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
36165         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
36166         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
36167         getdtablesize.
36168         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
36169         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
36170
36171 2008-10-05  Bruno Haible  <bruno@clisp.org>
36172
36173         * modules/getdtablesize-tests: New file.
36174         * tests/test-getdtablesize.c: New file.
36175
36176         New module 'getdtablesize'.
36177         * lib/unistd.in.h (getdtablesize): New declaration.
36178         * lib/getdtablesize.c: New file.
36179         * m4/getdtablesize.m4: New file.
36180         * modules/getdtablesize: New file.
36181         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36182         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
36183         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
36184         HAVE_GETDTABLESIZE.
36185         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
36186
36187 2008-10-05  Bruno Haible  <bruno@clisp.org>
36188
36189         * modules/sched (Makefile.am): Fix typo.
36190         Reported by Simon Josefsson.
36191
36192 2008-10-05  Jim Meyering  <meyering@redhat.com>
36193
36194         bootstrap: check for LT_INIT, too
36195         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
36196         are deprecated.  Suggestion from Ralf Wildenhues.
36197
36198 2008-10-05  Bruno Haible  <bruno@clisp.org>
36199
36200         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
36201         overriding them by ours.
36202         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
36203
36204 2008-10-05  Jim Meyering  <meyering@redhat.com>
36205
36206         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
36207         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
36208         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
36209
36210 2008-10-04  Bruno Haible  <bruno@clisp.org>
36211
36212         * modules/dup2 (License): Change to LGPLv2+.
36213         * modules/sleep (License): Likewise.
36214         * modules/perror (License): Likewise.
36215         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
36216         Blake.
36217         * modules/signal (License): Likewise.
36218         * modules/sigprocmask (License): Likewise.
36219         * modules/raise (License): Change to LGPLv2+, with approval by Jim
36220         Meyering.
36221
36222 2008-10-04  Bruno Haible  <bruno@clisp.org>
36223
36224         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
36225         Reported by Rainer Tammer <tammer@tammer.net>.
36226
36227 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
36228             Bruno Haible  <bruno@clisp.org>
36229
36230         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
36231         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
36232         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
36233
36234 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
36235
36236         filevercmp: new module
36237         * lib/filevercmp.h: New function filevercmp comparing version strings.
36238         * lib/filevercmp.c: Implementation of filevercmp function.
36239         * modules/filevercmp: Module metadata.
36240         * tests/test-filevercmp.c: Unit test for new module.
36241         * modules/filevercmp-tests: Unit test metadata.
36242         * MODULES.html.sh: Add filevercmp module.
36243
36244 2008-10-03  Bruno Haible  <bruno@clisp.org>
36245
36246         * lib/c-ctype.h: Add comment.
36247         Reported by Jim Meyering.
36248
36249 2008-10-02  Bruno Haible  <bruno@clisp.org>
36250
36251         * modules/posix_spawn-internal (Depends-on): Add 'open'.
36252
36253 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
36254
36255         * build-aux/bootstrap: Allow renaming bootstrap, and change the
36256         name of bootstrap.conf accordingly.
36257
36258 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
36259
36260         * build-aux/bootstrap: Install git-merge-changelog configuration
36261         items into .gitconfig if needed.
36262
36263 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
36264
36265         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
36266         git repository, and initialize/update it accordingly.
36267
36268 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
36269
36270         * modules/fsync-tests: New file.
36271         * tests/test-fsync.c: New file.
36272
36273         New module 'fsync'.
36274         * lib/fsync.c: New file.
36275         * m4/fsync.m4: New file.
36276         * modules/fsync: New file.
36277         * lib/unistd.in.h (fsync): New declaration.
36278         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
36279         GNULIB_FSYNC and HAVE_FSYNC.
36280         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
36281         * MODULES.html.sh (posix_functions): Add fsync.
36282         * doc/posix-functions/fsync.texi: Mention the new module.
36283
36284 2008-10-02  Jim Meyering  <meyering@redhat.com>
36285
36286         fts.c: sync with similar code from coreutils' remove.c
36287         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
36288         Guard also with "#if defined __linux__", since for now at least,
36289         this code is Linux-kernel-specific.
36290
36291 2008-10-02  Jim Meyering  <meyering@redhat.com>
36292
36293         fts: bug fixes
36294         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
36295         Include <sys/vfs.h>, not <sys/statfs.h>.
36296
36297         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
36298         Include <sys/vfs.h>, not <sys/statfs.h>.
36299
36300 2008-10-01  Bruno Haible  <bruno@clisp.org>
36301
36302         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
36303         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
36304         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
36305         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
36306         * doc/posix-functions/posix_spawnp.texi: Likewise.
36307         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
36308         whether posix_spawn actually works.
36309         * m4/pipe.m4 (gl_PIPE): Likewise.
36310         * modules/execute (Files): Add m4/posix_spawn.m4.
36311         * modules/pipe (Files): Add m4/posix_spawn.m4.
36312         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
36313
36314 2008-10-01  Jim Meyering  <meyering@redhat.com>
36315
36316         remove trailing spaces
36317         * NEWS: Likewise.
36318         * lib/poll.c (poll): Likewise.
36319         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
36320         * lib/winsock.c (rpl_close): Likewise.
36321         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
36322         * modules/yield: Likewise.
36323         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
36324         * tests/test-sys_select.c (connect_to_socket): Likewise.
36325
36326         fts.c: adjust a new interface to be more generally useful
36327         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
36328         (fts_build): Adjust caller.
36329
36330 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36331
36332         * modules/cond-tests: New file.
36333         * tests/test-cond.c: New file.
36334
36335 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36336             Bruno Haible  <bruno@clisp.org>
36337
36338         * modules/cond (Dependencies): Add errno, time.
36339         * lib/glthread/cond.h: Include <time.h>.
36340         (gl_cond_define, gl_cond_define_initialized): Use the same definition
36341         across platforms.
36342
36343 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36344             Bruno Haible  <bruno@clisp.org>
36345
36346         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
36347
36348 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36349             Bruno Haible  <bruno@clisp.org>
36350
36351         * modules/tls-tests (Depends-on): Add thread, yield.
36352         (configure.ac): Remove all checks.
36353         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
36354         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
36355         gl_thread_self): Remove definitions. Include glthread/thread.h and
36356         glthread/yield.h instead.
36357         (test_tls): Pass an additional NULL argument to gl_thread_join.
36358
36359 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36360             Bruno Haible  <bruno@clisp.org>
36361
36362         * modules/lock-tests (Depends-on): Add thread, yield.
36363         (configure.ac): Remove all checks.
36364         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
36365         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
36366         gl_thread_self): Remove definitions. Include glthread/thread.h and
36367         glthread/yield.h instead.
36368         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
36369         additional NULL argument to gl_thread_join.
36370
36371 2008-09-30  Bruno Haible  <bruno@clisp.org>
36372
36373         Fix the Win32 implementation of the 'thread' module.
36374         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
36375         pointer type.
36376         (gl_thread_self): Invoke gl_thread_self_func.
36377         (gl_thread_self_func): New declaration.
36378         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
36379         (do_init_self_key, init_self_key): New functions.
36380         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
36381         Remove some fields.
36382         (running_threads, running_lock): Remove variables.
36383         (get_current_thread_handle): New function.
36384         (gl_thread_self_func, wrapper_func, glthread_create_func,
36385         glthread_join_func, gl_thread_exit_func): Largely rewritten and
36386         simplified.
36387
36388 2008-09-30  Bruno Haible  <bruno@clisp.org>
36389
36390         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
36391         files.
36392
36393 2008-09-30  Jim Meyering  <meyering@redhat.com>
36394
36395         fts.m4: correct the test for statfs.f_type
36396         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
36397         when checking for statfs.f_type.
36398
36399 2008-09-15  Simon Josefsson  <simon@josefsson.org>
36400
36401         tests: avoid some compiler warnings
36402         * tests/test-memchr.c (main): Pass NULL indirectly.
36403         * tests/test-getdate.c (main): Remove unused variable 'ret'.
36404
36405 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
36406
36407         getdate.y: disallow countable dayshifts like "4 yesterday ago"
36408         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
36409         exactly specified dayshifts.
36410         (dayshift): New rule.
36411         (rel): Add dayshift.
36412         (relative_time_table) [tomorrow, yesterday, today, now]:
36413         Use tDAY_SHIFT in place of tDAY_UNIT.
36414         * tests/test-getdate.c: Add tests for now-disallowed countable
36415         dayshifts, e.g., "4 yesterday ago".
36416
36417 2008-09-29  Bruno Haible  <bruno@clisp.org>
36418
36419         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
36420         * tests/test-posix_spawn1.in.sh: Renamed from
36421         tests/test-posix_spawn.in.sh.
36422         * tests/test-posix_spawn2.c: New file.
36423         * tests/test-posix_spawn2.in.sh: New file.
36424         * modules/posix_spawnp-tests (Files): Update.
36425         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
36426
36427 2008-09-29  Bruno Haible  <bruno@clisp.org>
36428
36429         Propagate effects of putenv/setenv/unsetenv to child processes.
36430         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
36431         * lib/pipe.c (create_pipe): Likewise.
36432
36433 2008-09-29  Bruno Haible  <bruno@clisp.org>
36434
36435         Enable use of shell scripts as executables in mingw.
36436         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
36437         run the program as a shell script.
36438         * lib/pipe.c (create_pipe): Likewise.
36439         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
36440         resulting array.
36441
36442 2008-09-29  Eric Blake  <ebb9@byu.net>
36443
36444         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
36445
36446 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
36447
36448         * doc/posix-functions/accept.texi: Update mingw problems.
36449         * doc/posix-functions/bind.texi: Update mingw problems.
36450         * doc/posix-functions/close.texi: Update mingw problems.
36451         * doc/posix-functions/connect.texi: Update mingw problems.
36452         * doc/posix-functions/getpeername.texi: Update mingw problems.
36453         * doc/posix-functions/getsockname.texi: Update mingw problems.
36454         * doc/posix-functions/getsockopt.texi: Update mingw problems.
36455         * doc/posix-functions/ioctl.texi: Update mingw problems.
36456         * doc/posix-functions/listen.texi: Update mingw problems.
36457         * doc/posix-functions/recv.texi: Update mingw problems.
36458         * doc/posix-functions/recvfrom.texi: Update mingw problems.
36459         * doc/posix-functions/select.texi: Update mingw problems.
36460         * doc/posix-functions/send.texi: Update mingw problems.
36461         * doc/posix-functions/sendto.texi: Update mingw problems.
36462         * doc/posix-functions/setsockopt.texi: Update mingw problems.
36463         * doc/posix-functions/socket.texi: Update mingw problems.
36464
36465 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
36466             Bruno Haible  <bruno@clisp.org>
36467
36468         * lib/sys_select.in.h: Include sys/time.h.
36469         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
36470         * modules/sys_select: Depend on sys_time.
36471         * tests/test-sys_select.c: Test that sys/select.h defines struct
36472         timeval fully.
36473
36474 2008-09-29  Bruno Haible  <bruno@clisp.org>
36475
36476         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
36477         * lib/sys_select.in.h: Likewise.
36478
36479 2008-09-29  Bruno Haible  <bruno@clisp.org>
36480
36481         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
36482
36483 2008-09-29  Bruno Haible  <bruno@clisp.org>
36484
36485         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
36486         Set LIBSOCKET instead of augmenting LIBS.
36487         * modules/sockets (Link): New section.
36488         * modules/sockets-tests (test_sockets_LDADD): New variable.
36489         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
36490         * modules/poll-tests (test_poll_LDADD): New variable.
36491         * NEWS: Document the change.
36492
36493 2008-09-29  Bruno Haible  <bruno@clisp.org>
36494
36495         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
36496         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
36497         ARPA_INET_H directly.
36498         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
36499
36500 2008-09-28  Bruno Haible  <bruno@clisp.org>
36501
36502         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
36503         from gl_HEADER_SYS_SOCKET.
36504         (gl_HEADER_SYS_SOCKET): Invoke it.
36505         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
36506
36507 2008-09-28  Bruno Haible  <bruno@clisp.org>
36508
36509         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
36510         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
36511         Needed on OSF/1 4.0.
36512
36513 2008-09-28  Bruno Haible  <bruno@clisp.org>
36514
36515         Override open more carefully.
36516         * lib/open.c (orig_open): New function.
36517         (rpl_open): Use orig_open instead of open.
36518         * lib/fcntl.in.h: Add special invocation convention.
36519         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
36520         (gl_FUNC_OPEN): Invoke it.
36521
36522         Override freopen more carefully.
36523         * lib/freopen.c (orig_freopen): New function.
36524         (rpl_freopen): Use orig_freopen instead of freopen.
36525         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
36526         (gl_FUNC_FREOPEN): Invoke it.
36527
36528         Override fopen more carefully.
36529         * lib/fopen.c (orig_fopen): New function.
36530         (rpl_fopen): Use orig_fopen instead of fopen.
36531         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
36532         (gl_FUNC_FOPEN): Invoke it.
36533         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
36534
36535 2008-09-28  Bruno Haible  <bruno@clisp.org>
36536
36537         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
36538         SIGPIPE.
36539
36540 2008-09-28  Bruno Haible  <bruno@clisp.org>
36541
36542         * tests/test-sigaction.c (handler, main): Disable the check whether
36543         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
36544         glibc systems with LinuxThreads.
36545
36546 2008-09-28  Bruno Haible  <bruno@clisp.org>
36547
36548         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
36549
36550         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
36551         with AIX xlc.
36552         * lib/fcntl.in.h (open): Likewise.
36553         Reported by Rainer Tammer <tammer@tammer.net>.
36554
36555 2008-09-28  Bruno Haible  <bruno@clisp.org>
36556
36557         * modules/posix_spawnp-tests: New file.
36558         * tests/test-posix_spawn.c: New file.
36559         * tests/test-posix_spawn.in.sh: New file.
36560
36561         New module 'posix_spawnp'.
36562         * modules/posix_spawnp: New file.
36563         * lib/spawnp.c: New file, from GNU libc with modifications.
36564         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
36565
36566         New module 'posix_spawn'.
36567         * modules/posix_spawn: New file.
36568         * lib/spawn.c: New file, from GNU libc with modifications.
36569         * doc/posix-functions/posix_spawn.texi: Mention the new module.
36570
36571         New module 'posix_spawnattr_destroy'.
36572         * modules/posix_spawnattr_destroy: New file.
36573         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
36574         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
36575         module.
36576
36577         New module 'posix_spawnattr_setsigmask'.
36578         * modules/posix_spawnattr_setsigmask: New file.
36579         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
36580         modifications.
36581         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
36582         new module.
36583
36584         New module 'posix_spawnattr_getsigmask'.
36585         * modules/posix_spawnattr_getsigmask: New file.
36586         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
36587         modifications.
36588         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
36589         new module.
36590
36591         New module 'posix_spawnattr_setsigdefault'.
36592         * modules/posix_spawnattr_setsigdefault: New file.
36593         * lib/spawnattr_setdefault.c: New file, from GNU libc with
36594         modifications.
36595         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
36596         new module.
36597
36598         New module 'posix_spawnattr_getsigdefault'.
36599         * modules/posix_spawnattr_getsigdefault: New file.
36600         * lib/spawnattr_getdefault.c: New file, from GNU libc with
36601         modifications.
36602         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
36603         new module.
36604
36605         New module 'posix_spawnattr_setschedpolicy'.
36606         * modules/posix_spawnattr_setschedpolicy: New file.
36607         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
36608         modifications.
36609         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
36610         new module.
36611
36612         New module 'posix_spawnattr_getschedpolicy'.
36613         * modules/posix_spawnattr_getschedpolicy: New file.
36614         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
36615         modifications.
36616         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
36617         new module.
36618
36619         New module 'posix_spawnattr_setschedparam'.
36620         * modules/posix_spawnattr_setschedparam: New file.
36621         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
36622         modifications.
36623         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
36624         new module.
36625
36626         New module 'posix_spawnattr_getschedparam'.
36627         * modules/posix_spawnattr_getschedparam: New file.
36628         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
36629         modifications.
36630         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
36631         new module.
36632
36633         New module 'posix_spawnattr_setpgroup'.
36634         * modules/posix_spawnattr_setpgroup: New file.
36635         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
36636         modifications.
36637         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
36638         module.
36639
36640         New module 'posix_spawnattr_getpgroup'.
36641         * modules/posix_spawnattr_getpgroup: New file.
36642         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
36643         modifications.
36644         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
36645         module.
36646
36647         New module 'posix_spawnattr_setflags'.
36648         * modules/posix_spawnattr_setflags: New file.
36649         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
36650         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
36651         module.
36652
36653         New module 'posix_spawnattr_getflags'.
36654         * modules/posix_spawnattr_getflags: New file.
36655         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
36656         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
36657         module.
36658
36659         New module 'posix_spawnattr_init'.
36660         * modules/posix_spawnattr_init: New file.
36661         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
36662         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
36663         module.
36664
36665         New module 'posix_spawn_file_actions_destroy'.
36666         * modules/posix_spawn_file_actions_destroy: New file.
36667         * lib/spawn_faction_destroy.c: New file, from GNU libc with
36668         modifications.
36669         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
36670         the new module.
36671
36672         New module 'posix_spawn_file_actions_addopen'.
36673         * modules/posix_spawn_file_actions_addopen: New file.
36674         * lib/spawn_faction_addopen.c: New file, from GNU libc with
36675         modifications.
36676         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
36677         the new module.
36678
36679         New module 'posix_spawn_file_actions_adddup2'.
36680         * modules/posix_spawn_file_actions_adddup2: New file.
36681         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
36682         modifications.
36683         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
36684         the new module.
36685
36686         New module 'posix_spawn_file_actions_addclose'.
36687         * modules/posix_spawn_file_actions_addclose: New file.
36688         * lib/spawn_faction_addclose.c: New file, from GNU libc with
36689         modifications.
36690         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
36691         the new module.
36692
36693         New module 'posix_spawn_file_actions_init'.
36694         * modules/posix_spawn_file_actions_init: New file.
36695         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
36696         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
36697         new module.
36698
36699         New module 'posix_spawn-internal'.
36700         * modules/posix_spawn-internal: New file.
36701         * lib/spawn_int.h: New file, from GNU libc with modifications.
36702         * lib/spawni.c: New file, from GNU libc with modifications.
36703         * m4/posix_spawn.m4: New file.
36704
36705         New module 'spawn'.
36706         * modules/spawn: New file.
36707         * lib/spawn.in.h: New file, from GNU libc with modifications.
36708         * m4/spawn_h.m4: New file.
36709         * doc/posix-headers/spawn.texi: Mention the new module.
36710
36711 2008-09-28  Bruno Haible  <bruno@clisp.org>
36712
36713         * modules/sched-tests: New file.
36714         * tests/test-sched.c: New file.
36715
36716         New module 'sched'.
36717         * modules/sched: New file.
36718         * lib/sched.in.h: New file.
36719         * m4/sched_h.m4: New file.
36720         * doc/posix-headers/sched.texi: Mention the new module.
36721
36722 2008-09-27  Eric Blake  <ebb9@byu.net>
36723
36724         Fix previous patch, and tweak references to $0.
36725         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
36726         (func_version, func_gnulib_dir): Don't call this program
36727         gnulib-tool.
36728         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
36729         with using $0 in function.
36730         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
36731         (func_fatal_error): Reuse the name the user invoked us with.
36732
36733 2008-09-27  Bruno Haible  <bruno@clisp.org>
36734
36735         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
36736         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
36737         (gl_ICONV_H): Not here.
36738         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
36739         instead of assigning ICONV_H directly.
36740
36741         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
36742         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
36743         WCHAR_H directly.
36744
36745 2008-09-27  Bruno Haible  <bruno@clisp.org>
36746
36747         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
36748         * modules/arpa_inet (Depends-on): Add link-warning.
36749         (Makefile.am): Insert the definition of GL_LINK-WARNING.
36750         * modules/unistd (Makefile.am): Likewise.
36751
36752 2008-09-26  Bruno Haible  <bruno@clisp.org>
36753
36754         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
36755         variables.
36756         (func_version): Essentially copied from gnulib-tool.
36757         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
36758         func_readlink): Copied from gnulib-tool.
36759
36760 2008-09-26  Bruno Haible  <bruno@clisp.org>
36761
36762         * gnulib-tool (func_version): Change directory to $gnulib_dir before
36763         invoking git-version-gen.
36764
36765 2008-09-26  Bruno Haible  <bruno@clisp.org>
36766
36767         * posix-modules: Update to directory names changed on 2008-01-19.
36768         Remove commas in output before splitting into words. No more need to
36769         avoid 'ftruncate' since 2007-02-19.
36770
36771 2008-09-26  Bruno Haible  <bruno@clisp.org>
36772
36773         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
36774
36775 2008-09-26  Bruno Haible  <bruno@clisp.org>
36776
36777         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
36778         * modules/fwriteerror (Depends-on): Add errno.
36779
36780 2008-09-26  Bruno Haible  <bruno@clisp.org>
36781
36782         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
36783         * tests/test-vc-list-files-cvs.sh: Likewise.
36784
36785 2008-09-26  Bruno Haible  <bruno@clisp.org>
36786
36787         * doc/posix-headers/sys_resource.texi: Reorder items.
36788
36789 2008-09-26  Jim Meyering  <meyering@redhat.com>
36790
36791         fts: tweak inode comparison function
36792         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
36793         inode numbers, as documented.
36794
36795         fts: sort dirent entries on inode number before traversing
36796         This avoids a quadratic, seek-related performance penalty when
36797         operating on a directory containing many entries (measurable at 10k;
36798         3.5 hours at 2 million entries with a cold cache) on certain types
36799         of file systems, including ext3 and ext4, but not tmpfs.
36800         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
36801         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
36802         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
36803         (fs_handles_readdir_ordered_dirents_efficiently): New function.
36804         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
36805         (fts_build): Set the stat.st_ino member from D_INO.
36806         If it is likely to be useful, sort dirent entries on inode number.
36807
36808         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
36809         and the struct statfs.f_type member.
36810         * modules/fts (Depends-on): Add d-ino.
36811
36812 2008-09-26  Bruno Haible  <bruno@clisp.org>
36813
36814         * modules/sigpipe-die (Depends-on): Add sigpipe.
36815
36816         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
36817         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
36818         and GNULIB_STDIO_H_SIGPIPE are set.
36819         * lib/stdio-write.c: New file.
36820         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
36821         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
36822         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
36823         REPLACE_STDIO_WRITE_FUNCS.
36824         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
36825         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
36826         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
36827         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
36828         * modules/stdio (Files): Add lib/stdio-write.c.
36829         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
36830         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
36831         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
36832         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
36833         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
36834         REPLACE_FPRINTF_POSIX.
36835         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
36836         REPLACE_PRINTF_POSIX.
36837         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
36838         REPLACE_VFPRINTF_POSIX.
36839         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
36840         REPLACE_VPRINTF_POSIX.
36841         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
36842         SIGPIPE issue.
36843         * doc/posix-functions/fputc.texi: Likewise.
36844         * doc/posix-functions/fputs.texi: Likewise.
36845         * doc/posix-functions/fwrite.texi: Likewise.
36846         * doc/posix-functions/printf.texi: Likewise.
36847         * doc/posix-functions/putc.texi: Likewise.
36848         * doc/posix-functions/putchar.texi: Likewise.
36849         * doc/posix-functions/puts.texi: Likewise.
36850         * doc/posix-functions/vfprintf.texi: Likewise.
36851         * doc/posix-functions/vprintf.texi: Likewise.
36852
36853         * modules/safe-write (Depends-on): Add write.
36854
36855         * modules/sigpipe-tests: New file.
36856         * tests/test-sigpipe.c: New file.
36857         * tests/test-sigpipe.sh: New file.
36858
36859         * modules/write: New file.
36860         * lib/unistd.in.h: Include <sys/types.h>.
36861         (write): New declaration.
36862         * lib/write.c: New file.
36863         * m4/write.m4: New file.
36864         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36865         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
36866         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
36867         GNULIB_WRITE, REPLACE_WRITE.
36868         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
36869         and the SIGPIPE issue.
36870
36871         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
36872         (raise): New declaration.
36873         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
36874         (ext_signal): New function.
36875         (rpl_raise): New function.
36876         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
36877         GNULIB_SIGNAL_H_SIGPIPE.
36878         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
36879         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
36880
36881         * modules/sigpipe: New file.
36882         * m4/sigpipe.m4: New file.
36883
36884 2008-09-25  Derek Price  <derek@ximbiot.com>
36885             Bruno Haible  <bruno@clisp.org>
36886
36887         * gnulib-tool (func_import): Report all license incompatibilities, not
36888         just the first one.
36889
36890 2008-09-25  Bruno Haible  <bruno@clisp.org>
36891
36892         * gnulib-tool (func_import): When computing the edits, consider not
36893         only the Makefile.ams that exist but also those that will be generated.
36894
36895 2008-09-25  Simon Josefsson  <simon@josefsson.org>
36896
36897         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
36898         fixes gnulib-tool --test warning about duplicate dependency.
36899
36900 2008-09-25  Bruno Haible  <bruno@clisp.org>
36901
36902         * gnulib-tool: Don't ask the user to perform edits in the generated
36903         Makefile.ams.
36904         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
36905         apply to the Makefile.am being generated.
36906         (func_emit_tests_Makefile_am): Execute edits that apply to the
36907         Makefile.am being generated.
36908         (func_import): Setup list of Makefile.am edits before emitting the
36909         Makefile.ams, not at the end.
36910         (func_create_testdir): Update.
36911         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
36912
36913 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
36914
36915         * gnulib-tool (func_import): Store the --tests-base option in the
36916         comment in gnulib-cache.m4.
36917
36918 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
36919
36920         * NEWS: Document increased portability that sys_select now provides.
36921
36922         * lib/sys_select.in.h: Install select wrapper.
36923         * lib/sys_socket.in.h: Use more descriptive name when there is no
36924         select wrapper.
36925         * lib/winsock-select.c: New.
36926         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
36927         Require gl_HEADER_SYS_SOCKET.
36928         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
36929         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
36930         * tests/test-sys_select.c: Add functional tests.
36931
36932 2008-09-24  Eric Blake  <ebb9@byu.net>
36933
36934         open, fopen: close fd leak in last patch
36935         * lib/open.c (rpl_open): Close fd before returning error.
36936         * lib/fopen.c (rpl_fopen): Close fd before returning error.
36937         * doc/posix-functions/open.texi (open): Document that Irix also
36938         has the bug.
36939         * doc/posix-functions/fopen.texi (fopen): Likewise.
36940         Reported by Paolo Bonzini.
36941
36942 2008-09-24  Bruno Haible  <bruno@clisp.org>
36943
36944         Ensure that a filename ending in a slash cannot be used to access a
36945         non-directory.
36946         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
36947         to check whether it's really a directory.
36948         * lib/fopen.c: Include fcntl.h, unistd.h.
36949         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
36950         and fdopen().
36951         * modules/fopen (Depends-on): Add unistd.
36952         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
36953         * tests/test-fopen.c (main): Likewise.
36954         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
36955         * doc/posix-functions/fopen.texi: Likewise.
36956         Reported by Eric Blake.
36957
36958 2008-09-23  Eric Blake  <ebb9@byu.net>
36959
36960         c-stack: avoid compiler optimizations when provoking overflow
36961         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
36962         recursion harder to optimize, to ensure a stack overflow occurs.
36963         * tests/test-c-stack.c (recurse): Likewise.
36964         Borrowed from libsigsegv.
36965
36966         c-stack: work around Irix sigaltstack bug
36967         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
36968         whether sigaltstack uses wrong end of stack_t (copied in part from
36969         libsigsegv).
36970         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
36971         Irix bug, without requiring an over-allocation.
36972         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
36973         bug.
36974
36975         fopen: document mingw bug on directories
36976         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
36977         not allowing a stream visiting a directory, even though reading
36978         from such a stream is not portable.
36979
36980 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
36981
36982         * lib/poll.c: Rewrite.
36983         * modules/poll: Depend on alloca.
36984
36985 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
36986
36987         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
36988         instead define prototypes for a full set of wrappers.  Ensure
36989         that Cygwin does not use the compatibility code, which is only
36990         for MinGW.
36991         * lib/winsock.c: New.
36992         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
36993         * modules/sys_socket: Add lib/winsock.c.
36994
36995         * modules/poll-tests: Add errno and perror.
36996         * tests/test-poll.c: Use ioctl, not ioctlsocket.
36997
36998 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
36999
37000         * tests/test-poll.c: Downgrade minimum needed Winsock version.
37001
37002 2008-09-23  Bruno Haible  <bruno@clisp.org>
37003
37004         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
37005         * doc/glibc-functions/*: Likewise.
37006
37007 2008-09-23  Simon Josefsson  <simon@josefsson.org>
37008
37009         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
37010         success.
37011
37012 2008-09-22  Eric Blake  <ebb9@byu.net>
37013             Bruno Haible  <bruno@clisp.org>
37014
37015         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
37016         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
37017         supply %A but mishandle pseudo-NaN.
37018         Reported by Simon Josefsson.
37019
37020 2008-09-21  Bruno Haible  <bruno@clisp.org>
37021
37022         * tests/test-lock.c (main): Tweak skip message.
37023         * tests/test-tls.c (main): Likewise.
37024
37025 2008-09-21  Bruno Haible  <bruno@clisp.org>
37026
37027         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
37028         whether 'struct sigaction' has sa_sigaction here...
37029         (gl_PREREQ_SIG_HANDLER_H): ... not here.
37030         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
37031
37032 2008-09-21  Bruno Haible  <bruno@clisp.org>
37033
37034         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
37035         section.
37036         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
37037         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
37038         the new section.
37039         (Support for obsolete systems lacking POSIX:2001): New section.
37040         (String handling <string.h>): Move strdup to the new section.
37041         Suggested by Simon Josefsson and Paolo Bonzini.
37042
37043 2008-09-21  Bruno Haible  <bruno@clisp.org>
37044
37045         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
37046         exponents in %e and %g results on 'long double'. Needed for mingw's
37047         improved *printf functions.
37048         * tests/test-vasprintf-posix.c (test_function): Likewise.
37049         * tests/test-snprintf-posix.h (test_function): Likewise.
37050         * tests/test-sprintf-posix.h (test_function): Likewise.
37051         Reported by Eric Blake.
37052
37053 2008-09-21  Bruno Haible  <bruno@clisp.org>
37054
37055         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
37056         * tests/test-sprintf-posix.h (test_function): Likewise.
37057
37058 2008-09-21  Bruno Haible  <bruno@clisp.org>
37059
37060         * modules/getpass (Depends-on): Add strdup-posix.
37061
37062         New module 'strdup-posix'.
37063         * modules/strdup-posix: New file.
37064         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
37065         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
37066         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
37067         REPLACE_STRDUP.
37068         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
37069         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
37070         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
37071         strdup-posix.
37072
37073         * modules/strdup (Depends-on): Remove malloc-posix.
37074
37075 2008-09-20  Bruno Haible  <bruno@clisp.org>
37076
37077         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
37078         Wildenhues.
37079
37080 2008-09-20  Bruno Haible  <bruno@clisp.org>
37081
37082         Ensure that wint_t gets defined on IRIX 5.3.
37083         * lib/wchar.in.h (wint_t): Define if not defined by the system.
37084         * lib/wctype.in.h (wint_t): Likewise.
37085         (__wctype_wint_t): Remove type.
37086         (isw*): Use wint_t instead of __wctype_wint_t.
37087         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
37088         * modules/wchar (Files): Add m4/wint_t.m4.
37089         (Makefile.am): Substitute HAVE_WINT_T.
37090         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
37091         * tests/test-wctype.c: Check that wint_t is defined.
37092         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
37093         * doc/posix-headers/wctype.texi: Likewise.
37094         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
37095
37096 2008-09-18  Bruno Haible  <bruno@clisp.org>
37097
37098         * gnulib-tool (func_exit): Update comment.
37099
37100 2008-09-18  Simon Josefsson  <simon@josefsson.org>
37101
37102         * modules/getaddrinfo (Depends-on): Remove strdup, this module
37103         assumes strdup exists and does not depend on strdup to return
37104         ENOMEM on out of memory conditions.
37105
37106 2008-09-18  Bruno Haible  <bruno@clisp.org>
37107
37108         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
37109         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
37110         digits for the exponent.
37111
37112 2008-09-18  Jim Meyering  <meyering@redhat.com>
37113             Bruno Haible  <bruno@clisp.org>
37114
37115         * lib/vasnprintf.c (decimal_point_char): Define also if
37116         NEED_PRINTF_INFINITE_LONG_DOUBLE.
37117
37118 2008-09-16  Bruno Haible  <bruno@clisp.org>
37119         and Eric Blake  <ebb9@byu.net>
37120
37121         vasnprintf: support Irix 5.3
37122         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
37123         that mishandle long double infinity.
37124         Reported by Tom G. Christensen.
37125
37126 2008-09-16  Bruno Haible  <bruno@clisp.org>
37127
37128         * doc/glibc-functions/scandir.texi: Mention the function is missing on
37129         Solaris 9.
37130         * doc/glibc-functions/alphasort.texi: Likewise.
37131         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
37132
37133 2008-09-16  Jim Meyering  <meyering@redhat.com>
37134
37135         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
37136         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
37137         a umask modification leak out of a subshell.  Otherwise, the
37138         opensolaris /bin/sh would be accepted and thus cause unwarranted
37139         failures in the coreutils test suite.
37140
37141 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
37142
37143         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
37144         to succeed.
37145
37146 2008-09-16  Jim Meyering  <meyering@redhat.com>
37147
37148         avoid spurious test failure when library is built without ACL support
37149         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
37150         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
37151         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
37152         * tests/test-copy-acl.sh: Likewise.
37153
37154 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37155
37156         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
37157         based on character occurrence counts.
37158
37159 2008-09-15  Eric Blake  <ebb9@byu.net>
37160
37161         tests: avoid some compiler warnings
37162         * tests/test-memchr.c (main): Pass NULL indirectly.
37163         * tests/test-closein.c (main): Avoid unused variable.
37164
37165 2008-09-15  Bruno Haible  <bruno@clisp.org>
37166
37167         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
37168         are missing on OpenBSD 4.0 individually.
37169         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
37170
37171 2008-09-15  Bruno Haible  <bruno@clisp.org>
37172
37173         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
37174         * doc/posix-functions/strerror.texi: Mention also Cygwin.
37175         * doc/posix-functions/perror.texi: Likewise.
37176         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
37177         is missing.
37178         Reported by Eric Blake.
37179
37180         * lib/errno.in.h: Use replacement values >= 2000.
37181         Reported by Eric Blake.
37182
37183 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37184
37185         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
37186         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
37187         limit.
37188         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
37189         compareseq was aborted.
37190
37191 2008-09-14  Bruno Haible  <bruno@clisp.org>
37192
37193         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
37194         yvec_edit_count.
37195         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
37196         (fstrcmp_bounded): Simplify result computation accordingly.
37197
37198 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37199
37200         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
37201         (fstrcmp): Define in terms of fstrcmp_bounded.
37202         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
37203         lower_bound argument.
37204         Return quickly if the result is certainly < lower_bound.
37205         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
37206
37207 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37208
37209         * lib/diffseq.h (EARLY_ABORT): New macro.
37210         (compareseq): Change return type to bool. Return true when EARLY_ABORT
37211         evaluates to true.
37212
37213 2008-09-14  Bruno Haible  <bruno@clisp.org>
37214
37215         * modules/perror-tests: New file.
37216         * tests/test-perror.sh: New file.
37217         * tests/test-perror.c: New file.
37218
37219         New module 'perror'.
37220         * lib/stdio.in.h (perror): New declaration.
37221         * lib/perror.c: New file.
37222         * m4/perror.m4: New file.
37223         * modules/perror: New file.
37224         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
37225         * doc/posix-functions/perror.texi: Mention the perror module.
37226         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
37227         REPLACE_PERROR.
37228         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
37229         REPLACE_PERROR.
37230
37231 2008-09-14  Bruno Haible  <bruno@clisp.org>
37232
37233         * modules/stdio (Makefile.am): Reorder to match the order in
37234         lib/stdio.in.h.
37235         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
37236
37237 2008-09-13  Bruno Haible  <bruno@clisp.org>
37238
37239         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
37240
37241 2008-09-13  Bruno Haible  <bruno@clisp.org>
37242
37243         Extend strerror to cover the added errno values.
37244         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
37245         (rpl_strerror): Provide error messages for the added errno values and
37246         for the WSA* values.
37247         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
37248         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
37249         strerror.
37250         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
37251         * modules/strerror (Depends-on): Add errno.
37252         * doc/posix-functions/strerror.texi: Document the change.
37253         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
37254         and EOVERFLOW.
37255
37256 2008-09-13  Bruno Haible  <bruno@clisp.org>
37257
37258         * modules/EOVERFLOW: Remove file.
37259         * m4/eoverflow.m4: Remove file.
37260         * modules/EOVERFLOW-tests: Remove file.
37261         * tests/test-EOVERFLOW.c: Remove file.
37262         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
37263         * modules/ftell (Depends-on): Likewise.
37264         * modules/getdelim (Depends-on): Likewise.
37265         * modules/getugroups (Depends-on): Likewise.
37266         * modules/poll (Depends-on): Likewise.
37267         * modules/snprintf (Depends-on): Likewise.
37268         * modules/sprintf-posix (Depends-on): Likewise.
37269         * modules/vasnprintf (Depends-on): Likewise.
37270         * modules/vasprintf (Depends-on): Likewise.
37271         * modules/vfprintf-posix (Depends-on): Likewise.
37272         * modules/vsnprintf (Depends-on): Likewise.
37273         * modules/vsprintf-posix (Depends-on): Likewise.
37274         * modules/xvasprintf (Depends-on): Likewise.
37275         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
37276         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
37277         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
37278         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
37279         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
37280         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
37281         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
37282         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
37283         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
37284         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
37285         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
37286         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
37287         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
37288         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
37289         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
37290         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
37291         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
37292         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
37293         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
37294         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
37295         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
37296         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
37297         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
37298         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
37299         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
37300         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
37301         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
37302         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
37303         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
37304         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
37305         * MODULES.html.sh: Remove EOVERFLOW.
37306         * NEWS: Mention the change.
37307
37308 2008-09-13  Bruno Haible  <bruno@clisp.org>
37309
37310         * modules/errno-tests: New file.
37311         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
37312
37313         * lib/errno.in.h: New file.
37314         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
37315         * modules/errno: New file.
37316         * doc/posix-headers/errno.texi: Update documentation.
37317         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
37318
37319 2008-09-13  Bruno Haible  <bruno@clisp.org>
37320
37321         * tests/test-poll.c: Use #if for native Windows, rather than testing
37322         __MSVCRT__.
37323
37324 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37325             Bruno Haible  <bruno@clisp.org>
37326
37327         * lib/glob.c: Don't include <pwd.h> on native Windows.
37328         (WINDOWS32): New macro.
37329         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
37330
37331 2008-09-13  Bruno Haible  <bruno@clisp.org>
37332
37333         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
37334         (ETIMEDOUT): Remove macro.
37335         (glthread_cond_timedwait_multithreaded): New declaration.
37336         (glthread_cond_timedwait): Use it.
37337         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
37338         (glthread_cond_timedwait_multithreaded): New function.
37339
37340 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
37341
37342         * modules/poll-tests: Do not check for io.h.
37343         * tests/test-poll.c: Check for __MSVCRT__ instead.
37344
37345 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
37346
37347         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
37348         * modules/poll-tests: Add inet_pton, stdbool, sockets.
37349         * tests/test-poll.c: Use them.  Use _pipe on Windows.
37350
37351 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
37352
37353         * modules/poll-tests: New.
37354         * tests/test-poll.c: New.
37355
37356 2008-09-12  Eric Blake  <ebb9@byu.net>
37357
37358         frexp: test for NetBSD failure on -0.0
37359         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
37360         not all, bugs from NetBSD 3.0 have been fixed.
37361         * doc/posix-functions/frexp.texi (frexp): Document bug.
37362         Reported by Thomas Klausner.
37363
37364         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
37365         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
37366         literal -0.0.
37367         Reported by Jonathan C. Patschke <jp@centtech.com>.
37368
37369 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37370
37371         * lib/glthread/cond.h: Use dummy implementation also if
37372         USE_WIN32_THREADS.
37373
37374 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37375
37376         * modules/fnmatch-posix (License): Change to LGPLv2+.
37377         * modules/fnmatch-gnu (License): Likewise.
37378
37379 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37380
37381         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
37382
37383 2008-09-11  Jim Meyering  <meyering@redhat.com>
37384
37385         * users.txt: Add gtk-vnc.
37386
37387 2008-09-08  Simon Josefsson  <simon@josefsson.org>
37388
37389         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
37390         rotate amounts.
37391
37392         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
37393         required for 16-bit and 8-bit rotates.
37394         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
37395         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
37396         UINT8_MAX instead of hard-coded constants.
37397         Suggested by Paul Eggert.
37398
37399 2008-09-07  Bruno Haible  <bruno@clisp.org>
37400
37401         * tests/test-striconveh.c (main): Check behaviour when converting from
37402         UTF-7.
37403
37404         Make striconveh work better with stateful encodings.
37405         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
37406         that iconv does not increment the inptr when returning -1/EINVAL.
37407
37408 2008-09-07  Bruno Haible  <bruno@clisp.org>
37409
37410         * build-aux/config.rpath: Update according to libtool-2.2.6.
37411         * build-aux/config.libpath: Likewise.
37412
37413 2008-09-06  Bruno Haible  <bruno@clisp.org>
37414
37415         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
37416         * lib/freadptr.c (freadptr): Likewise.
37417         * lib/freadseek.c (freadptrinc): Likewise.
37418         Reported by Simon Josefsson.
37419
37420 2008-09-06  Bruno Haible  <bruno@clisp.org>
37421
37422         * modules/freadptr (License): Change to LGPLv2+.
37423         * modules/freadseek (License): Likewise.
37424         Suggested by Eric Blake.
37425
37426         * modules/memchr2 (License): Change to LGPLv2+.
37427         Approved by Eric Blake.
37428
37429 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37430             Bruno Haible  <bruno@clisp.org>
37431
37432         Make gnulib-tool work with native 'sed' on AIX.
37433         * gnulib-tool (sed_noop): New variable.
37434         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
37435         func_add_or_update, func_create_testdir): Use it to initialize sed
37436         script variables.
37437         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
37438
37439 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
37440             Bruno Haible  <bruno@clisp.org>
37441
37442         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
37443         also works after #include directives.
37444
37445 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
37446
37447         getdate.y: reject an out-of-range timezone value
37448         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
37449         the range [-24...+24].  When specified with only one or two digits,
37450         * tests/test-getdate.c: Tests for the fix.
37451         * doc/getdate.texi: Document this change.
37452
37453 2008-09-03  Bruno Haible  <bruno@clisp.org>
37454
37455         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
37456
37457 2008-09-02  Simon Josefsson  <simon@josefsson.org>
37458
37459         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
37460         <bruce.korb@gmail.com> with ideas from Ben Pfaff
37461         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
37462         Blake <ebb9@byu.net>.
37463
37464         * tests/test-bitrotate.c: Add more test vectors.
37465
37466 2008-09-02  Eric Blake  <ebb9@byu.net>
37467
37468         vasnprintf-posix: handle large precision via %.*d
37469         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
37470         when handling it ourselves.
37471         * tests/test-vasnprintf-posix.c (test_function): Add test.
37472         * tests/test-snprintf-posix.h (test_function): Likewise.
37473         * tests/test-sprintf-posix.h (test_function): Likewise.
37474         * tests/test-vasprintf-posix.c (test_function): Likewise.
37475         Reported by Alain Guibert.
37476
37477 2008-09-01  Eric Blake  <ebb9@byu.net>
37478
37479         c-stack: make configure-time check more robust
37480         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
37481         successful sigaction call.
37482         Reported by Tom G. Christensen.
37483
37484 2008-09-01  Bruno Haible  <bruno@clisp.org>
37485
37486         New module 'findprog-lgpl'.
37487         * modules/findprog-lgpl: New file.
37488         * lib/findprog-lgpl.c: New file.
37489         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
37490         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
37491         to decide whether to use strdup or xstrdup, concatenated_filename or
37492         xconcatenated_filename.
37493
37494 2008-09-01  Bruno Haible  <bruno@clisp.org>
37495
37496         Split module 'concat-filename' into 'concat-filename' (LGPL) and
37497         'xconcat-filename' (GPL).
37498         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
37499         (License): Change to LGPLv2+.
37500         * modules/xconcat-filename: New file.
37501         * lib/concat-filename.h (concatenated_filename): Change specification.
37502         (xconcatenated_filename): New declaration.
37503         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
37504         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
37505         memory situations.
37506         * lib/xconcat-filename.c: New file.
37507         * NEWS: Mention the change.
37508         * lib/findprog.c: Include concat-filename.h, not filename.h.
37509         (find_in_path): Use xconcatenated_filename instead of
37510         concatenated_filename.
37511         * lib/javacomp.c: Include concat-filename.h, not filename.h.
37512         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
37513         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
37514         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
37515         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
37516         instead of concatenated_filename.
37517         * lib/javaexec.c: Include concat-filename.h, not filename.h.
37518         (execute_java_class): Use xconcatenated_filename instead of
37519         concatenated_filename.
37520         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
37521         * modules/javacomp (Depends-on): Likewise.
37522         * modules/javaexec (Depends-on): Likewise.
37523
37524 2008-09-01  Bruno Haible  <bruno@clisp.org>
37525
37526         Split module 'filename' into 'filename' and 'concat-filename'.
37527         * modules/filename: Keep only lib/filename.h.
37528         (License): Change to LGPLv2+.
37529         * modules/concat-filename: New file, extracted from modules/filename.
37530         * lib/filename.h (concatenated_filename): Remove declaration.
37531         * lib/concat-filename.h: New file, extracted from lib/filename.h.
37532         * lib/concat-filename.c: Include concat-filename.h.
37533         * NEWS: Mention the change.
37534
37535 2008-09-01  Simon Josefsson  <simon@josefsson.org>
37536
37537         * lib/bitrotate.h (rotl8, rotr8): Add.
37538
37539         * modules/bitrotate (configure.ac): Need
37540         AC_REQUIRE([AC_C_INLINE]).
37541         (Description): Mention stdint.h.  Reported by Bruno Haible
37542         <bruno@clisp.org>.
37543
37544         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
37545         Paolo Bonzini <bonzini@gnu.org>.
37546
37547 2008-08-31  Bruno Haible  <bruno@clisp.org>
37548
37549         Assume Solaris specific bi-arch conventions on Solaris systems.
37550         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
37551         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
37552         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
37553         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
37554         like acl_libdirstem.
37555         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
37556         acl_libdirstem.
37557         * NEWS: Mention the change.
37558         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
37559
37560 2008-08-31  Jim Meyering  <meyering@redhat.com>
37561
37562         * lib/strftime.h: Add comments describing the two added arguments.
37563
37564         remove duplicate #include directives
37565         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
37566         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
37567
37568 2008-08-31  Bruno Haible  <bruno@clisp.org>
37569
37570         New module 'sigpipe-die'.
37571         * modules/sigpipe-die: New file.
37572         * lib/sigpipe-die.h: New file.
37573         * lib/sigpipe-die.c: New file.
37574         * MODULES.html.sh (Signal handling): Add sigpipe-die.
37575
37576 2008-08-31  Bruno Haible  <bruno@clisp.org>
37577
37578         Don't override previously installed signal handlers.
37579         * lib/fatal-signal.c (saved_sigactions): New variable.
37580         (uninstall_handlers): Reset the signal to the saved handler, not
37581         to SIG_DFL (except when ignored).
37582         (install_handlers): Save the previous handlers.
37583
37584 2008-08-30  Bruno Haible  <bruno@clisp.org>
37585
37586         * gnulib-tool (func_reset_sigpipe): New function.
37587         (func_get_automake_snippet, func_modules_transitive_closure,
37588         func_import): Invoke it before a join command that reads from stdin,
37589         to avoid "echo: write error: Broken pipe" error messages on stderr.
37590         Reported by Sam Steingold <sds@gnu.org>.
37591
37592 2008-08-30  Bruno Haible  <bruno@clisp.org>
37593
37594         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
37595         Code copied from m4/open.m4.
37596         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
37597         access and the filename ends in a slash. Code copied from lib/open.c.
37598         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
37599         * tests/test-fopen.c (main): Check against bug with trailing slash.
37600
37601 2008-08-29  Bruno Haible  <bruno@clisp.org>
37602
37603         Avoid some "gcc -pedantic" warnings.
37604         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
37605         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
37606         * lib/dirent.in.h: Likewise.
37607         * lib/fcntl.in.h: Likewise.
37608         * lib/float.in.h: Likewise.
37609         * lib/iconv.in.h: Likewise.
37610         * lib/inttypes.in.h: Likewise.
37611         * lib/locale.in.h: Likewise.
37612         * lib/math.in.h: Likewise.
37613         * lib/netinet_in.in.h: Likewise.
37614         * lib/search.in.h: Likewise.
37615         * lib/signal.in.h: Likewise.
37616         * lib/stdarg.in.h: Likewise.
37617         * lib/stdint.in.h: Likewise.
37618         * lib/stdio.in.h: Likewise.
37619         * lib/stdlib.in.h: Likewise.
37620         * lib/string.in.h: Likewise.
37621         * lib/strings.in.h: Likewise.
37622         * lib/sys_select.in.h: Likewise.
37623         * lib/sys_socket.in.h: Likewise.
37624         * lib/sys_stat.in.h: Likewise.
37625         * lib/sys_time.in.h: Likewise.
37626         * lib/sysexits.in.h: Likewise.
37627         * lib/time.in.h: Likewise.
37628         * lib/unistd.in.h: Likewise.
37629         * lib/wchar.in.h: Likewise.
37630         * lib/wctype.in.h: Likewise.
37631         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
37632         * modules/fchdir (Makefile.am): Likewise.
37633         * modules/fcntl (Makefile.am): Likewise.
37634         * modules/float (Makefile.am): Likewise.
37635         * modules/iconv_open (Makefile.am): Likewise.
37636         * modules/inttypes (Makefile.am): Likewise.
37637         * modules/locale (Makefile.am): Likewise.
37638         * modules/math (Makefile.am): Likewise.
37639         * modules/netinet_in (Makefile.am): Likewise.
37640         * modules/search (Makefile.am): Likewise.
37641         * modules/signal (Makefile.am): Likewise.
37642         * modules/stdarg (Makefile.am): Likewise.
37643         * modules/stdint (Makefile.am): Likewise.
37644         * modules/stdio (Makefile.am): Likewise.
37645         * modules/stdlib (Makefile.am): Likewise.
37646         * modules/string (Makefile.am): Likewise.
37647         * modules/strings (Makefile.am): Likewise.
37648         * modules/sys_select (Makefile.am): Likewise.
37649         * modules/sys_socket (Makefile.am): Likewise.
37650         * modules/sys_stat (Makefile.am): Likewise.
37651         * modules/sys_time (Makefile.am): Likewise.
37652         * modules/sysexits (Makefile.am): Likewise.
37653         * modules/time (Makefile.am): Likewise.
37654         * modules/unistd (Makefile.am): Likewise.
37655         * modules/wchar (Makefile.am): Likewise.
37656         * modules/wctype (Makefile.am): Likewise.
37657         Reported by Reuben Thomas <rrt@sc3d.org>.
37658
37659 2008-08-29  Bruno Haible  <bruno@clisp.org>
37660
37661         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
37662         any more.
37663
37664 2008-08-29  Simon Josefsson  <simon@josefsson.org>
37665
37666         * MODULES.html.sh (Misc): Add bitrotate.
37667
37668         * modules/bitrotate: New file.
37669
37670         * lib/bitrotate.h: New file.
37671
37672         * modules/bitrotate-tests: New file.
37673
37674         * tests/test-bitrotate.c: New file.
37675
37676         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
37677         on the bitrotate module.
37678
37679         * lib/arctwo.c: Use new bitrotate module.
37680
37681 2008-08-29  Jim Meyering  <meyering@redhat.com>
37682
37683         bootstrap: merge changes from coreutils
37684         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
37685         of copied files.  Remove a kludge, now that this is fixed.
37686         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
37687         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
37688         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
37689
37690 2008-08-29  Bruno Haible  <bruno@clisp.org>
37691
37692         * MODULES.html.sh: Remove --cvs-urls option.
37693
37694 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
37695
37696         maint.mk: adjust to file name change
37697         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
37698
37699 2008-08-28  Jim Meyering  <meyering@redhat.com>
37700
37701         * modules/getndelim2 (License): Relicense to LGPLv2+.
37702         Approved by Richard Stallman for the version of 1995, and by
37703         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
37704
37705 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
37706
37707         * lib/getdelim.c (flockfile, funlockfile): Make all of them
37708         dummy if one is not available.  Do not touch them if
37709         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
37710         (getc_maybe_unlocked): New.
37711         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
37712
37713 2008-08-26  Eric Blake  <ebb9@byu.net>
37714
37715         doc/INSTALL: resync from autoconf
37716         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
37717         (INSTALL_PRELUDE): Delete; this is done more efficiently by
37718         moving...
37719         * install.texi [!autoconf]: ...here.  Resync from autoconf.
37720         * INSTALL: Regenerate.
37721         * INSTALL.ISO: New file.
37722         * INSTALL.UTF-8: Likewise.
37723
37724 2008-08-26  Jim Meyering  <meyering@redhat.com>
37725
37726         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
37727         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
37728         these definitions conditional, so that they may be overridden, too.
37729
37730 2008-08-26  Bruno Haible  <bruno@clisp.org>
37731
37732         Generate INSTALL file variants with prettier quotes.
37733         * doc/Makefile (INSTALL_PRELUDE): New macro.
37734         (INSTALL): Use it.
37735         (INSTALL.ISO, INSTALL.UTF-8): New rules.
37736
37737 2008-08-26  Bruno Haible  <bruno@clisp.org>
37738
37739         Run makeinfo in an English locale.
37740         * doc/Makefile (MAKEINFO): New variable.
37741
37742 2008-08-26  Bruno Haible  <bruno@clisp.org>
37743
37744         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
37745         Suggested by Eric Blake.
37746
37747 2008-08-25  Bruno Haible  <bruno@clisp.org>
37748
37749         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
37750
37751 2008-08-25  Eric Blake  <ebb9@byu.net>
37752
37753         c-stack: test that stack overflow can be caught
37754         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
37755         that platform allows handling stack overflow; at least OS/2 EMX
37756         has sigaltstack, but crashes before transferring control to
37757         handler on stack overflow.
37758         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
37759         check for HAVE_STACK_OVERFLOW_HANDLING.
37760         Reported by Elbert Pol.
37761
37762 2008-08-25  Bruno Haible  <bruno@clisp.org>
37763
37764         * doc/posix-functions/strftime.texi: Fix description of strftime
37765         module.
37766
37767 2008-08-24  Bruno Haible  <bruno@clisp.org>
37768
37769         * tests/uniwidth/test-uc_width2.c: New file.
37770         * tests/uniwidth/test-uc_width2.sh: New file.
37771         * modules/uniwidth/width-tests (Files): Add the new files.
37772         (TESTS): Add uniwidth/test-uc_width2.sh.
37773         (TESTS_ENVIRONMENT): New variable.
37774         (check_PROGRAMS): Add test-uc_width2.
37775         (test_uc_width2_SOURCES): New variable.
37776
37777         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
37778         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
37779         not 0x00AB.
37780         Reported by Alexander V. Lukyanov <lav@netis.ru>.
37781
37782 2008-08-22  Eric Blake  <ebb9@byu.net>
37783
37784         test-lock, test-tls: mention why a test is skipped
37785         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
37786         skipped.
37787         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
37788
37789         count-one-bits: relax license
37790         * modules/count-one-bits (License): Relicense to LGPLv2+.
37791         Suggested by Ludovic Courtès, approved by Ben Pfaff.
37792
37793 2008-08-22  Andreas Schwab  <schwab@suse.de>
37794
37795         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
37796         Remove spurious space in assignment.
37797
37798 2008-08-21  Simon Josefsson  <simon@josefsson.org>
37799
37800         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
37801         Paul Eggert <eggert@CS.UCLA.EDU>.
37802
37803 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
37804
37805         * modules/gettext: Add m4/threadlib.m4.
37806
37807 2008-08-19  Eric Blake  <ebb9@byu.net>
37808
37809         test-c-stack: fix compilation failure on FreeBSD 5.0
37810         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
37811         headers before <sys/resource.h>.
37812         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
37813         the bug.
37814         Reported by Nelson H. F. Beebe.
37815
37816         strverscmp: migrate from "strverscmp.h" to <string.h>
37817         * modules/string (Makefile.am): Add new hooks.
37818         * modules/strverscmp (Files): Remove strverscmp.h.
37819         (Depends-on): Add string.
37820         (configure.ac): Add indicator.
37821         (Include): Mention new header.
37822         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
37823         defaults.
37824         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
37825         results.
37826         * lib/strverscmp.h: Delete.
37827         * lib/string.in.h (strverscmp): Provide declaration, when needed.
37828         * tests/test-strverscmp.c (includes): Adjust client.
37829         * lib/check-version.c (includes): Likewise.
37830         * NEWS: Document the change.
37831
37832         strverscmp: add unit test
37833         * modules/strverscmp-tests: New file.
37834         * tests/test-strverscmp.c: Likewise.
37835
37836 2008-08-19  Simon Josefsson  <simon@josefsson.org>
37837
37838         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
37839         regarding Windows crypto stuff, from Mono.
37840
37841 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
37842
37843         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
37844         if present, for intel RND.  Return error on failures.
37845
37846 2008-08-18  Ben Pfaff  <blp@gnu.org>
37847
37848         gitlog-to-changelog: give better diagnostic for failed pipe-open
37849         * build-aux/gitlog-to-changelog: Improve error message: suggest
37850         that the version of Git may be too old.
37851
37852 2008-08-18  Simon Josefsson  <simon@josefsson.org>
37853
37854         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
37855         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
37856
37857 2008-08-18  Bruno Haible  <bruno@clisp.org>
37858
37859         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
37860         pthread_in_use().
37861
37862 2008-08-18  Bruno Haible  <bruno@clisp.org>
37863
37864         * lib/glthread/threadlib.c: Include <pthread.h>.
37865
37866 2008-08-18  Bruno Haible  <bruno@clisp.org>
37867
37868         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
37869         glthread_recursive_lock_* macros.
37870         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
37871         Fix syntax error.
37872
37873 2008-08-18  Bruno Haible  <bruno@clisp.org>
37874
37875         * lib/glthread/thread.c: Avoid forcing a context switch right after
37876         thread creation.
37877
37878 2008-08-17  Bruno Haible  <bruno@clisp.org>
37879
37880         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
37881         * lib/glthread/thread.h: Provide Win32 specific implementation.
37882         * modules/thread (Files): Add lib/glthread/thread.c.
37883         (Depends-on): Add lock.
37884         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
37885
37886 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37887
37888         New module 'yield'.
37889         * modules/yield: New file.
37890         * lib/glthread/yield.h: New file.
37891         * m4/yield.m4: New file.
37892         * MODULES.html.sh (Multithreading): Add yield.
37893
37894 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37895
37896         New module 'thread'.
37897         * modules/thread: New file.
37898         * lib/glthread/thread.h: New file.
37899         * m4/thread.m4: New file.
37900         * MODULES.html.sh (Multithreading): Add thread.
37901
37902 2008-08-17  Bruno Haible  <bruno@clisp.org>
37903
37904         * lib/glthread/lock.h: Include <stdlib.h> always.
37905         * lib/glthread/tls.h: Likewise.
37906         * lib/glthread/cond.h: Likewise.
37907
37908 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37909
37910         New module 'cond'.
37911         * modules/cond: New file.
37912         * lib/glthread/cond.h: New file.
37913         * lib/glthread/cond.c: New file.
37914         * m4/cond.m4: New file.
37915         * MODULES.html.sh (Multithreading): Add cond.
37916
37917 2008-08-16  Eric Blake  <ebb9@byu.net>
37918
37919         c-stack: fix regression on Irix 5.3 from 2008-06-21
37920         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
37921         sa_sigaction...
37922         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
37923         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
37924         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
37925         * modules/signal (Makefile.am): Use the value.
37926         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
37927         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
37928         * doc/posix-headers/signal.texi (signal.h): Document this
37929         portability issue.
37930         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
37931         Reported by Tom G. Christensen.
37932
37933 2008-08-17  Bruno Haible  <bruno@clisp.org>
37934
37935         New module 'threadlib'.
37936         * modules/threadlib: New file.
37937         * lib/glthread/threadlib.c: New file, extracted from
37938         lib/glthread/lock.c.
37939         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
37940         functions.
37941         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
37942         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
37943         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
37944         macros.
37945         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
37946         (gl_DISABLE_THREADS): Remove macro.
37947         * modules/lock (Files): Remove build-aux/config.rpath.
37948         (Depends-on): Remove havelib. Add threadlib.
37949         (configure.ac-early): Remove section.
37950         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
37951         * modules/tls (Depends-on): Remove lock. Add threadlib.
37952         (Link): New section, copied from threadlib.
37953         * MODULES.html.sh (Multithreading): Add threadlib.
37954
37955 2008-08-14  Bruno Haible  <bruno@clisp.org>
37956
37957         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
37958         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
37959         glthread_rwlock_unlock, glthread_rwlock_destroy,
37960         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
37961         glthread_recursive_lock_destroy): Define as macros always.
37962         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
37963         glthread_lock_lock.
37964         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
37965         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
37966         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
37967         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
37968         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
37969         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
37970         (glthread_recursive_lock_lock_func): Renamed from
37971         glthread_recursive_lock_lock.
37972         (glthread_recursive_lock_unlock_func): Renamed from
37973         glthread_recursive_lock_unlock.
37974         (glthread_recursive_lock_destroy_func): Renamed from
37975         glthread_recursive_lock_destroy.
37976
37977 2008-08-14  Bruno Haible  <bruno@clisp.org>
37978
37979         * lib/glthread/lock.h: Renamed from lib/lock.h.
37980         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
37981         * lib/glthread/tls.h: Renamed from lib/tls.h.
37982         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
37983         * lib/fstrcmp.c: Update includes.
37984         * lib/strsignal.c: Update includes.
37985         * modules/lock (Files, Makefile.am): Update.
37986         (Include): Change to "glthread/lock.h".
37987         * modules/tls (Files, Makefile.am): Update.
37988         (Include): Change to "glthread/tls.h".
37989         * tests/test-lock.c: Update includes.
37990         * tests/test-tls.c: Update includes.
37991         * NEWS: Mention the renamed header files.
37992
37993 2008-08-11  Jim Meyering  <meyering@redhat.com>
37994
37995         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
37996
37997 2008-08-11  Eric Blake  <ebb9@byu.net>
37998
37999         test-c-stack: avoid C99-ism
38000         * tests/test-c-stack.c (main): Fix whitespace, move declaration
38001         before statement.
38002         Reported by Alain Guibert.
38003
38004 2008-08-10  Jim Meyering  <meyering@redhat.com>
38005
38006         ensure that return value of uinttostr et al are not ignored
38007         * lib/inttostr.h (__GNUC_PREREQ): Define.
38008         (__attribute_warn_unused_result__): Define.
38009         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
38010
38011 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
38012
38013         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
38014         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
38015
38016 2008-08-07  Jim Meyering  <meyering@redhat.com>
38017
38018         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
38019
38020         * modules/mkstemp (License): Relicense under LGPLv2+.
38021         * modules/tempname (License): Likewise.
38022
38023 2008-08-06  Bruno Haible  <bruno@clisp.org>
38024
38025         * lib/poll.c (poll): Further micro-optimization.
38026
38027 2008-08-06  Jim Meyering  <meyering@redhat.com>
38028
38029         inet_pton.c: use locale-independent tolower
38030         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
38031         (inet_pton6): Use c_tolower rather than tolower.
38032         * modules/inet_pton (Depends-on): Add c-ctype.
38033
38034 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
38035
38036         * lib/poll.c (poll): Avoid division when timeout is 0, cache
38037         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
38038
38039 2008-08-06  Jim Meyering  <meyering@redhat.com>
38040
38041         * modules/inet_pton (License): Relicense under LGPLv2+.
38042
38043 2008-08-03  Bruno Haible  <bruno@clisp.org>
38044
38045         Additional non-aborting API for lock and tls.
38046         * lib/lock.h: Include <errno.h>.
38047         (glthread_lock_init): New macro/function.
38048         (gl_lock_init): Define as wrapper around glthread_lock_init.
38049         (glthread_lock_lock): New macro/function.
38050         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
38051         (glthread_lock_unlock): New macro/function.
38052         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
38053         (glthread_lock_destroy): New macro/function.
38054         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
38055         (glthread_rwlock_init): New macro/function.
38056         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
38057         (glthread_rwlock_rdlock): New macro/function.
38058         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
38059         (glthread_rwlock_wrlock): New macro/function.
38060         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
38061         (glthread_rwlock_unlock): New macro/function.
38062         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
38063         (glthread_rwlock_destroy): New macro/function.
38064         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
38065         (glthread_recursive_lock_init): New macro/function.
38066         (gl_recursive_lock_init): Define as wrapper around
38067         glthread_recursive_lock_init.
38068         (glthread_recursive_lock_lock): New macro/function.
38069         (gl_recursive_lock_lock): Define as wrapper around
38070         glthread_recursive_lock_lock.
38071         (glthread_recursive_lock_unlock): New macro/function.
38072         (gl_recursive_lock_unlock): Define as wrapper around
38073         glthread_recursive_lock_unlock.
38074         (glthread_recursive_lock_destroy): New macro/function.
38075         (gl_recursive_lock_destroy): Define as wrapper around
38076         glthread_recursive_lock_destroy.
38077         (glthread_once): New macro/function.
38078         (gl_once): Define as wrapper around glthread_once.
38079         Update function declarations.
38080         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
38081         glthread_rwlock_init. Return error code.
38082         (glthread_rwlock_rdlock_multithreaded): Renamed from
38083         glthread_rwlock_rdlock. Return error code.
38084         (glthread_rwlock_wrlock_multithreaded): Renamed from
38085         glthread_rwlock_wrlock. Return error code.
38086         (glthread_rwlock_unlock_multithreaded): Renamed from
38087         glthread_rwlock_unlock. Return error code.
38088         (glthread_rwlock_destroy_multithreaded): Renamed from
38089         glthread_rwlock_destroy. Return error code.
38090         (glthread_recursive_lock_init_multithreaded): Renamed from
38091         glthread_recursive_lock_init. Return error code.
38092         (glthread_recursive_lock_lock_multithreaded): Renamed from
38093         glthread_recursive_lock_lock. Return error code.
38094         (glthread_recursive_lock_unlock_multithreaded): Renamed from
38095         glthread_recursive_lock_unlock. Return error code.
38096         (glthread_recursive_lock_destroy_multithreaded): Renamed from
38097         glthread_recursive_lock_destroy. Return error code.
38098         (glthread_once_call): Make static.
38099         (glthread_once_multithreaded): Renamed from glthread_once.
38100         * lib/tls.h: Include <errno.h>.
38101         (glthread_tls_key_init): New macro/function.
38102         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
38103         (glthread_tls_set): New macro/function.
38104         (gl_tls_set): Define as wrapper around glthread_tls_set.
38105         (glthread_tls_key_destroy): New macro/function.
38106         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
38107         Update function declarations.
38108         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
38109         glthread_tls_get.
38110         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
38111
38112 2008-08-04  Eric Blake  <ebb9@byu.net>
38113
38114         gnumakefile: use space, not TAB, outside of targets
38115         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
38116
38117 2008-08-02  Jim Meyering  <meyering@redhat.com>
38118
38119         getdate.y: avoid locale-dependent date parsing failure
38120         In Turkish locales, getdate would fail to recognize keywords
38121         containing a lowercase "i".  The solution is not to rely on
38122         locale-sensitive case-conversion.
38123         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
38124         (lookup_word): Use c_toupper in place of toupper.
38125         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
38126         Reported by Vefa Bicakci <bicave@superonline.com> in
38127         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
38128         * modules/getdate (Depends-on): Add c-ctype.
38129
38130 2008-08-02  Bruno Haible  <bruno@clisp.org>
38131
38132         * gnulib-tool (func_import): When updating or creating a .gitignore
38133         file, prepend each added line with a slash, and ignore leading slashes
38134         from the existing lines.
38135         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
38136
38137 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38138
38139         Portability fix for GNU make 3.79.1.
38140         * top/GNUmakefile: Avoid 'else COND', which older GNU make
38141         versions do not understand.
38142
38143 2008-08-01  Bruno Haible  <bruno@clisp.org>
38144
38145         Work around bug of HP-UX 10.20 cc with -0.0 literal.
38146         * tests/test-isnanf.h (zero): New variable.
38147         (main): Avoid literal -0.0f.
38148         * tests/test-isnand.h (zero): New variable.
38149         (main): Avoid literal -0.0.
38150         * tests/test-isnanl.h (zero): New variable.
38151         (main): Avoid literal -0.0L.
38152         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
38153         (test_float, test_double, test_long_double): Avoid literals -0.0f,
38154         -0.0, -0.0L.
38155         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
38156         (test_signbitd): Avoid literal -0.0.
38157         (test_signbitl): Avoid literal -0.0L.
38158         * tests/test-ceilf1.c (zero): New variable.
38159         (main): Avoid literal -0.0f.
38160         * tests/test-ceill.c (zero): New variable.
38161         (main): Avoid literal -0.0L.
38162         * tests/test-floorf1.c (zero): New variable.
38163         (main): Avoid literal -0.0f.
38164         * tests/test-floorl.c (zero): New variable.
38165         (main): Avoid literal -0.0L.
38166         * tests/test-roundf1.c (zero): New variable.
38167         (main): Avoid literal -0.0f.
38168         * tests/test-round1.c (zero): New variable.
38169         (main): Avoid literal -0.0.
38170         * tests/test-roundl.c (zero): New variable.
38171         (main): Avoid literal -0.0L.
38172         * tests/test-truncf1.c (zero): New variable.
38173         (main): Avoid literal -0.0f.
38174         * tests/test-trunc1.c (zero): New variable.
38175         (main): Avoid literal -0.0.
38176         * tests/test-truncl.c (zero): New variable.
38177         (main): Avoid literal -0.0L.
38178         * tests/test-frexp.c (zero): New variable.
38179         (main): Avoid literal -0.0.
38180         * tests/test-frexpl.c (zero): New variable.
38181         (main): Avoid literal -0.0L.
38182         * tests/test-ldexpl.c (zero): New variable.
38183         (main): Avoid literal -0.0L.
38184         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
38185         (zerod, zerol): New variables.
38186         (test_function): Avoid literals -0.0, -0.0L.
38187         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
38188         (zerod, zerol): New variables.
38189         (test_function): Avoid literals -0.0, -0.0L.
38190         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
38191         (zerod, zerol): New variables.
38192         (test_function): Avoid literals -0.0, -0.0L.
38193         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
38194         (zerod, zerol): New variables.
38195         (test_function): Avoid literals -0.0, -0.0L.
38196         * tests/test-strtod.c (zero): New variable.
38197         (main): Avoid literal -0.0.
38198         Reported by Jonathan C. Patschke <jp@centtech.com>.
38199
38200 2008-07-31  Jim Meyering  <meyering@redhat.com>
38201
38202         sha256.h: correct definition of SHA224_DIGEST_SIZE
38203         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
38204         Reported by Paulie Pena IV <paulie4@gmail.com>.
38205         Define as 224 / 8, rather than as a literal.
38206         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
38207         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
38208         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
38209
38210 2008-07-31  Bruno Haible  <bruno@clisp.org>
38211
38212         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
38213         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
38214         Reported by Jonathan Patschke <jp@centtech.com>.
38215
38216 2008-07-31  Bruno Haible  <bruno@clisp.org>
38217
38218         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
38219         Reported by Paolo Bonzini <bonzini@gnu.org>.
38220
38221 2008-07-30  Eric Blake  <ebb9@byu.net>
38222
38223         test-strtod: allow compilation without -lm
38224         * tests/test-strtod.c (main): Avoid link dependence on fabs.
38225         Reported by Dennis Clarke <blastwave@gmail.com>.
38226
38227 2008-07-28  Jim Meyering  <meyering@redhat.com>
38228
38229         bootstrap: work also when there are no .po files in po/
38230         * build-aux/bootstrap (update_po_files): Complete the change
38231         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
38232
38233 2008-07-27  Jim Meyering  <meyering@redhat.com>
38234
38235         * users.txt: Add zile.
38236
38237 2008-07-26  Ben Pfaff  <blp@gnu.org>
38238
38239         Add missing dependencies on new m4/exponent[fdl].m4 files.
38240         * modules/isnanf-nolibm: Add m4/exponentf.m4.
38241         * modules/isnand-nolibm: Add m4/exponentd.m4.
38242         * modules/isnanl-nolibm: Add m4/exponentl.m4.
38243         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
38244         m4/isnan[fdl].m4, because the macros actually used moved.
38245         Reported by Jim Meyering.
38246
38247 2008-07-14  Ben Pfaff  <blp@gnu.org>
38248
38249         Add isinf module.
38250         * lib/isinf.c: New file.
38251         * lib/math.in.h: Define isinf macro if we have decided to replace
38252         it.
38253         * m4/isinf.m4: New file.
38254         * m4/math_h.m4: Initialize and substitute variables for isinf
38255         module.
38256         * modules/isinf: New file.
38257         * modules/isinf-tests: New file.
38258         * modules/math: Add substitutions for new module.
38259         * tests/test-isinf.c: New file.
38260         * doc/posix-functions/isinf.texi: Mention new module.
38261         * MODULES.html.sh: Mention new module.
38262
38263 2008-07-14  Ben Pfaff  <blp@gnu.org>
38264
38265         Factor out some macros for use by additional modules.
38266         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
38267         exponentf.m4.
38268         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
38269         exponentd.m4.
38270         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
38271         file exponentl.m4.
38272         * m4/exponentf.m4: New file.
38273         * m4/exponentd.m4: New file.
38274         * m4/exponentl.m4: New file.
38275         * modules/isnanf: Use new file m4/exponentf.m4.
38276         * modules/isnand: Use new file m4/exponentd.m4.
38277         * modules/isnanl: Use new file m4/exponentl.m4.
38278
38279 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
38280
38281         mktime.c: normalize tp->tm_isdst value to -1/0/1.
38282         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
38283         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
38284         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
38285
38286         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
38287         readlink on platforms without PATH_MAX.
38288
38289 2008-07-21  Eric Blake  <ebb9@byu.net>
38290
38291         Warn, not fail, on stale version.
38292         * top/GNUmakefile (_curr-ver): Tone down previous patch.
38293
38294         Don't allow installation with stale devel version number.
38295         * top/GNUmakefile (_is-install-target): New macro.
38296         (_curr-ver): Forbid installation with stale version number.
38297
38298 2008-07-20  Bruno Haible  <bruno@clisp.org>
38299
38300         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
38301         TESTS_ENVIRONMENT.
38302         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
38303
38304 2008-07-20  Bruno Haible  <bruno@clisp.org>
38305
38306         * lib/c-stack.h (c_stack_action): Add documentation.
38307         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
38308
38309 2008-07-20  Bruno Haible  <bruno@clisp.org>
38310
38311         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
38312         * modules/readlink (License): Likewise.
38313
38314 2008-07-17  Eric Blake  <ebb9@byu.net>
38315
38316         * modules/c-stack (Link): Fix typo.
38317
38318         Make c-stack use libsigsegv, when available.
38319         * modules/c-stack (Depends-on): Add libsigsegv.
38320         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
38321         needed.
38322         * lib/c-stack.c (SIGSTKSZ): Define fallback.
38323         (segv_handler, overflow_handler, c_stack_action)
38324         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
38325         implementation when libsigsegv is available, but only when using
38326         the library is necessary.
38327         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
38328         comment, explaining why XSI check fails on Linux.
38329         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
38330         * tests/test-c-stack2.sh: Tweak skip message.
38331         * NEWS: Document new link-time requirements.
38332
38333 2008-07-16  Eric Blake  <ebb9@byu.net>
38334
38335         c-stack: Expose false positives when not using libsigsegv.
38336         * modules/c-stack-tests (Files): Expand test.
38337         * tests/test-c-stack.c (main): Add means to conditionally trigger
38338         non-overflow SIGSEGV.
38339         * tests/test-c-stack2.sh: New file.
38340
38341 2008-07-14  Bruno Haible  <bruno@clisp.org>
38342
38343         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
38344         Reported by Eric Blake.
38345
38346 2008-07-14  Sam Steingold  <sds@gnu.org>
38347             Bruno Haible  <bruno@clisp.org>
38348
38349         New module libsigsegv.
38350         * modules/libsigsegv: New file.
38351         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
38352         modifications.
38353         * MODULES.html.sh (Signal handling): New section.
38354
38355 2008-07-14  Bruno Haible  <bruno@clisp.org>
38356
38357         * modules/unictype/ctype-* (Description): Add the word "function".
38358         Improves the resulting doc in MODULES.html.
38359
38360 2008-07-12  Ben Pfaff  <blp@gnu.org>
38361
38362         Add longlong module.
38363         * modules/longlong: New file.
38364
38365 2008-07-12  Bruno Haible  <bruno@clisp.org>
38366
38367         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
38368         to empty.
38369
38370 2008-07-10  Ben Pfaff  <blp@gnu.org>
38371
38372         Add isnan module.
38373         * doc/posix-functions/isnan.texi: Mention new module.
38374         * lib/math.in.h: Define isnan macro if we have decided to replace
38375         it.
38376         * m4/isnan.m4: New file.
38377         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
38378         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
38379         also.
38380         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
38381         redundancy.
38382         * m4/math_h.m4: Initialize and substitute variables for isnan
38383         module.
38384         * modules/isnan: New file.
38385         * modules/isnan-tests: New file.
38386         * modules/math: Add substitutions for new module.
38387         * tests/test-isnan.c: New file.
38388         * MODULES.html.sh: Mention new module.
38389
38390 2008-07-10  Ben Pfaff  <blp@gnu.org>
38391
38392         Add isnanf module.
38393         * lib/isnanf.m4: New file.
38394         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
38395         (gl_HAVE_ISNANF_IN_LIBM): New macro.
38396         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
38397         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
38398         * modules/isnanf: New file.
38399         * modules/isnanf-tests: New file.
38400         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
38401         files.
38402         * tests/test-isnanf-nolibm.c: factored most of its contents into
38403         new file tests/test-isnanf.h.
38404         * tests/test-isnanf.h: New file.
38405         * tests/test-isnanf.c: New file.
38406         * MODULES.html.sh: Mention new module.
38407         * doc/glibc-functions/isnanf.texi: Mention new module.
38408
38409 2008-07-10  Ben Pfaff  <blp@gnu.org>
38410
38411         Add isnand module.
38412         * lib/isnand.h: New file.
38413         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
38414         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
38415         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
38416         functionality also.
38417         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
38418         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
38419         (gl_HAVE_ISNAND_IN_LIBM): New macro.
38420         * modules/isnand: New file.
38421         * modules/isnand-tests: New file.
38422         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
38423         files.
38424         * tests/test-isnand-nolibm.c: factored most of its contents into
38425         new file tests/test-isnand.h.
38426         * tests/test-isnand.h: New file.
38427         * tests/test-isnand.c: New file.
38428         * MODULES.html.sh: Mention new module.
38429
38430 2008-07-10  Ben Pfaff  <blp@gnu.org>
38431
38432         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
38433         * lib/isnand.h: Rename lib/isnand-nolibm.h.
38434         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
38435         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
38436         * modules/isnanf-nolibm: Update references to renamed files.
38437         * modules/isnand-nolibm: Likewise.
38438         * modules/isnanf-nolibm-tests: Likewise.
38439         * modules/isnand-nolibm-tests: Likewise.
38440         * lib/frexp.c: Likewise.
38441         * lib/isfinite.c: Likewise.
38442         * lib/signbitd.c: Likewise.
38443         * lib/signbitf.c: Likewise.
38444         * lib/vasnprintf.c: Likewise.
38445         * tests/test-ceilf1.c: Likewise.
38446         * tests/test-ceilf2.c: Likewise.
38447         * tests/test-floorf1.c: Likewise.
38448         * tests/test-floorf2.c: Likewise.
38449         * tests/test-frexp.c: Likewise.
38450         * tests/test-round1.c: Likewise.
38451         * tests/test-round2.c: Likewise.
38452         * tests/test-roundf1.c: Likewise.
38453         * tests/test-strtod.c: Likewise.
38454         * tests/test-trunc1.c: Likewise.
38455         * tests/test-trunc2.c: Likewise.
38456         * tests/test-truncf1.c: Likewise.
38457         * tests/test-truncf2.c: Likewise.
38458         * NEWS: Mention the renamed header files.
38459
38460 2008-07-11  Jim Meyering  <meyering@redhat.com>
38461
38462         vc-list-files: make the last-resort awk code more portable
38463         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
38464         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
38465         does not support it.
38466
38467 2008-07-10  Eric Blake  <ebb9@byu.net>
38468
38469         Work with tar's bootstrap.
38470         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
38471         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
38472         an m4 comment.
38473
38474 2008-07-09  Jim Meyering  <meyering@redhat.com>
38475
38476         posix-shell.m4: fix typo that made this test malfunction
38477         * m4/posix-shell.m4: Remove capitalization in variable name.
38478
38479 2008-07-08  Bruno Haible  <bruno@clisp.org>
38480
38481         * m4/onceonly.m4: Update comments.
38482         Reported by Ben Pfaff <blp@cs.stanford.edu>.
38483
38484 2008-07-04  Jim Meyering  <meyering@redhat.com>
38485
38486         * users.txt: Add vc-dwim.
38487         (bison, coreutils): Use the gitweb URL.
38488
38489 2008-07-03  Jim Meyering  <meyering@redhat.com>
38490
38491         * users.txt: Add libffcall.  From Sam Steingold.
38492
38493 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
38494
38495         getdate.y: do not ignore TZ with relative day, month or year offset
38496         * lib/getdate.y (get_date): Move the tz-handling block to follow the
38497         relative-date-handling, since otherwise, the latter would clobber the
38498         sole output (an updated Start value) of the tz-handling block.
38499         * tests/test-getdate.c: Tests for the fix
38500
38501 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38502
38503         Recognize 'foo_LIBRARIES += libgnu.a'.
38504         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
38505         makefile snippet has already specified an installation location,
38506         also using '+='.
38507
38508 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
38509
38510         getdate.y: factor out common actions
38511         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
38512         Use them in place of open-coded actions.
38513
38514 2008-07-01  Simon Josefsson  <simon@josefsson.org>
38515
38516         Add self-test for getdate module.
38517         * modules/getdate-tests: New file.
38518         * tests/test-getdate.c: New file.
38519
38520 2008-06-29  Bruno Haible  <bruno@clisp.org>
38521
38522         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
38523         .gitignore.
38524         Reported by Sylvain Beucler <beuc@beuc.net>.
38525
38526 2008-06-29  Bruno Haible  <bruno@clisp.org>
38527
38528         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
38529         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
38530
38531 2008-06-29  Bruno Haible  <bruno@clisp.org>
38532
38533         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
38534         EXTRA_DIST.
38535         Reported by Sylvain Beucler <beuc@beuc.net>.
38536
38537 2008-06-26  Jim Meyering  <meyering@redhat.com>
38538
38539         make several modules depend on the "open" module
38540         This provides slightly increased consistency when opening-for-write
38541         the name of a non-directory spelled with a trailing slash.
38542         * modules/chdir-safer: Likewise.
38543         * modules/chown: Likewise.
38544         * modules/clean-temp: Likewise.
38545         * modules/copy-file: Likewise.
38546         * modules/fchdir: Likewise.
38547         * modules/fcntl-safer: Likewise.
38548         * modules/pipe: Likewise.
38549         * modules/utime: Likewise.
38550         Prompted by Eric Blake and Bruno Haible.
38551
38552 2008-06-24  Andreas Schwab  <schwab@suse.de>
38553
38554         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
38555         literals can be used as initializers for global variables.
38556
38557 2008-06-23  Eric Blake  <ebb9@byu.net>
38558
38559         Make gnulib-cache.m4 easier to diff.
38560         * gnulib-tool (func_import): Allow newlines when reading cached
38561         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
38562
38563 2008-06-23  Bruno Haible  <bruno@clisp.org>
38564
38565         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
38566         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
38567         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
38568         m4/signalblocking.m4.
38569         (gl_PREREQ_SIGACTION): Don't invoke it.
38570         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
38571         gl_PREREQ_SIG_HANDLER_H.
38572         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
38573         Don't check for sigaction here.
38574
38575 2008-06-23  Bruno Haible  <bruno@clisp.org>
38576
38577         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
38578         (install_handlers): Don't set the SA_RESETHAND flag.
38579
38580 2008-06-23  Bruno Haible  <bruno@clisp.org>
38581
38582         * m4/sigaction.m4: Comment fixes.
38583         * lib/signal.in.h: Likewise.
38584
38585 2008-06-23  Eric Blake  <ebb9@byu.net>
38586
38587         Fix typo.
38588         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
38589
38590         Avoid SA_ namespace.
38591         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
38592         Reported by Ralf Wildenhues.
38593
38594         Avoid test failure due to SA_RESTORER.
38595         * tests/test-sigaction.c (SA_MASK): New macro.
38596         (main): Avoid failing due to extension flags being set.
38597         Reported by Jim Meyering.
38598
38599         Revert use of sig-handler.h in sigprocmask.c.
38600         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
38601         it requires the existence of struct sigaction.
38602         * lib/sigprocmask.c (handler_t): Restore typedef.
38603         (rpl_signal, old_handlers): Use local type.
38604
38605 2008-06-22  Bruno Haible  <bruno@clisp.org>
38606
38607         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
38608         conditionally.
38609         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
38610
38611 2008-06-22  Bruno Haible  <bruno@clisp.org>
38612
38613         * doc/posix-functions/siginterrupt.texi: Move note.
38614
38615         * lib/signal.in.h (SA_RESTART): New macro.
38616         * lib/sigaction.c: Update comment.
38617
38618         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
38619
38620         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
38621         (gl_PREREQ_SIGPROCMASK): Invoke it.
38622         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
38623
38624         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
38625
38626         * lib/sigprocmask.c: Update a comment.
38627
38628 2008-06-21  Eric Blake  <ebb9@byu.net>
38629
38630         Use sigaction module rather than signal().
38631         * modules/c-stack (Depends-on): Add sigaction.
38632         * modules/fatal-signal (Depends-on): Likewise.
38633         * modules/nanosleep (Depends-on): Likewise.
38634         * modules/sigprocmask (Files): Add sig-handler.h.
38635         * modules/sigaction (Files): Likewise.
38636         * lib/sig-handler.h (get_handler): New file, suggested by Paul
38637         Eggert.
38638         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
38639         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
38640         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
38641         (init_fatal_signals): Likewise.
38642         * lib/nanosleep.c (rpl_nanosleep): Likewise.
38643         (siginterrupt): Delete fallback.
38644         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
38645         instead.
38646         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
38647         siginterrupt.
38648
38649         New module sigaction, for mingw.
38650         * modules/sigaction: New module...
38651         * modules/sigaction-tests: ...and its test.
38652         * m4/sigaction.m4: New file.
38653         * lib/sigaction.c: Likewise.
38654         * tests/test-sigaction.c: Likewise.
38655         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
38656         * modules/signal (Makefile.am): Likewise.
38657         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
38658         needed.
38659         * doc/posix-headers/signal.texi (signal.h): Mention provided
38660         types.
38661         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
38662         that sigaction is preferable.
38663         * doc/posix-functions/sigaction.texi (sigaction): Mention new
38664         module.
38665         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
38666         sigaction.
38667
38668         Improve robustness of sigprocmask by overriding signal.
38669         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
38670         is in use.
38671         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
38672         (SIGKILL, SIGSTOP): Provide fallbacks.
38673         (rpl_signal): Implement.
38674         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
38675         signal can be called inside handlers.
38676
38677         Fix nanosleep module on mingw.
38678         * modules/nanosleep (Depends-on): Add sys_select.
38679         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
38680
38681         Fix licensing of sigprocmask.
38682         * modules/raise (License): Relicense as LGPL.
38683
38684 2008-06-21  Bruno Haible  <bruno@clisp.org>
38685
38686         * lib/propername.c (proper_name_utf8): Don't use the transliterated
38687         result if it contains question marks.
38688         Reported by Michael Geng <linux@michaelgeng.de>.
38689
38690 2008-06-19  Bruno Haible  <bruno@clisp.org>
38691
38692         Fix CVS-ism.
38693         * doc/gnulib.texi: Include updated-stamp.texi.
38694         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
38695         (updated-stamp.texi): New rule.
38696         (gnulib.info): Depend on it.
38697         * doc/.gitignore: Add updated-stamp.texi.
38698         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
38699
38700 2008-06-19  Bruno Haible  <bruno@clisp.org>
38701
38702         * doc/Makefile (gnulib.info): Update and simplify dependencies.
38703         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
38704
38705 2008-06-19  Eric Blake  <ebb9@byu.net>
38706
38707         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
38708         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
38709         Reported by Stepan Kasal.
38710
38711 2008-06-18  Bruno Haible  <bruno@clisp.org>
38712
38713         * lib/fatal-signal.c (init_fatal_signals): Add comment.
38714         Reported by Eric Blake.
38715
38716 2008-06-18  Eric Blake  <ebb9@byu.net>
38717
38718         Work around cygwin 1.5.25 strsignal bug.
38719         * tests/test-strsignal.c: Allow for const char *.
38720         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
38721
38722 2008-06-18  Simon Josefsson  <simon@josefsson.org>
38723
38724         * users.txt: Update URL to article and add author/date
38725         information.
38726
38727 2008-06-17  Bruno Haible  <bruno@clisp.org>
38728
38729         New macro gl_DISABLE_THREADS.
38730         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
38731         if the user did not pass --enable-threads or --disable-threads option.
38732         (gl_DISABLE_THREADS): New macro.
38733         Reported by Eric Blake <ebb9@byu.net>.
38734
38735 2008-06-17  Bruno Haible  <bruno@clisp.org>
38736
38737         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
38738         when the macro ignores it.
38739         Based on a patch by Eric Blake <ebb9@byu.net>.
38740
38741 2008-06-17  Bruno Haible  <bruno@clisp.org>
38742
38743         * modules/tls (License): Change to LGPLv2+.
38744         Reported by Eric Blake.
38745
38746 2008-06-17  Eric Blake  <ebb9@byu.net>
38747
38748         Simplify c-stack prerequisites.
38749         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
38750         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
38751         no longer requires <ucontext.h> to exist.  Optimize setrlimit
38752         check.
38753         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
38754         <sys/resource.h>.
38755
38756         Move c-stack test into testsuite.
38757         * modules/c-stack-tests: New file.
38758         * lib/c-stack.c [DEBUG]: Move test program...
38759         * tests/test-c-stack.c: ...into this new file.  Skip rather than
38760         fail test if sigaltstack is lacking.
38761         * tests/test-c-stack.sh: New driver file.
38762
38763 2008-06-16  Eric Blake  <ebb9@byu.net>
38764
38765         Use raise module consistently.
38766         * modules/fatal-signal (Depends-on): Add raise.
38767         * modules/sigprocmask (Depends-on): Likewise.
38768         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
38769         * lib/sigprocmask.c (sigprocmask): Likewise.
38770         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
38771         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
38772
38773         Fix compliance bug in sigpending.
38774         * lib/sigprocmask.c (sigpending): Return pending array via
38775         parameter, not return value.
38776
38777 2008-06-14  Eric Blake  <ebb9@byu.net>
38778
38779         Improve obstack-printf test code.
38780         * tests/test-obstack-printf.c (test_function): Fix comment, and
38781         simplify usage of obstack_* in macros.  Add a test for coverage.
38782         Reported by Bruno Haible.
38783
38784 2008-06-14  Bruno Haible  <bruno@clisp.org>
38785
38786         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
38787         array size as a constant, not as a const variable.
38788         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
38789         AC_USE_SYSTEM_EXTENSIONS.
38790         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
38791         Test whether the obstack_printf function actually exists.
38792         * modules/obstack-printf (Depends-on): Add extensions.
38793         (Include): Remove obstack.h.
38794         * modules/obstack-printf-posix (Depends-on): Add extensions.
38795         (Include): Remove obstack.h.
38796
38797 2008-06-13  Eric Blake  <ebb9@byu.net>
38798
38799         Add obstack-printf and obstack-printf-posix modules.
38800         * modules/obstack-printf: New file.
38801         * modules/obstack-printf-posix: Likewise.
38802         * MODULES.html.sh (Misc): Mention them.
38803         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
38804         Likewise.
38805         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
38806         Likewise.
38807         * modules/stdio (Makefile.am): Accomodate new modules.
38808         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
38809         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
38810         Declare.
38811         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
38812         functions.
38813         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
38814         (gl_REPLACE_OBSTACK_PRINTF): New macros
38815         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
38816         * tests/test-obstack-printf.c: New file.
38817         * modules/obstack-printf-tests: Likewise.
38818         * modules/obstack-printf-posix-tests: Likewise.
38819
38820 2008-06-11  Bruno Haible  <bruno@clisp.org>
38821
38822         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
38823         * lib/open.c: Include errno.h.
38824         (open): Fail when attempting to write to a file that has a trailing
38825         slash.
38826         * tests/test-open.c (main): Test against trailing slash bug.
38827         * doc/posix-functions/open.texi: Mention the trailing slash bug.
38828
38829 2008-06-10  Bruno Haible  <bruno@clisp.org>
38830
38831         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
38832         for $? to work inside the trap command, with various /bin/sh-s.
38833         * tests/test-vc-list-files-cvs.sh: Likewise.
38834
38835 2008-06-10  Bruno Haible  <bruno@clisp.org>
38836
38837         * lib/acl-internal.h: Don't include gettext.h here.
38838         * lib/set-mode-acl.c: Include gettext.h here.
38839         * lib/copy-acl.c: Likewise.
38840
38841 2008-06-10  Bruno Haible  <bruno@clisp.org>
38842
38843         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
38844         * lib/wait-process.c (wait_subprocess): Likewise.
38845         * lib/execute.h (execute): Add termsigp argument.
38846         * lib/execute.c (execute): Likewise.
38847         * lib/csharpcomp.c (compile_csharp_using_pnet,
38848         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
38849         * lib/csharpexec.c (execute_csharp_using_pnet,
38850         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
38851         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
38852         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
38853         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
38854         is_jikes_present): Update.
38855         * lib/javaexec.c (execute_java_class): Update.
38856         * lib/javaversion.c (execute_and_read_line): Update.
38857         * NEWS: Document the changes.
38858         Reported by Eric Blake.
38859
38860 2008-06-10  Eric Blake  <ebb9@byu.net>
38861
38862         Add missing include.
38863         * tests/test-strstr.c (includes): Add <signal.h>.
38864         * tests/test-strcasestr.c (includes): Likewise.
38865         * tests/test-memmem.c (includes): Likewise.
38866
38867 2008-06-10  Bruno Haible  <bruno@clisp.org>
38868
38869         * lib/wait-process.c (wait_subprocess): Add an assertion.
38870
38871 2008-06-10  Bruno Haible  <bruno@clisp.org>
38872
38873         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
38874
38875 2008-06-10  Bruno Haible  <bruno@clisp.org>
38876
38877         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
38878         using alarm().
38879         * tests/test-strcasestr.c (main): Likewise.
38880         * tests/test-strstr.c (main): Likewise.
38881
38882 2008-06-09  Bruno Haible  <bruno@clisp.org>
38883
38884         Work around the Solaris 10 ACE ACLs ABI change.
38885         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
38886         declare if ACL_NO_TRIVIAL is present.
38887         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
38888         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
38889         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
38890         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
38891         define if ACL_NO_TRIVIAL is present.
38892         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
38893         and use the current ABI.
38894         (file_has_acl): Use same #if condition as elsewhere.
38895         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
38896         in use, and use the current ABI.
38897         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
38898         Reported by Jim Meyering.
38899
38900 2008-06-09  Eric Blake  <ebb9@byu.net>
38901
38902         Work around environments that (stupidly) ignore SIGALRM.
38903         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
38904         before using alarm().
38905         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
38906         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
38907         Reported by Ian Beckwith <ianb@erislabs.net>.
38908
38909         Produce autobuild blurb earlier in log.
38910         * modules/autobuild (configure.ac-early): Move AB_INIT here.
38911
38912 2008-06-09  Jim Meyering  <meyering@redhat.com>
38913         and OndÅ™ej Vašík  <ovasik@redhat.com>
38914
38915         utimens.c: correct kernel bug work-around
38916         OndÅ™ej Vašík found that the invalid return value of 280 indicates
38917         failure, not success, and the kernel bug we're trying to work
38918         around affects not just the utimensat call, but also the fallback
38919         futimens call.
38920         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
38921         not success.
38922         [HAVE_FUTIMENS]: Use the same work-around, here.
38923
38924 2008-06-09  Jim Meyering  <meyering@redhat.com>
38925
38926         add more guards around definition of ACE_-related code
38927         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
38928         ALLOW and ACE_OWNER are also defined.
38929
38930 2008-06-08  Bruno Haible  <bruno@clisp.org>
38931
38932         * lib/acl-internal.h: Add me as co-author.
38933         * lib/file-has-acl.c: Likewise.
38934         * lib/set-mode-acl.c: Likewise.
38935         * lib/copy-acl.c: Likewise.
38936
38937 2008-06-08  Bruno Haible  <bruno@clisp.org>
38938
38939         Add support for AIX ACLs.
38940         * lib/acl-internal.h (acl_nontrivial): New declaration.
38941         * lib/file-has-acl.c (acl_nontrivial): New function.
38942         (file_has_acl): Add implementation using AIX 4 ACL API.
38943         * lib/set-mode-acl.c (qset_acl): Likewise.
38944         * lib/copy-acl.c (qcopy_acl): Likewise.
38945
38946 2008-06-08  Bruno Haible  <bruno@clisp.org>
38947
38948         Add support for HP-UX ACLs.
38949         * lib/acl-internal.h (acl_nontrivial): New declaration.
38950         * lib/file-has-acl.c (acl_nontrivial): New function.
38951         (file_has_acl): Add implementation using HP-UX 11 ACL API.
38952         * lib/set-mode-acl.c (qset_acl): Likewise.
38953         * lib/copy-acl.c (qcopy_acl): Likewise.
38954
38955 2008-06-08  Bruno Haible  <bruno@clisp.org>
38956
38957         Add support for Cygwin ACLs.
38958         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
38959         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
38960         the chmod_or_fchmod call.
38961         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
38962
38963 2008-06-08  Bruno Haible  <bruno@clisp.org>
38964
38965         Fix bug with setuid modes in Solaris 10+ code.
38966         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
38967         succeeded, when the mode contains some special bits.
38968
38969 2008-06-08  Bruno Haible  <bruno@clisp.org>
38970
38971         Add support for Solaris 7..10 ACLs.
38972         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
38973         declarations.
38974         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
38975         functions.
38976         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
38977         * lib/set-mode-acl.c (qset_acl): Likewise.
38978         * lib/copy-acl.c (qcopy_acl): Likewise.
38979
38980 2008-06-08  Bruno Haible  <bruno@clisp.org>
38981
38982         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
38983         declaration.
38984         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
38985         (acl_access_nontrivial): Remove MacOS X case.
38986         (file_has_acl): Use acl_extended_nontrivial.
38987         * lib/copy-acl.c (qcopy_acl): Likewise.
38988
38989 2008-06-08  Bruno Haible  <bruno@clisp.org>
38990
38991         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
38992
38993 2008-06-08  Jim Meyering  <meyering@redhat.com>
38994
38995         * modules/acl (Maintainer): Add Bruno Haible.
38996
38997 2008-06-07  Bruno Haible  <bruno@clisp.org>
38998
38999         Improve support for Tru64 ACLs.
39000         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
39001         ACL on OSF/1.
39002
39003 2008-06-07  Bruno Haible  <bruno@clisp.org>
39004
39005         Add support for MacOS X ACLs.
39006         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
39007         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
39008         * lib/set-mode-acl.c (qset_acl): Likewise.
39009         * lib/copy-acl.c (qcopy_acl): Likewise.
39010
39011 2008-06-07  Bruno Haible  <bruno@clisp.org>
39012
39013         Fix memory leak introduced on 2008-05-22.
39014         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
39015         use.
39016
39017 2008-06-07  Bruno Haible  <bruno@clisp.org>
39018
39019         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
39020         to construct an empty ACL.
39021
39022 2008-06-07  Bruno Haible  <bruno@clisp.org>
39023
39024         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
39025         precisely.
39026         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
39027
39028 2008-06-07  Bruno Haible  <bruno@clisp.org>
39029
39030         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
39031         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
39032
39033 2008-06-07  Bruno Haible  <bruno@clisp.org>
39034
39035         * doc/posix-functions/_setjmp.texi: Explain the use of this function
39036         regardless of POSIX.
39037         * doc/posix-functions/_longjmp.texi: Likewise.
39038         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
39039         SystemV platform in this case.
39040
39041 2008-06-06  Eric Blake  <ebb9@byu.net>
39042
39043         Document abort() bugs.
39044         * doc/posix-functions/abort.texi (abort): Mention anomalies.
39045
39046         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
39047         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
39048         sigsetjmp.
39049         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
39050         siglongjmp, but only as a macro.
39051         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
39052         is obsolete.
39053         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
39054
39055         Tweak documentation to cover cygwin argz bugs.
39056         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
39057         argz bug fix; no code change needed since no cygwin releases
39058         occurred between the last fix and the bug being tested.
39059         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
39060         module and recently fixed cygwin bugs.
39061         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
39062         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
39063         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
39064         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
39065         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
39066         Likewise.
39067         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
39068         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
39069         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
39070         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
39071         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
39072         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
39073         Likewise.
39074
39075         Avoid gcc warning on cygwin.
39076         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
39077         !ACL_NO_TRIVIAL]: Avoid unused variable.
39078
39079 2008-06-05  Eric Blake  <ebb9@byu.net>
39080
39081         Be tolerant of UNKNOWN version in gnulib-tool test dir.
39082         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
39083         git-version-gen fails to come up with a version.
39084         Reported by Simon Josefsson.
39085
39086 2008-06-05  Jim Meyering  <meyering@redhat.com>
39087             Paul Eggert  <eggert@cs.ucla.edu>
39088
39089         utimens.c: work around a probable Linux kernel bug
39090         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
39091         appears to be a kernel bug that causes utimensat to return 280
39092         instead of 0, indicating success.
39093
39094 2008-06-04  Bruno Haible  <bruno@clisp.org>
39095
39096         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
39097         2008-06-01 commit.
39098
39099 2008-06-04  Bruno Haible  <bruno@clisp.org>
39100
39101         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
39102         * lib/file-has-acl.c (acl_access_nontrivial): New function.
39103         (file_has_acl): Use it. Save errno afterwards.
39104         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
39105
39106 2008-06-03  Bruno Haible  <bruno@clisp.org>
39107
39108         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
39109         draft code. Simplify #ifs.
39110         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
39111         Put Solaris code after POSIX-draft code. Fix comments regarding
39112         Solaris 10, HP-UX. Mention Cygwin.
39113         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
39114
39115 2008-06-03  Eric Blake  <ebb9@byu.net>
39116
39117         Provide fallback for older kernels.
39118         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
39119         Provide runtime fallback if kernel lacks support.
39120         Reported by Mike Frysinger.
39121
39122 2008-06-02  Bruno Haible  <bruno@clisp.org>
39123
39124         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
39125         it exists.
39126
39127 2008-06-02  Bruno Haible  <bruno@clisp.org>
39128
39129         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
39130         * lib/copy-acl.c (qcopy_acl): Update comment.
39131
39132 2008-06-02  Bruno Haible  <bruno@clisp.org>
39133
39134         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
39135         like ACL APIs.
39136
39137 2008-06-02  Bruno Haible  <bruno@clisp.org>
39138
39139         * tests/test-file-has-acl.sh: Use different code for Cygwin.
39140         * tests/test-set-mode-acl.sh: Likewise.
39141         * tests/test-copy-acl.sh: Likewise.
39142         * tests/test-copy-file.sh: Likewise.
39143
39144 2008-06-02  Bruno Haible  <bruno@clisp.org>
39145
39146         * tests/test-file-has-acl.sh: Remove unused code.
39147
39148 2008-06-01  Bruno Haible  <bruno@clisp.org>
39149
39150         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
39151         (copy_acl): Just a wrapper around qcopy_acl that emits the error
39152         messages.
39153         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
39154
39155 2008-06-01  Bruno Haible  <bruno@clisp.org>
39156
39157         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
39158         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
39159         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
39160         APIs.
39161         * modules/acl-tests (configure.ac): Remove tests now contained in
39162         m4/acl.m4.
39163
39164 2008-06-02  Jim Meyering  <meyering@redhat.com>
39165
39166         announce-gen: use a better key-server host name
39167         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
39168         it may be more consistently reliable.  Suggested by Werner Koch
39169         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
39170
39171 2008-06-01  Bruno Haible  <bruno@clisp.org>
39172
39173         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
39174         Reported by Voroskoi Andras <voroskoi@gmail.com>.
39175
39176 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
39177
39178         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
39179
39180 2008-06-01  Bruno Haible  <bruno@clisp.org>
39181
39182         New ACL tests.
39183         * tests/test-file-has-acl.sh: New file.
39184         * tests/test-file-has-acl.c: New file.
39185         * tests/test-set-mode-acl.sh: New file.
39186         * tests/test-set-mode-acl.c: New file.
39187         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
39188         * tests/test-copy-acl.c: New file.
39189         * modules/acl-tests: New file, based on modules/copy-file-tests.
39190         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
39191         (Depends-on): Add acl-tests.
39192         (configure.ac): Remove checks.
39193         (Makefile.am): Don't create test-sameacls program here any more.
39194
39195 2008-06-01  Bruno Haible  <bruno@clisp.org>
39196
39197         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
39198         * tests/test-sameacls.c: Include progname.h.
39199         (main): Invoke set_program_name. Portability fixes for MacOS X,
39200         Solaris, HP-UX.
39201
39202 2008-06-01  Bruno Haible  <bruno@clisp.org>
39203
39204         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
39205         function.
39206         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
39207
39208 2008-06-01  Bruno Haible  <bruno@clisp.org>
39209
39210         * modules/rpmatch (Depends-on): Add strdup.
39211
39212 2008-06-01  Bruno Haible  <bruno@clisp.org>
39213
39214         * lib/pipe.c: Include unistd-safer.h.
39215         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
39216         * modules/pipe (Depends-on): Add unistd-safer.
39217
39218 2008-05-30  Simon Josefsson  <simon@josefsson.org>
39219
39220         * modules/autobuild (configure.ac): Call AB_INIT.
39221
39222 2008-05-30  Simon Josefsson  <simon@josefsson.org>
39223
39224         * tests/test-getaddrinfo.c: Don't print debug messages by default.
39225         Suggested by Bruno Haible <bruno@clisp.org>.
39226
39227 2008-05-30  Simon Josefsson  <simon@josefsson.org>
39228
39229         * tests/test-base64.c: Cast size_t to unsigned long when invoking
39230         printf.  Use %lu instead of %d.  Reported by Bruno Haible
39231         <bruno@clisp.org>.
39232
39233 2008-05-29  Eric Blake  <ebb9@byu.net>
39234
39235         Prefer new POSIX 200x interfaces over futimesat.
39236         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
39237         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
39238         when available.
39239         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
39240
39241 2008-05-28  Bruno Haible  <bruno@clisp.org>
39242
39243         * modules/stpcpy (License): Change to LGPLv2+.
39244         Requested by David Lutterkort <dlutter@redhat.com>.
39245
39246 2008-05-27  Bruno Haible  <bruno@clisp.org>
39247
39248         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
39249         current mingw.
39250         Reported by Jose E. Marchesi <jemarch@gnu.org>.
39251
39252 2008-05-27  Bruno Haible  <bruno@clisp.org>
39253
39254         * modules/iconv_open (Link): New section, from module 'iconv'.
39255         * modules/striconv (Link): Likewise.
39256         * modules/striconveh (Link): Likewise.
39257         * modules/xstriconv (Link): Likewise.
39258         * modules/unicodeio (Link): Likewise.
39259         * modules/propername (Link): Likewise.
39260         Reported by Jim Meyering.
39261
39262 2008-05-26  Jim Meyering  <meyering@redhat.com>
39263
39264         sha256: do not artificially restrict buffer length to be < 2^32
39265         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
39266         uint32_t to size_t.
39267         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
39268         to match.
39269
39270         avoid unaligned access errors, e.g., on sparc
39271         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
39272         direct access through a possibly-unaligned uint64* pointer.
39273         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
39274         direct access through a possibly-unaligned uint32* pointer.
39275         Prompted by this patch from Tom "spot" Callaway:
39276         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
39277
39278         sha512.c: fix typo in comment
39279         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
39280
39281 2008-05-25  Bruno Haible  <bruno@clisp.org>
39282
39283         * lib/set-mode-acl.c: Renamed from lib/acl.c.
39284         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
39285         (Makefile.am): Update lib_SOURCES.
39286
39287 2008-05-25  Bruno Haible  <bruno@clisp.org>
39288
39289         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
39290
39291 2008-05-25  Jim Meyering  <meyering@redhat.com>
39292
39293         useless-if-before-free: freed expr may have white-space differences
39294         * build-aux/useless-if-before-free: Recognize cases in which the
39295         freed expression differs from the tested one in embedded white
39296         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
39297         $1 was used, so we can't make any regexp shy.  Improved tests now
39298         detect this.
39299
39300         useless-if-before-free: accept white space in the expression.
39301         * build-aux/useless-if-before-free: For now, any white space
39302         in the expression must be identical in the free argument.
39303
39304         useless-if-before-free: efficiency tweak
39305         * build-aux/useless-if-before-free: Make the expression-matching
39306         regexp "shy".
39307         Make the *outer* regexp shy, not the expr-matching one.
39308
39309         update code-in-comment to accept cast of free arg
39310         * build-aux/useless-if-before-free: Update regexp.
39311
39312 2008-05-25  Bruno Haible  <bruno@clisp.org>
39313
39314         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
39315         * modules/copy-file-tests (Files, Makefile.am): Update.
39316         * tests/test-copy-file.c (func_test_copy): Update.
39317
39318 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
39319
39320         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
39321
39322 2008-05-23  Bruno Haible  <bruno@clisp.org>
39323
39324         Improve support for ACLs on OSF/1.
39325         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
39326         Remove fallback for unknown flavors of ACLs.
39327
39328 2008-05-22  Bruno Haible  <bruno@clisp.org>
39329
39330         Add support for ACLs on OSF/1.
39331         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
39332         replacements.
39333         (acl_free_text): New macro fallback.
39334         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
39335         acl_free.
39336         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
39337         acl_free_text function. Require AC_C_INLINE.
39338
39339 2008-05-22  Bruno Haible  <bruno@clisp.org>
39340
39341         Make copy_acl work on MacOS X 10.5.
39342         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
39343         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
39344         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
39345         If MODE_INSIDE_ACL, don't assume that every system has the same text
39346         representation for ACLs as FreeBSD.
39347         * lib/copy-acl.c (copy_acl): Add support for platforms with
39348         !MODE_INSIDE_ACL.
39349         * lib/file-has-acl.c (file_has_acl): Likewise.
39350         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
39351         FreeBSD, MacOS X, or IRIX, respectively.
39352
39353 2008-05-22  Bruno Haible  <bruno@clisp.org>
39354
39355         * lib/acl.h: Don't include <sys/acl.h>.
39356         (GETACLCNT): Move fallback to lib/acl-internal.h.
39357         * lib/acl-internal.h: Include <sys/acl.h> here.
39358         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
39359
39360 2008-05-22  Bruno Haible  <bruno@clisp.org>
39361
39362         Split off copy_acl function to separate file.
39363         * lib/copy-acl.c: New file, extracted from lib/acl.c.
39364         * lib/acl.c (copy_acl): Moved function to separate file.
39365         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
39366         * modules/acl (Files): Add lib/copy-acl.c.
39367         (Makefiles.am): Augment lib_SOURCES.
39368
39369 2008-05-22  Bruno Haible  <bruno@clisp.org>
39370
39371         * modules/copy-file-tests: New file.
39372         * tests/test-copy-file.sh: New file.
39373         * tests/test-copy-file.c: New file.
39374         * tests/test-copy-file-sameacls.c: New file.
39375
39376 2008-05-22  Eric Blake  <ebb9@byu.net>
39377
39378         Avoid gcc warning.
39379         * tests/test-memcmp.c (main): Pass NULL indirectly.
39380
39381 2008-05-21  Bruno Haible  <bruno@clisp.org>
39382
39383         Add reference doc about ACLs.
39384         * doc/acl-resources.txt: New file.
39385         * doc/acl-cygwin.txt: New file.
39386
39387 2008-05-21  Bruno Haible  <bruno@clisp.org>
39388
39389         Avoid one more warning from gcc.
39390         * lib/vasnprintf.c (IF_LINT): Update comments.
39391         (VASNPRINTF): Use it also for the 'prefix' array initializer.
39392
39393 2008-05-21  Jim Meyering  <meyering@redhat.com>
39394
39395         avoid a warning from gcc
39396         * lib/vasnprintf.c (IF_LINT): Define.
39397         (scale10_round_decimal_long_double):
39398         Use it to avoid a "may be used uninitialized" warning.
39399         (scale10_round_decimal_double): Likewise.
39400
39401 2008-05-21  Simon Josefsson  <simon@josefsson.org>
39402
39403         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
39404         declared.
39405
39406 2008-05-20  Bruno Haible  <bruno@clisp.org>
39407
39408         * tests/test-memcmp.c (main): Test also the sign of the result. Test
39409         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
39410
39411 2008-05-20  Simon Josefsson  <simon@josefsson.org>
39412
39413         * modules/memcmp-tests: New file.
39414         * tests/test-memcmp.c: New file.
39415
39416 2008-05-19  Bruno Haible  <bruno@clisp.org>
39417
39418         * modules/propername (Notice, configure.ac): Put quoted "..." into
39419         --keyword option.
39420         * lib/propername.h: Update comments accordingly.
39421         Reported by Eric Blake.
39422
39423 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
39424
39425         * modules/getpass-gnu (Depends-on): Add fseeko.
39426
39427 2008-05-19  Simon Josefsson  <simon@josefsson.org>
39428
39429         * modules/base64-tests: New file.
39430
39431 2008-05-19  Bo Borgerson <gigabo@gmail.com>
39432
39433         * lib/base64.c (base64_decode_ctx): If a decode context structure
39434         was passed in use it to ignore newlines.  If a context structure
39435         was _not_ passed in, continue to treat newlines as garbage (this
39436         is the historical behavior).  Formerly base64_decode.
39437         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
39438         takes a decode context structure.
39439         * lib/base64.h (base64_decode): Macro for four-argument calls.
39440         (base64_decode_alloc): Likewise.
39441         * lib/base64.c (base64_decode_ctx): If a decode context structure
39442         was passed in use it to ignore newlines.  If a context structure
39443         was _not_ passed in, continue to treat newlines as garbage (this
39444         is the historical behavior).  Formerly base64_decode.
39445         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
39446         takes a decode context structure.
39447         * lib/base64.h (base64_decode): Macro for four-argument calls.
39448         (base64_decode_alloc): Likewise.
39449
39450 2008-05-19  Jim Meyering  <meyering@redhat.com>
39451
39452         avoid a warning from gcc
39453         * lib/trim.c (IF_LINT): Define.
39454         (trim2): Use it to avoid a "may be used uninitialized" warning.
39455
39456         Fix doc typo.
39457         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
39458
39459 2008-05-19  Bruno Haible  <bruno@clisp.org>
39460
39461         * doc/glibc-functions/getpass.texi: Document limits of other
39462         implementations.
39463
39464 2008-05-19  Simon Josefsson  <simon@josefsson.org>
39465             Bruno Haible <bruno@clisp.org>
39466
39467         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
39468
39469 2008-05-18  Bruno Haible  <bruno@clisp.org>
39470
39471         * modules/propername: New file, from GNU gettext.
39472         * lib/propername.h: New file, from GNU gettext.
39473         * lib/propername.c: New file, from GNU gettext.
39474         * MODULES.html.sh (Internationalization functions): Add propername.
39475
39476 2008-05-16  Jim Meyering  <meyering@redhat.com>
39477             Bruno Haible  <bruno@clisp.org>
39478
39479         Avoid some warnings from "gcc -Wshadow".
39480         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
39481
39482 2008-05-15  Eric Blake  <ebb9@byu.net>
39483
39484         Extend previous patch to cygwin 1.7.0.
39485         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
39486         fast implementation in cygwin >= 1.7.0.
39487         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
39488         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
39489
39490 2008-05-15  Bruno Haible  <bruno@clisp.org>
39491
39492         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
39493         implementation in glibc >= 2.9.
39494         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
39495         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
39496
39497 2008-05-15  Bruno Haible  <bruno@clisp.org>
39498
39499         * MODULES.html.sh (Internationalization functions): Remove linebreak.
39500         (Unicode string functions): Add unilbrk/*.
39501         Reported by Karl Berry.
39502
39503 2008-05-15  Eric Blake  <ebb9@byu.net>
39504
39505         Fix violation of <stdbool.h> replacement in regex.
39506         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
39507         * lib/regexec.c (re_search_internal): Likewise.
39508         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
39509
39510 2008-05-15  Jim Meyering  <meyering@redhat.com>
39511
39512         avoid distracting test output when git or cvs is not found
39513         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
39514         * tests/test-vc-list-files-git.sh: Likewise.
39515
39516 2008-05-15  Eric Blake  <ebb9@byu.net>
39517
39518         Glibc finally accepted the memmem speedup code, bugzilla #5514.
39519         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
39520         glibc version.
39521         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
39522         * doc/posix-functions/strstr.texi (strstr): Likewise.
39523         * lib/str-two-way.h (MAX): Sychronize with glibc.
39524
39525 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
39526
39527         * lib/regcomp.c (optimize_utf8): Add a note on why we test
39528         opr.ctx_type.
39529         (calc_first): Initialize constraint field.
39530         (duplicate_node_closure): Use it instead of special casing ANCHORS.
39531         Fix grammar.
39532         (duplicate_node): Merge constraint field for all node types.
39533         (calc_eclosure_iter): Look at constraint field for all node types.
39534         * lib/regex_internal.c (create_cd_newstate): Don't look at
39535         opr.ctx_type.
39536
39537 2008-05-14  Bruno Haible  <bruno@clisp.org>
39538
39539         Help GCC to do better code generation.
39540         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
39541         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
39542         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
39543         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
39544         Declare with attribute 'malloc' if supported.
39545
39546 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
39547
39548         use "echo STR|wc -c" rather than unportable "expr length STR"
39549         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
39550         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
39551
39552 2008-05-14  Jim Meyering  <meyering@redhat.com>
39553
39554         use dd ibs=$n count=1 ... rather than less-portable head -c$n
39555         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
39556         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
39557         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
39558         via Collin Lasse.
39559
39560 2008-05-14  Eric Blake  <ebb9@byu.net>
39561
39562         Avoid quadratic growth in gl_LIBSOURCES.
39563         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
39564         Suggested by Bruno Haible.
39565
39566         Test xmemdup0.
39567         * modules/xmemdup0-tests: New file.
39568         * tests/test-xmemdup0.c: Likewise.
39569
39570 2008-05-13  Eric Blake  <ebb9@byu.net>
39571
39572         Split xmemdup0 into its own module.
39573         * modules/xmemdup0: New file.
39574         * lib/xmemdup0.h: Likewise.
39575         * lib/xmemdup0.c: Likewise.
39576         * MODULES.html.sh (Memory management functions): Add xmemdup0.
39577         * lib/xalloc.h (xmemdup0): Remove.
39578         * lib/xmalloc.c (xmemdup0): Likewise.
39579
39580 2008-05-13  Eric Blake  <ebb9@byu.net>
39581             Bruno Haible  <bruno@clisp.org>
39582
39583         Reduce number of forks required during autoconf.
39584         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
39585         and gl_LIBSOURCES_DIR.
39586         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
39587         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
39588         m4_syscmd per file.
39589         <m4_foreach_w>: Move...
39590         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
39591
39592 2008-05-13  Eric Blake  <ebb9@byu.net>
39593
39594         * gnulib-tool: Fix various comment typos.
39595
39596 2008-05-12  Bruno Haible  <bruno@clisp.org>
39597
39598         Tailor the linebreaking algorithm.
39599         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
39600
39601 2008-05-12  Bruno Haible  <bruno@clisp.org>
39602
39603         Update to Unicode 5.0.0.
39604         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
39605         LBP_JV, LBP_JT. Redistribute values.
39606         (unilbrk_table): Change size.
39607         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
39608         Unicode TR#14 rev. 22.
39609         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
39610         LBP_JV, LBP_JT. Redistribute values.
39611         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
39612         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
39613         Update.
39614         * lib/unilbrk/lbrkprop1.h: Regenerated.
39615         * lib/unilbrk/lbrkprop2.h: Regenerated.
39616         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
39617         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
39618         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
39619         Likewise.
39620         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
39621         Likewise.
39622         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
39623         result.
39624         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
39625         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
39626         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
39627         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
39628         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
39629         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
39630
39631 2008-05-11  Bruno Haible  <bruno@clisp.org>
39632
39633         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
39634
39635 2008-05-11  Bruno Haible  <bruno@clisp.org>
39636
39637         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
39638         * modules/unilbrk/gen-lbrk: New file.
39639
39640 2008-05-11  Bruno Haible  <bruno@clisp.org>
39641
39642         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
39643         * m4/sha512.m4 (gl_SHA512): Likewise.
39644
39645 2008-05-11  Jim Meyering  <meyering@redhat.com>
39646
39647         New modules: crypto/sha256, crypto/sha512 (from coreutils)
39648         * modules/crypto/sha256: New file.
39649         * modules/crypto/sha512: Likewise.
39650         * lib/sha256.c: Likewise.
39651         * lib/sha256.h: Likewise.
39652         * lib/sha512.c: Likewise.
39653         * lib/sha512.h: Likewise.
39654         * lib/u64.h: Likewise.
39655         * m4/sha256.m4: Likewise.
39656         * m4/sha512.m4: Likewise.
39657         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
39658
39659 2008-05-10  Bruno Haible  <bruno@clisp.org>
39660
39661         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
39662         (Input/Output <stdio.h>): Add xprintf.
39663         (Signal handling <signal.h>): Add strsignal.
39664         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
39665         (Core language properties): Add func.
39666         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
39667         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
39668         strings.
39669         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
39670         (Input/output): New section.
39671         (File system functions): Add openat-die, stat-macros.
39672         (Networking functions): Add sockets.
39673         (Unicode string functions): Add unictype/*.
39674         (Support for building libraries and executables): Add gperf.
39675         (Support for building documentation): Add agpl-3.0.
39676         (Misc): Add nocrash.
39677
39678 2008-05-10  Bruno Haible  <bruno@clisp.org>
39679
39680         * modules/unictype/gen-ctype: New file.
39681
39682 2008-05-10  Jim Meyering  <meyering@redhat.com>
39683
39684         Make chdir-safer.c more efficient on a system with no symlinks.
39685         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
39686         also if ELOOP is zero.  Suggested by Bruno Haible.
39687
39688         Make chdir-safer.c slightly safer.
39689         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
39690         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
39691
39692         Avoid compile failure on systems without ELOOP (like mingw).
39693         * lib/chdir-safer.c (ELOOP): Define if not already defined.
39694         Reported by Bruno Haible.
39695
39696 2008-05-10  Bruno Haible  <bruno@clisp.org>
39697
39698         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
39699         (is_utf8_encoding): Use a case-insensitive comparison.
39700         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
39701         streq.
39702
39703 2008-05-10  Bruno Haible  <bruno@clisp.org>
39704
39705         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
39706         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
39707         * lib/unilbrk/ulc-common.h (iconv_string_length,
39708         iconv_string_keeping_offsets): Remove declarations.
39709         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
39710         Don't include <iconv.h>, streq.h, xsize.h.
39711         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
39712         conversion.
39713         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
39714         <iconv.h>, streq.h, xsize.h.
39715         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
39716         conversion.
39717         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
39718         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
39719         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
39720         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
39721
39722 2008-05-10  Bruno Haible  <bruno@clisp.org>
39723
39724         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
39725         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
39726
39727         * modules/unilbrk/u32-width-linebreaks-tests: New file.
39728         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
39729
39730         * modules/unilbrk/u16-width-linebreaks-tests: New file.
39731         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
39732
39733         * modules/unilbrk/u8-width-linebreaks-tests: New file.
39734         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
39735
39736         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
39737         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
39738
39739         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
39740         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
39741
39742         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
39743         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
39744
39745         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
39746         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
39747
39748 2008-05-10  Bruno Haible  <bruno@clisp.org>
39749
39750         Split up 'linebreak' module.
39751         * lib/unilbrk.h: New file, based on lib/linebreak.h.
39752         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
39753         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
39754         modifications.
39755         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
39756         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
39757         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
39758         lib/linebreak.c.
39759         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
39760         lib/linebreak.c.
39761         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
39762         lib/linebreak.c.
39763         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
39764         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
39765         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
39766         lib/linebreak.c.
39767         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
39768         lib/linebreak.c.
39769         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
39770         lib/linebreak.c.
39771         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
39772         lib/linebreak.c.
39773         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
39774         lib/linebreak.c.
39775         * modules/unilbrk/base: New file.
39776         * modules/unilbrk/tables: New file.
39777         * modules/unilbrk/u8-possible-linebreaks: New file.
39778         * modules/unilbrk/u16-possible-linebreaks: New file.
39779         * modules/unilbrk/u32-possible-linebreaks: New file.
39780         * modules/unilbrk/ulc-common: New file.
39781         * modules/unilbrk/ulc-possible-linebreaks: New file.
39782         * modules/unilbrk/u8-width-linebreaks: New file.
39783         * modules/unilbrk/u16-width-linebreaks: New file.
39784         * modules/unilbrk/u32-width-linebreaks: New file.
39785         * modules/unilbrk/ulc-width-linebreaks: New file.
39786         * lib/linebreak.h: Remove file.
39787         * lib/linebreak.c: Remove file.
39788         * m4/linebreak.m4: Remove file.
39789         * modules/linebreak: Remove file.
39790         * NEWS: Mention the changes.
39791
39792 2008-05-09  Eric Blake  <ebb9@byu.net>
39793
39794         Add xmemdup0.
39795         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
39796         implementation.
39797         * lib/xmalloc.c (xmemdup0): New C implementation.
39798
39799 2008-05-08  Bruno Haible  <bruno@clisp.org>
39800
39801         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
39802
39803 2008-05-07  Eric Blake  <ebb9@byu.net>
39804
39805         Support cross-compilation of <wctype.h>.
39806         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
39807         AC_CACHE_CHECK.
39808
39809 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
39810
39811         * build-aux/vc-list-files: Add support for bzr.
39812
39813 2008-05-03  Jim Meyering  <meyering@redhat.com>
39814
39815         avoid failed assertion with tight malloc
39816         * tests/test-getndelim2.c: Correct an off-by-one assertion.
39817
39818 2008-05-03  Simon Josefsson  <simon@josefsson.org>
39819
39820         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
39821         are needed from arpa/inet.h.
39822         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
39823         Reported by Bruno Haible.
39824
39825 2008-05-02  Jim Meyering  <meyering@redhat.com>
39826
39827         avoid compilation error on FreeBSD 6
39828         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
39829
39830 2008-05-01  Jim Meyering  <meyering@redhat.com>
39831
39832         useless-if-before-free: correct --help's exit status description
39833         * build-aux/useless-if-before-free (usage): Like grep, exit 0
39834         for one or more matches, etc.  Reported by Bruno Haible.
39835
39836         vc-list-files: make the stand-alone gnulib test work
39837         * modules/vc-list-files-tests (configure.ac):
39838         Define and AC_SUBST abs_aux_dir.
39839         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
39840         $(abs_top_srcdir) to each script and having each of them
39841         duplicate the work of setting PATH, set PATH here, using
39842         the new variable, abs_aux_dir instead.
39843         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
39844         * tests/test-vc-list-files-git.sh: Likewise.
39845         Reported by Bruno Haible.
39846
39847 2008-05-01  Bruno Haible  <bruno@clisp.org>
39848
39849         * lib/getndelim2.c (getndelim2): Fix newsize computation during
39850         reallocation. Rename 'done' to 'found_delimiter'.
39851
39852 2008-05-01  Jim Meyering  <meyering@redhat.com>
39853
39854         vc-list-files: accommodate /bin/sh like the one from Solaris 10
39855         * build-aux/vc-list-files: Use `...`, not $(...).
39856
39857 2008-04-30  Jim Meyering  <meyering@redhat.com>
39858
39859         add tests for vc-list-files
39860         * modules/vc-list-files-tests: New module.
39861         * tests/test-vc-list-files-cvs.sh: New file.
39862         * tests/test-vc-list-files-git.sh: New file.
39863
39864         avoid a warning from gcc
39865         * lib/getndelim2.c (IF_LINT): Define.
39866         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
39867
39868         vc-list-files: work properly with build-aux/cvsu, too
39869         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
39870         to all cvs-based clauses.
39871
39872         vc-list-files: work properly in the CVS+awk case, too
39873         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
39874
39875         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
39876         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
39877         take more than one file argument, so .  Add quotes, just in case $dir
39878         ever contains a shell meta-character.  Prompted by Soren Hansen in
39879         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
39880
39881 2008-04-29  Eric Blake  <ebb9@byu.net>
39882
39883         Optimize getndelim2 to use block operations when possible.
39884         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
39885         freadseek, and memchr2.
39886         * lib/getndelim2.c (getndelim2): Use them for block reads.
39887
39888 2008-04-29  Bruno Haible  <bruno@clisp.org>
39889
39890         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
39891         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39892         * modules/inet_ntop (Depends-on): Add extensions.
39893         * modules/inet_pton (Depends-on): Likewise.
39894         Reported by Simon Josefsson.
39895
39896 2008-04-29  Jim Meyering  <meyering@redhat.com>
39897
39898         When the is more than one match in a block, match all of them.
39899         * build-aux/useless-if-before-free: Iterate through each block
39900         until there are no more matches.
39901
39902         Fix broken useless-if-before-free script.
39903         * build-aux/useless-if-before-free: Fix typo: missing "?" after
39904         the expression to match cast of argument to free-like function.
39905
39906 2008-04-29  Eric Blake  <ebb9@byu.net>
39907
39908         Use new header.
39909         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
39910
39911 2008-04-29  Jim Meyering  <meyering@redhat.com>
39912
39913         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
39914         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
39915         by gnulib to exist and to declare e.g., inet_ntop.
39916         Don't include "inet_ntop.h", now removed.
39917
39918         * m4/arpa_inet_h.m4: Remove trailing blanks.
39919
39920 2008-04-29  Eric Blake  <ebb9@byu.net>
39921
39922         Silence valgrind on safe reads beyond potential array bounds.
39923         * lib/rawmemchr.valgrind: New file.
39924         * lib/strchrnul.valgrind: Likewise.
39925         * modules/rawmemchr (Files): Distribute new file.
39926         * modules/strchrnul (Files): Likewise.
39927         Suggested by Bruno Haible.
39928
39929 2008-04-29  Bruno Haible  <bruno@clisp.org>
39930
39931         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
39932         (inet_ntop, inet_pton): Change portability warning's wording.
39933         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
39934         Invoke gl_CHECK_NEXT_HEADERS.
39935         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
39936         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
39937         set ARPA_INET_H.
39938         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
39939         * modules/arpa_inet (Description): No longer only for systems that
39940         lack it.
39941         (Depends-on): Add include_next.
39942         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
39943         HAVE_ARPA_INET_H.
39944
39945 2008-04-29  Jim Meyering  <meyering@redhat.com>
39946
39947         * modules/mkdir (License): Re-license as LGPLv2+.
39948
39949 2008-04-29  Bruno Haible  <bruno@clisp.org>
39950
39951         * modules/rawmemchr (Maintainer): Set to Eric.
39952         * modules/strchrnul (Maintainer): Likewise.
39953
39954 2008-04-29  Simon Josefsson  <simon@josefsson.org>
39955
39956         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
39957         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
39958
39959         * modules/arpa_inet (arpa/inet.h): Use them.
39960
39961 2008-04-28  Eric Blake  <ebb9@byu.net>
39962
39963         Test getndelim2.
39964         * modules/getndelim2-tests: New file.
39965         * tests/test-getndelim2.c: Likewise.
39966         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
39967         stream.
39968         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
39969
39970         * MODULES.html.sh: Document new module.
39971
39972 2008-04-20  Bruno Haible  <bruno@clisp.org>
39973
39974         * lib/c-stack.c (die): Use raise.
39975         * modules/c-stack (Depends-on): Add raise.
39976
39977 2008-04-28  Bruno Haible  <bruno@clisp.org>
39978
39979         Expect rpmatch to be declared.
39980         * lib/yesno.c (rpmatch): Remove declaration.
39981
39982         Declare rpmatch.
39983         * lib/stdlib.in.h (rpmatch): New declaration.
39984         * lib/rpmatch.c: Include <stdlib.h> first.
39985         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
39986         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
39987         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
39988         HAVE_RPMATCH.
39989         * modules/rpmatch (Depends-on): Add stdlib, extensions.
39990         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
39991         (Include): Set to <stdlib.h>.
39992         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
39993         HAVE_RPMATCH.
39994         * NEWS: Document the change.
39995
39996 2008-04-28  Bruno Haible  <bruno@clisp.org>
39997
39998         Change rpmatch to use nl_langinfo when appropriate.
39999         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
40000         (N_): New macro.
40001         (localized_pattern): New function/macro.
40002         (try): Remove match, nomatch arguments. Copy the pattern into safe
40003         memory before caching it.
40004         (rpmatch): Use localized_pattern. Add translator comments.
40005         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
40006         Suggested by Eric Blake.
40007         * modules/rpmatch (Depends-on): Add stdbool.
40008
40009 2008-04-28  Eric Blake  <ebb9@byu.net>
40010
40011         Add rawmemchr module, matching glibc.
40012         * modules/string (Makefile.am): New indicator.
40013         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
40014         * lib/string.in.h (rawmemchr): Declare when appropriate.
40015         * modules/rawmemchr: New file.
40016         * m4/rawmemchr.m4: Likewise.
40017         * lib/rawmemchr.c: Likewise.
40018         * modules/rawmemchr-tests: Likewise.
40019         * tests/test-rawmemchr.c: Likewise.
40020         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
40021         module.
40022         * modules/strchrnul (Depends-on): Add rawmemchr.
40023         * lib/strchrnul.c (strchrnul): Optimize a corner case.
40024
40025         Whitespace cleanup.
40026         * tests/test-strchrnul.c: Reindent.
40027         * lib/strchrnul.c: Likewise.
40028
40029         Optimize and test strchrnul.
40030         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
40031         * modules/strchrnul-tests: New file.
40032         * tests/test-strchrnul.c: Likewise.
40033
40034         Remove intprops dependency.
40035         * modules/memchr (Depends-on): Remove intprops.
40036         * modules/memrchr (Depends-on): Likewise.
40037         * modules/memchr2 (Depends-on): Likewise.
40038         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
40039         * lib/memrchr.c (__memrchr): Likewise.
40040         * lib/memrchr2.c (memchr2): Likewise.
40041         Reported by Simon Josefsson.
40042
40043 2008-04-28  Simon Josefsson  <simon@josefsson.org>
40044
40045         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
40046         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40047
40048 2008-04-28  Simon Josefsson  <simon@josefsson.org>
40049
40050         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
40051
40052         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
40053
40054         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
40055
40056         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
40057         declarations.
40058         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
40059
40060         * m4/inet_pton.m4: Don't check for header files.
40061
40062         * m4/inet_ntop.m4: Don't check for header files.
40063
40064 2008-04-28  Simon Josefsson  <simon@josefsson.org>
40065
40066         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
40067         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
40068         trigger for cygwin).
40069         Reported by Bruno Haible  <bruno@clisp.org>.
40070
40071 2008-04-28  Bruno Haible  <bruno@clisp.org>
40072
40073         * doc/posix-functions/strdup.texi: Mention mingw problem.
40074
40075 2008-04-27  Bruno Haible  <bruno@clisp.org>
40076
40077         * modules/stat-time-tests (Depends-on): Add sleep.
40078         * tests/test-stat-time.c (force_unlink): New function.
40079         (cleanup): Use it.
40080         (test_mtime): Remove the ctime related tests.
40081         (test_ctime): New function, containing the ctime related tests.
40082         (main): Call test_ctime, except on native Windows platforms.
40083
40084 2008-04-27  Bruno Haible  <bruno@clisp.org>
40085
40086         * lib/rpmatch.c (rpmatch): Add some comments.
40087         Reported by James Youngman <jay@gnu.org>.
40088
40089 2008-04-27  Bruno Haible  <bruno@clisp.org>
40090
40091         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
40092         quiet NaNs.
40093
40094 2008-04-27  Bruno Haible  <bruno@clisp.org>
40095
40096         Make test-yesno.sh work on mingw.
40097         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
40098         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
40099         (main): Set stdin to binary mode.
40100         * modules/yesno-tests (Depends-on): Add binary-io.
40101
40102 2008-04-27  Bruno Haible  <bruno@clisp.org>
40103
40104         Fix 'isfinite' on x86, x86_64, ia64 platforms.
40105         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
40106         argument that lie outside the IEEE 854 domain.
40107         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
40108         (gl_ISFINITE): Use it.
40109         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
40110
40111 2008-04-27  Bruno Haible  <bruno@clisp.org>
40112
40113         Allow local renaming in config.h.
40114         * lib/memrchr.c (memrchr): Don't undefine outside libc.
40115
40116 2008-04-27  Bruno Haible  <bruno@clisp.org>
40117
40118         * lib/memchr.c (__memchr): Change type of 'i'.
40119         * lib/memchr2.c (memchr2): Likewise.
40120
40121 2008-04-26  Eric Blake  <ebb9@byu.net>
40122         and Bruno Haible  <bruno@clisp.org>
40123
40124         Optimize and test memrchr.
40125         * modules/memrchr (Depends-on): Add intprops.
40126         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
40127         * modules/memrchr-tests: New file.
40128         * tests/test-memrchr.c: New file.
40129
40130 2008-04-26  Bruno Haible  <bruno@clisp.org>
40131
40132         Add tentative support for DragonFly BSD.
40133         * lib/stdio-impl.h: Add macros for DragonFly BSD.
40134         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
40135         fp.
40136         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
40137         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
40138         * lib/fpurge.c (fpurge): Likewise.
40139         * lib/freadable.c (freaadable): Likewise.
40140         * lib/freadahead.c (freadahead): Likewise.
40141         * lib/freading.c (freading): Likewise.
40142         * lib/freadptr.c (freadptr): Likewise.
40143         * lib/freadseek.c (freadptrinc): Likewise.
40144         * lib/fseeko.c (fseeko): Likewise.
40145         * lib/fseterr.c (fseterr): Likewise.
40146         * lib/fwritable.c (fwritable): Likewise.
40147         * lib/fwriting.c (fwriting): Likewise.
40148
40149 2008-04-26  Bruno Haible  <bruno@clisp.org>
40150
40151         * lib/stdio-impl.h: New file.
40152         * lib/fbufmode.c: Include stdio-impl.h.
40153         (fbufmode): Use fp_, remove redundant #defines.
40154         * lib/fflush.c: Include stdio-impl.h.
40155         (clear_ungetc_buffer): Remove redundant #defines.
40156         * lib/fpurge.c: Include stdio-impl.h.
40157         (fpurge): Remove redundant #defines.
40158         * lib/freadable.c: Include stdio-impl.h.
40159         (freadable): Remove redundant #defines.
40160         * lib/freadahead.c: Include stdio-impl.h.
40161         (freadahead): Remove redundant #defines.
40162         * lib/freading.c: Include stdio-impl.h.
40163         (freading): Remove redundant #defines.
40164         * lib/freadptr.c: Include stdio-impl.h.
40165         (freadptr): Remove redundant #defines.
40166         * lib/freadseek.c: Include stdio-impl.h.
40167         (freadptrinc): Remove redundant #defines.
40168         * lib/fseeko.c: Include stdio-impl.h.
40169         (rpl_fseeko): Remove redundant #defines.
40170         * lib/fseterr.c: Include stdio-impl.h.
40171         (fseterr): Remove redundant #defines.
40172         * lib/fwritable.c: Include stdio-impl.h.
40173         (fwritable: Remove redundant #defines.
40174         * lib/fwriting.c: Include stdio-impl.h.
40175         (fwriting): Remove redundant #defines.
40176         * modules/fbufmode (Files): Add lib/stdio-impl.h.
40177         * modules/fflush (Files): Likewise.
40178         * modules/fpurge (Files): Likewise.
40179         * modules/freadable (Files): Likewise.
40180         * modules/freadahead (Files): Likewise.
40181         * modules/freading (Files): Likewise.
40182         * modules/freadptr (Files): Likewise.
40183         * modules/freadseek (Files): Likewise.
40184         * modules/fseeko (Files): Likewise.
40185         * modules/fseterr (Files): Likewise.
40186         * modules/fwritable (Files): Likewise.
40187         * modules/fwriting (Files): Likewise.
40188
40189 2008-04-26  Bruno Haible  <bruno@clisp.org>
40190
40191         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
40192         restore_seek_optimization, update_fpos_cache): New functions, extracted
40193         from rpl_fflush.
40194         (rpl_fflush): Use them.
40195         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
40196         (gl_REPLACE_FFLUSH): Use it.
40197
40198 2008-04-26  Bruno Haible  <bruno@clisp.org>
40199
40200         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
40201         on Solaris.
40202         * tests/test-xstrtoimax.sh: Likewise.
40203         * tests/test-xstrtoumax.sh: Likewise.
40204         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40205
40206 2008-04-26  Bruno Haible  <bruno@clisp.org>
40207
40208         * modules/memchr-tests: New file.
40209         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
40210
40211 2008-04-26  Eric Blake  <ebb9@byu.net>
40212             Bruno Haible  <bruno@clisp.org>
40213
40214         * lib/memchr.c: Include intprops.h.
40215         (__memchr): Optimize parallel detection of matching bytes. Rename local
40216         variables. Add explanatory comments.
40217
40218 2008-04-26  Bruno Haible  <bruno@clisp.org>
40219
40220         Fix module 'memchr', broken since 2000-10-28.
40221         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
40222
40223 2008-04-26  Bruno Haible  <bruno@clisp.org>
40224
40225         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
40226         comments.
40227
40228 2008-04-25  Eric Blake  <ebb9@byu.net>
40229
40230         Use native fstatat on cygwin 1.7.0.
40231         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
40232         first.
40233
40234 2008-04-23  Eric Blake  <ebb9@byu.net>
40235
40236         Improve memchr2 performance.
40237         * lib/memchr2.c (memchr2): Further optimize parallel detection of
40238         NUL bytes.
40239         * modules/memchr2 (Depends-on): Use intprops.h.
40240
40241 2008-04-23  Simon Josefsson  <simon@josefsson.org>
40242
40243         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
40244         an inline function instead of a CPP macro.  Patch by Ben Pfaff
40245         <blp@cs.stanford.edu>.
40246
40247 2008-04-23  Simon Josefsson  <simon@josefsson.org>
40248
40249         * lib/arpa_inet.in.h: New file.
40250
40251         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
40252         (Makefile.am): Sed in substitute header file.
40253
40254         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
40255         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
40256
40257         * modules/inet_ntop (configure.ac): Use
40258         gl_ARPA_INET_MODULE_INDICATOR.
40259
40260         * modules/inet_pton (configure.ac): Use
40261         gl_ARPA_INET_MODULE_INDICATOR.
40262
40263 2008-04-22  Jim Meyering  <meyering@redhat.com>
40264
40265         * modules/verify (License): Re-license as LGPLv2+.
40266
40267 2008-04-22  Simon Josefsson  <simon@josefsson.org>
40268
40269         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
40270         parameter to void* as per POSIX standard (MinGW uses char*).
40271
40272 2008-04-21  Bruno Haible  <bruno@clisp.org>
40273
40274         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
40275         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
40276         Define to replacements if REPLACE_ISWCNTRL is 1.
40277         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
40278         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
40279         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
40280         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
40281         what it fixes.
40282         * doc/posix-functions/iswalpha.texi: Likewise.
40283         * doc/posix-functions/iswblank.texi: Likewise.
40284         * doc/posix-functions/iswcntrl.texi: Likewise.
40285         * doc/posix-functions/iswdigit.texi: Likewise.
40286         * doc/posix-functions/iswgraph.texi: Likewise.
40287         * doc/posix-functions/iswlower.texi: Likewise.
40288         * doc/posix-functions/iswprint.texi: Likewise.
40289         * doc/posix-functions/iswpunct.texi: Likewise.
40290         * doc/posix-functions/iswspace.texi: Likewise.
40291         * doc/posix-functions/iswupper.texi: Likewise.
40292         * doc/posix-functions/iswxdigit.texi: Likewise.
40293         Reported by Alain Guibert.
40294
40295 2008-04-21  Bruno Haible  <bruno@clisp.org>
40296
40297         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
40298         Patch by Alain Guibert.
40299
40300 2008-04-21  Bruno Haible  <bruno@clisp.org>
40301
40302         Fix test failures on mingw.
40303         * tests/test-xstrtol.c (print_no_progname): New function.
40304         (main): Install it in error_print_progname hook.
40305         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
40306         * tests/test-xstrtoimax.sh: Likewise.
40307         * tests/test-xstrtoumax.sh: Likewise.
40308
40309 2008-04-21  Bruno Haible  <bruno@clisp.org>
40310
40311         Fix test failure on mingw.
40312         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
40313
40314 2008-04-21  Bruno Haible  <bruno@clisp.org>
40315
40316         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
40317         Actually assign a value.
40318
40319 2008-04-20  Bruno Haible  <bruno@clisp.org>
40320
40321         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
40322         take 2.
40323         * lib/canonicalize.c (canonicalize_file_name): Elide if the
40324         'canonicalize-lgpl' module is also used.
40325         * lib/canonicalize-lgpl.c: Undo last change.
40326         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
40327
40328 2008-04-20  Bruno Haible  <bruno@clisp.org>
40329
40330         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
40331         config.h. Provide _mkdir based fallback for mingw.
40332         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
40333         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
40334         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
40335         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
40336         rather than defining mkdir in config.h.
40337         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
40338         (gl_SYS_STAT_H_DEFAULTS): New macro.
40339         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
40340         HAVE_IO_H any more.
40341         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
40342         HAVE_DECL_MKDIR and HAVE_IO_H.
40343
40344 2008-04-20  Bruno Haible  <bruno@clisp.org>
40345
40346         * lib/isapipe.c: Port to native Windows platforms.
40347
40348 2008-04-20  Bruno Haible  <bruno@clisp.org>
40349
40350         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
40351
40352 2008-04-21  Eric Blake  <ebb9@byu.net>
40353
40354         Work around preprocessors that don't handle UINTMAX_MAX.
40355         * lib/memchr2.c (memchr2): Avoid embedded #if.
40356         Reported by Alain Guibert, fix suggested by Bruno Haible.
40357
40358 2008-04-21  Simon Josefsson  <simon@josefsson.org>
40359
40360         * doc/posix-functions/strftime.texi (strftime): Explain better
40361         Windows incompatibility.  Suggested by Micah Cowan
40362         <micah@cowan.name>.
40363
40364 2008-04-20  Bruno Haible  <bruno@clisp.org>
40365
40366         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
40367         unistr/u8-mblen.
40368
40369 2008-04-20  Bruno Haible  <bruno@clisp.org>
40370
40371         Fix test failure on platforms with non-GNU iconv.
40372         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
40373         (U_TO_U8): Use it, rather than u16_to_u8.
40374         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
40375         units at the end of the input string.
40376         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
40377
40378 2008-04-20  Bruno Haible  <bruno@clisp.org>
40379
40380         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
40381         when the resulting length is 0.
40382         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
40383
40384 2008-04-20  Bruno Haible  <bruno@clisp.org>
40385
40386         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
40387         works.
40388         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
40389
40390 2008-04-20  Bruno Haible  <bruno@clisp.org>
40391
40392         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
40393         * modules/tsearch-tests (configure.ac): Test for initstate function.
40394
40395 2008-04-20  Bruno Haible  <bruno@clisp.org>
40396
40397         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
40398         for nlink_t if missing.
40399         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
40400
40401 2008-04-19  Bruno Haible  <bruno@clisp.org>
40402
40403         Work around snprintf bug on Linux libc5.
40404         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
40405         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
40406         gl_SNPRINTF_SIZE1.
40407         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40408         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
40409         that test failed.
40410         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
40411         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
40412         * modules/snprintf (Files): Add m4/printf.m4.
40413         * modules/vsnprintf (Files): Likewise.
40414         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
40415         * doc/posix-functions/vsnprintf.texi: Likewise.
40416
40417 2008-04-19  Bruno Haible  <bruno@clisp.org>
40418
40419         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
40420         from 0.0058 to less than 10^-7.
40421
40422 2008-04-19  Bruno Haible  <bruno@clisp.org>
40423
40424         Fix rounding when a precision is given.
40425         * lib/vasnprintf.c (is_borderline): New function.
40426         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
40427         9...9x.
40428         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
40429         %e, %g.
40430         * tests/test-vasprintf-posix.c (test_function): Likewise.
40431         * tests/test-snprintf-posix.h (test_function): Likewise.
40432         * tests/test-sprintf-posix.h (test_function): Likewise.
40433         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
40434         * tests/test-printf-posix.h (test_function): Likewise.
40435         * tests/test-printf-posix.output: Update.
40436         Reported by John Darrington <john@darrington.wattle.id.au> via
40437         Ben Pfaff <blp@cs.stanford.edu>.
40438
40439 2008-04-18  Simon Josefsson  <simon@josefsson.org>
40440
40441         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
40442         Suggested by Bruno Haible <bruno@clisp.org>.
40443
40444 2008-04-17  Bruno Haible  <bruno@clisp.org>
40445
40446         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
40447         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
40448         implementation.
40449         Patch by Bruce Merry <bmerry@gmail.com>.
40450
40451 2008-04-17  Simon Josefsson  <simon@josefsson.org>
40452
40453         * doc/posix-functions/strftime.texi (strftime): Mention that %e
40454         doesn't work under Windows.
40455
40456 2008-04-16  Bruno Haible  <bruno@clisp.org>
40457
40458         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
40459         New macros.
40460         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
40461         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
40462         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
40463         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
40464         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
40465         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
40466         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
40467         macros.
40468         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
40469         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
40470         Northern Sotho, Uighur.
40471
40472 2008-04-16  Bruno Haible  <bruno@clisp.org>
40473
40474         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
40475         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
40476         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
40477         Reported by Daniel Bergström <daniel@octocode.com>.
40478
40479 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
40480             Bruno Haible  <bruno@clisp.org>
40481
40482         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
40483         function.
40484         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
40485         New functions, mostly extracted from gl_locale_name_default.
40486         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
40487
40488 2008-04-16  Eric Blake  <ebb9@byu.net>
40489
40490         Adjust strtod detection to catch glibc 2.7 bug.
40491         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
40492         Reported by John Gatewood Ham.
40493
40494 2008-04-16  Bruno Haible  <bruno@clisp.org>
40495
40496         Add tentative support for Linux libc5.
40497         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
40498         * lib/fpurge.c (fpurge): Likewise.
40499         * lib/freadable.c (freadable): Likewise.
40500         * lib/freadahead.c (freadahead): Likewise.
40501         * lib/freading.c (freading): Likewise.
40502         * lib/freadptr.c (freadptr): Likewise.
40503         * lib/freadseek.c (freadptrinc): Likewise.
40504         * lib/fseeko.c (rpl_fseeko): Likewise.
40505         * lib/fseterr.c (fseterr): Likewise.
40506         * lib/fwritable.c (fwritable): Likewise.
40507         * lib/fwriting.c (fwriting): Likewise.
40508         Reported by Alain Guibert <alguibert+bts@free.fr>.
40509
40510 2008-04-15  Bruno Haible  <bruno@clisp.org>
40511
40512         * modules/mathl (configure.ac): Define module indicator.
40513
40514 2008-04-15  Bruno Haible  <bruno@clisp.org>
40515
40516         * lib/logl.c (logl): Remove unused variables.
40517
40518 2008-04-15  Bruno Haible  <bruno@clisp.org>
40519
40520         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
40521         fails.
40522
40523 2008-04-15  Bruno Haible  <bruno@clisp.org>
40524
40525         * lib/trim.c (trim2): Fix argument of isspace() macro.
40526
40527 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
40528
40529         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
40530         to 0.
40531         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
40532
40533 2008-04-14  Bruno Haible  <bruno@clisp.org>
40534
40535         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
40536         AC_LANG_PROGRAM argument.
40537         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
40538         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
40539         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
40540         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
40541         * m4/math_h.m4 (gl_MATH_H): Likewise.
40542         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
40543         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
40544         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
40545         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
40546         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
40547         * m4/regex.m4 (gl_REGEX): Likewise.
40548         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
40549         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
40550         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
40551         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
40552         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
40553         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
40554         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
40555         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
40556
40557 2008-04-14  Jim Meyering  <meyering@redhat.com>
40558
40559         test-strtod: fix typos: s/abs/fabs/
40560         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
40561
40562 2008-04-13  Bruno Haible  <bruno@clisp.org>
40563
40564         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
40565         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
40566         module is also used and while not building the reloc-wrapper.
40567
40568 2008-04-13  Bruno Haible  <bruno@clisp.org>
40569
40570         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
40571
40572 2008-04-13  Bruno Haible  <bruno@clisp.org>
40573
40574         Fix AIX compilation failure introduced on 2008-04-02.
40575         * tests/test-frexp.c (exp): Undefine before redefining.
40576         * tests/test-frexpl.c (exp): Likewise.
40577
40578 2008-04-13  Bruno Haible  <bruno@clisp.org>
40579
40580         Work around a HP-UX stdio bug.
40581         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
40582         * tests/test-ftello.c (main): Likewise.
40583         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
40584         * doc/posix-functions/ftello.texi: Likewise.
40585
40586 2008-04-13  Bruno Haible  <bruno@clisp.org>
40587
40588         Make test-signbit pass on HP-UX/hppa.
40589         * tests/test-signbit.c (minus_zerol): New variable.
40590         (test_signbitl): Use it.
40591
40592 2008-04-13  Bruno Haible  <bruno@clisp.org>
40593
40594         Make truncl work on OSF/1 4.0.
40595         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
40596         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
40597         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
40598         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
40599         HAVE_DECL_TRUNCL.
40600         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
40601         HAVE_DECL_TRUNCL.
40602         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
40603
40604 2008-04-13  Bruno Haible  <bruno@clisp.org>
40605
40606         * lib/unictype.h: Remove trailing comma from enumeration definitions.
40607
40608 2008-04-13  Bruno Haible  <bruno@clisp.org>
40609
40610         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
40611         expression, so as to avoid HP-UX 11 cc compiler bug.
40612
40613 2008-04-13  Bruno Haible  <bruno@clisp.org>
40614
40615         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
40616
40617 2008-04-13  Bruno Haible  <bruno@clisp.org>
40618
40619         * lib/git-merge-changelog.c: Remove empty declaration outside of
40620         functions.
40621
40622 2008-04-13  Bruno Haible  <bruno@clisp.org>
40623
40624         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
40625
40626 2008-04-13  Bruno Haible  <bruno@clisp.org>
40627
40628         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
40629         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
40630         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
40631         also if it exists but lacks definitions of the SHUT_* macros.
40632         * modules/sys_socket (Description): Update.
40633         Reported by Elbert Pol <e.pol@chello.nl>.
40634
40635 2008-04-13  Bruno Haible  <bruno@clisp.org>
40636
40637         * lib/localcharset.c (OS2): Don't redefine if already defined.
40638         Reported by Elbert Pol <e.pol@chello.nl>.
40639
40640 2008-04-13  Bruno Haible  <bruno@clisp.org>
40641
40642         * lib/binary-io.h [__EMX__]: Include <io.h>.
40643         Reported by Elbert Pol <e.pol@chello.nl>.
40644
40645 2008-04-12  Bruno Haible  <bruno@clisp.org>
40646
40647         * lib/fpucw.h: Enable the definitions also for x86_64.
40648         Needed for NetBSD/x86_64.
40649         Reported by Thomas Klausner <tk@giga.or.at>.
40650
40651 2008-04-12  Bruno Haible  <bruno@clisp.org>
40652
40653         * tests/test-strtod.c: Include isnand.h.
40654         (main): Use isnand instead of isnan.
40655         Reported by Jim Meyering.
40656
40657 2008-04-12  Bruno Haible  <bruno@clisp.org>
40658
40659         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
40660         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
40661
40662 2008-04-12  Jim Meyering  <meyering@redhat.com>
40663
40664         * m4/math_h.m4 (gl_MATH_H): Fix typos.
40665
40666 2008-04-12  Bruno Haible  <bruno@clisp.org>
40667
40668         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
40669         Reported by Elbert Pol <e.pol@chello.nl>.
40670
40671 2008-04-12  Eric Blake  <ebb9@byu.net>
40672
40673         Work around Solaris 10 math.h bug.
40674         * m4/math_h.m4 (gl_MATH_H): Check for bug.
40675         (gl_MATH_H_DEFAULTS): Set up default.
40676         * modules/math (Makefile.am): Replace new indicators.
40677         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
40678         * tests/test-math.c (main): Test this.
40679         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
40680         * doc/posix-headers/math.texi (math.h): Mention bug.
40681         Reported by Nelson H. F. Beebe and Jim Meyering.
40682
40683 2008-04-11  Bruno Haible  <bruno@clisp.org>
40684
40685         Adapt to future versions of Apple GCC.
40686         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
40687         Reported by Peter O'Gorman <peter@pogma.com>.
40688
40689 2008-04-11  Bruno Haible  <bruno@clisp.org>
40690
40691         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
40692
40693 2008-04-11  Bruno Haible  <bruno@clisp.org>
40694
40695         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
40696
40697         * modules/getaddrinfo-tests (Makefile.am): Define
40698         test_getaddrinfo_LDADD.
40699
40700 2008-04-11  Bruno Haible  <bruno@clisp.org>
40701
40702         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
40703         (init): Fix syntax error.
40704         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
40705         is declared.
40706
40707 2008-04-11  Bruno Haible  <bruno@clisp.org>
40708
40709         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
40710         * modules/glob (Depends-on): Add stdbool.
40711
40712 2008-04-11  Bruno Haible  <bruno@clisp.org>
40713
40714         * lib/trim.c: Include <string.h>.
40715
40716 2008-04-11  Eric Blake  <ebb9@byu.net>
40717
40718         Avoid compile failure on OS/2.
40719         * lib/regex_internal.h (internal_function): Disable optimization
40720         on OS/2 (__EMX__), where it caused compiler error.
40721         Reported by Elbert Pol.
40722
40723 2008-04-11  Bruno Haible  <bruno@clisp.org>
40724
40725         Flush the standard error stream before aborting. Needed on mingw.
40726         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
40727         * tests/test-array_list.c (ASSERT): Likewise.
40728         * tests/test-array_oset.c (ASSERT): Likewise.
40729         * tests/test-avltree_list.c (ASSERT): Likewise.
40730         * tests/test-avltree_oset.c (ASSERT): Likewise.
40731         * tests/test-avltreehash_list.c (ASSERT): Likewise.
40732         * tests/test-binary-io.c (ASSERT): Likewise.
40733         * tests/test-byteswap.c (ASSERT): Likewise.
40734         * tests/test-c-ctype.c (ASSERT): Likewise.
40735         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
40736         * tests/test-c-strcasestr.c (ASSERT): Likewise.
40737         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
40738         * tests/test-c-strstr.c (ASSERT): Likewise.
40739         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
40740         * tests/test-canonicalize.c (ASSERT): Likewise.
40741         * tests/test-carray_list.c (ASSERT): Likewise.
40742         * tests/test-ceilf1.c (ASSERT): Likewise.
40743         * tests/test-ceilf2.c (ASSERT): Likewise.
40744         * tests/test-ceill.c (ASSERT): Likewise.
40745         * tests/test-count-one-bits.c (ASSERT): Likewise.
40746         * tests/test-fbufmode.c (ASSERT): Likewise.
40747         * tests/test-fflush2.c (ASSERT): Likewise.
40748         * tests/test-floorf1.c (ASSERT): Likewise.
40749         * tests/test-floorf2.c (ASSERT): Likewise.
40750         * tests/test-floorl.c (ASSERT): Likewise.
40751         * tests/test-fopen.c (ASSERT): Likewise.
40752         * tests/test-fpending.c (ASSERT): Likewise.
40753         * tests/test-fprintf-posix.c (ASSERT): Likewise.
40754         * tests/test-fpurge.c (ASSERT): Likewise.
40755         * tests/test-freadable.c (ASSERT): Likewise.
40756         * tests/test-freadahead.c (ASSERT): Likewise.
40757         * tests/test-freading.c (ASSERT): Likewise.
40758         * tests/test-freadptr.c (ASSERT): Likewise.
40759         * tests/test-freadptr2.c (ASSERT): Likewise.
40760         * tests/test-freadseek.c (ASSERT): Likewise.
40761         * tests/test-freopen.c (ASSERT): Likewise.
40762         * tests/test-frexp.c (ASSERT): Likewise.
40763         * tests/test-frexpl.c (ASSERT): Likewise.
40764         * tests/test-fseek.c (ASSERT): Likewise.
40765         * tests/test-fseeko.c (ASSERT): Likewise.
40766         * tests/test-fstrcmp.c (ASSERT): Likewise.
40767         * tests/test-ftell.c (ASSERT): Likewise.
40768         * tests/test-ftello.c (ASSERT): Likewise.
40769         * tests/test-func.c (ASSERT): Likewise.
40770         * tests/test-fwritable.c (ASSERT): Likewise.
40771         * tests/test-fwriting.c (ASSERT): Likewise.
40772         * tests/test-getdelim.c (ASSERT): Likewise.
40773         * tests/test-getline.c (ASSERT): Likewise.
40774         * tests/test-i-ring.c (ASSERT): Likewise.
40775         * tests/test-iconv-utf.c (ASSERT): Likewise.
40776         * tests/test-iconv.c (ASSERT): Likewise.
40777         * tests/test-isfinite.c (ASSERT): Likewise.
40778         * tests/test-isnand.c (ASSERT): Likewise.
40779         * tests/test-isnanf.c (ASSERT): Likewise.
40780         * tests/test-isnanl.h (ASSERT): Likewise.
40781         * tests/test-ldexpl.c (ASSERT): Likewise.
40782         * tests/test-linked_list.c (ASSERT): Likewise.
40783         * tests/test-linkedhash_list.c (ASSERT): Likewise.
40784         * tests/test-localename.c (ASSERT): Likewise.
40785         * tests/test-lseek.c (ASSERT): Likewise.
40786         * tests/test-mbscasecmp.c (ASSERT): Likewise.
40787         * tests/test-mbscasestr1.c (ASSERT): Likewise.
40788         * tests/test-mbscasestr2.c (ASSERT): Likewise.
40789         * tests/test-mbscasestr3.c (ASSERT): Likewise.
40790         * tests/test-mbscasestr4.c (ASSERT): Likewise.
40791         * tests/test-mbschr.c (ASSERT): Likewise.
40792         * tests/test-mbscspn.c (ASSERT): Likewise.
40793         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
40794         * tests/test-mbspbrk.c (ASSERT): Likewise.
40795         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
40796         * tests/test-mbsrchr.c (ASSERT): Likewise.
40797         * tests/test-mbsspn.c (ASSERT): Likewise.
40798         * tests/test-mbsstr1.c (ASSERT): Likewise.
40799         * tests/test-mbsstr2.c (ASSERT): Likewise.
40800         * tests/test-mbsstr3.c (ASSERT): Likewise.
40801         * tests/test-memchr2.c (ASSERT): Likewise.
40802         * tests/test-memmem.c (ASSERT): Likewise.
40803         * tests/test-open.c (ASSERT): Likewise.
40804         * tests/test-printf-frexp.c (ASSERT): Likewise.
40805         * tests/test-printf-frexpl.c (ASSERT): Likewise.
40806         * tests/test-printf-posix.c (ASSERT): Likewise.
40807         * tests/test-quotearg.c (ASSERT): Likewise.
40808         * tests/test-rbtree_list.c (ASSERT): Likewise.
40809         * tests/test-rbtree_oset.c (ASSERT): Likewise.
40810         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
40811         * tests/test-round1.c (ASSERT): Likewise.
40812         * tests/test-roundf1.c (ASSERT): Likewise.
40813         * tests/test-roundl.c (ASSERT): Likewise.
40814         * tests/test-signbit.c (ASSERT): Likewise.
40815         * tests/test-sleep.c (ASSERT): Likewise.
40816         * tests/test-snprintf-posix.c (ASSERT): Likewise.
40817         * tests/test-snprintf.c (ASSERT): Likewise.
40818         * tests/test-sprintf-posix.c (ASSERT): Likewise.
40819         * tests/test-stat-time.c (ASSERT): Likewise.
40820         * tests/test-strcasestr.c (ASSERT): Likewise.
40821         * tests/test-strerror.c (ASSERT): Likewise.
40822         * tests/test-striconv.c (ASSERT): Likewise.
40823         * tests/test-striconveh.c (ASSERT): Likewise.
40824         * tests/test-striconveha.c (ASSERT): Likewise.
40825         * tests/test-strsignal.c (ASSERT): Likewise.
40826         * tests/test-strstr.c (ASSERT): Likewise.
40827         * tests/test-strtod.c (ASSERT): Likewise.
40828         * tests/test-trunc1.c (ASSERT): Likewise.
40829         * tests/test-trunc2.c (ASSERT): Likewise.
40830         * tests/test-truncf1.c (ASSERT): Likewise.
40831         * tests/test-truncf2.c (ASSERT): Likewise.
40832         * tests/test-truncl.c (ASSERT): Likewise.
40833         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
40834         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
40835         * tests/test-vasnprintf.c (ASSERT): Likewise.
40836         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
40837         * tests/test-vasprintf.c (ASSERT): Likewise.
40838         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
40839         * tests/test-vprintf-posix.c (ASSERT): Likewise.
40840         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
40841         * tests/test-vsnprintf.c (ASSERT): Likewise.
40842         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
40843         * tests/test-wcwidth.c (ASSERT): Likewise.
40844         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
40845         * tests/test-xprintf-posix.c (ASSERT): Likewise.
40846         * tests/test-xvasprintf.c (ASSERT): Likewise.
40847         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
40848         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
40849         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
40850         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
40851         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
40852         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
40853         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
40854         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
40855         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
40856         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
40857         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
40858         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
40859         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
40860         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
40861         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
40862         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
40863         * tests/unictype/test-block_list.c (ASSERT): Likewise.
40864         * tests/unictype/test-block_of.c (ASSERT): Likewise.
40865         * tests/unictype/test-block_test.c (ASSERT): Likewise.
40866         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
40867         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
40868         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
40869         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
40870         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
40871         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
40872         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
40873         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
40874         * tests/unictype/test-combining.c (ASSERT): Likewise.
40875         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
40876         * tests/unictype/test-digit.c (ASSERT): Likewise.
40877         * tests/unictype/test-mirror.c (ASSERT): Likewise.
40878         * tests/unictype/test-numeric.c (ASSERT): Likewise.
40879         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
40880         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
40881         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
40882         * tests/unictype/test-scripts.c (ASSERT): Likewise.
40883         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
40884         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
40885         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
40886         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
40887         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
40888         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
40889         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
40890         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
40891         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
40892         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
40893         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
40894         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
40895         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
40896         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
40897         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
40898         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
40899         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
40900         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
40901         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
40902         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
40903         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
40904         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
40905         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
40906         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
40907         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
40908         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
40909         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
40910         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
40911         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
40912         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
40913         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
40914         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
40915         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
40916         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
40917         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
40918         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
40919         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
40920         Reported by Eric Blake.
40921
40922 2008-04-11  Bruno Haible  <bruno@clisp.org>
40923
40924         * lib/wchar.in.h: Tweak comment.
40925
40926 2008-04-11  Bruno Haible  <bruno@clisp.org>
40927
40928         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
40929         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
40930         gl_COMMON.
40931         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
40932
40933 2008-04-11  Bruno Haible  <bruno@clisp.org>
40934
40935         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
40936
40937 2008-04-11  Simon Josefsson  <simon@josefsson.org>
40938
40939         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
40940         of attempting to use non-existing /dev/*random.  Based on patch
40941         from Adam Strzelecki <ono@java.pl> in
40942         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
40943
40944 2008-04-08  Bruno Haible  <bruno@clisp.org>
40945
40946         Add tentative support for emx+gcc.
40947         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
40948         * lib/fpurge.c (fpurge): Likewise.
40949         * lib/freadable.c (freadable): Likewise.
40950         * lib/freadahead.c (freadahead): Likewise.
40951         * lib/freading.c (freading): Likewise.
40952         * lib/freadptr.c (freadptr): Likewise.
40953         * lib/freadseek.c (freadptrinc): Likewise.
40954         * lib/fseeko.c (rpl_fseeko): Likewise.
40955         * lib/fseterr.c (fseterr): Likewise.
40956         * lib/fwritable.c (fwritable): Likewise.
40957         * lib/fwriting.c (fwriting): Likewise.
40958         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
40959
40960 2008-04-09  Eric Blake  <ebb9@byu.net>
40961
40962         Avoid some autoconf warnings.
40963         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
40964         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
40965         * m4/afs.m4 (gl_AFS): Likewise.
40966         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
40967         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
40968         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
40969         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
40970         (gl_INTEGER_TYPE_SUFFIX): Likewise.
40971         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
40972         (AC_CHECK_DECLS_ONCE): Likewise.
40973         Rename file...
40974         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
40975         gnulib-tool requires autoconf 2.59 or better.
40976         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
40977
40978 2008-04-08  Eric Blake  <ebb9@byu.net>
40979
40980         Use 'git describe --match' if present (added in git 1.5.5).
40981         * build-aux/git-version-gen: Limit result to tags that match 'v*'
40982         if possible.
40983
40984 2008-04-08  Bruno Haible  <bruno@clisp.org>
40985
40986         Add tentative support for OpenServer.
40987         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
40988         _ptr, _cnt.
40989         * lib/fpurge.c (fpurge): Likewise.
40990         * lib/freadable.c (freadable): Likewise.
40991         * lib/freadahead.c (freadahead): Likewise.
40992         * lib/freading.c (freading): Likewise.
40993         * lib/freadptr.c (freadptr): Likewise.
40994         * lib/freadseek.c (freadptrinc): Likewise.
40995         * lib/fseeko.c (rpl_fseeko): Likewise.
40996         * lib/fseterr.c (fseterr): Likewise.
40997         * lib/fwritable.c (fwritable): Likewise.
40998         * lib/fwriting.c (fwriting): Likewise.
40999         Reported by Roger Cornelius <rac@tenzing.org> and
41000         Brian K. White <brian@aljex.com>.
41001
41002 2008-04-06  Jim Meyering  <meyering@redhat.com>
41003
41004         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
41005
41006 2008-04-06  Bruno Haible  <bruno@clisp.org>
41007
41008         Avoid possible error with non-ASCII bytes in UTF-8 locales.
41009         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
41010         * tests/test-printf-posix.sh: Likewise.
41011         * tests/test-vfprintf-posix.sh: Likewise.
41012         * tests/test-vprintf-posix.sh: Likewise.
41013         * tests/test-xprintf-posix.sh: Likewise.
41014
41015 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41016
41017         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
41018         hide error from 'ls', needed on OS/2.
41019         Report by Elbert Pol <elbert.pol@gmail.com>.
41020
41021 2008-04-04  Eric Blake  <ebb9@byu.net>
41022
41023         Make test-fseeko.c failures meaningful.
41024         * tests/test-fseeko.c: Print line number on failure.
41025         * tests/test-fseek.c: Likewise.
41026         Reported by Nelson H. F. Beebe.
41027
41028         Improve strtod bug detection check.
41029         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
41030         required for Solaris 10.
41031         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
41032
41033 2008-04-04  Bruno Haible  <bruno@clisp.org>
41034
41035         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
41036         by m4/setenv.m4.
41037
41038 2008-04-03  Eric Blake  <ebb9@byu.net>
41039
41040         Ensure sane .version contents.
41041         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
41042         version string.
41043         * build-aux/git-version-gen: Improve documentation.
41044
41045         Make GNU make output nicer.
41046         * top/GNUmakefile [!_have-Makefile]: Add dependency on
41047         MAKECMDGOALS to enforce message for all command line targets.  Set
41048         srcdir for use in maint.mk.
41049
41050         Another maintainer tweak.
41051         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
41052         a target that regenerates version.
41053
41054 2008-04-03  Jim Meyering  <meyering@redhat.com>
41055
41056         vc-list-files: don't cause coreutils "make po-check" failure
41057         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
41058
41059 2008-04-03  Eric Blake  <ebb9@byu.net>
41060
41061         Allow VPATH usage of vc-list-files.
41062         * build-aux/vc-list-files (scriptversion): Add timestamp.
41063         (options): Add --help, --version, -C.
41064         (CVS): Support installed cvsu.
41065
41066 2008-04-02  Bruno Haible  <bruno@clisp.org>
41067
41068         Avoid some "statement with no effect" warnings from gcc.
41069         * tests/test-wctype.c (main): Explicitly ignore unused values.
41070         Reported by Jim Meyering.
41071
41072 2008-04-02  Jim Meyering  <meyering@redhat.com>
41073
41074         Avoid some warnings from "gcc -Wshadow".
41075         * tests/test-frexp.c (exp): Define to a different identifier.
41076         * tests/test-frexpl.c (exp): Likewise.
41077
41078 2008-04-03  Jim Meyering  <meyering@redhat.com>
41079
41080         bootstrap: remove dangling *.[ch] symlinks from lib
41081         * build-aux/bootstrap [dangling symlink removal]: Move find's
41082         -depth option to precede all others, to avoid a warning.
41083         Remove *.[ch] files too, and from "$source_base" (usually lib/).
41084
41085 2008-04-02  Bruno Haible  <bruno@clisp.org>
41086
41087         Avoid some warnings from "gcc -Wshadow".
41088         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
41089         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
41090         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
41091         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
41092         Reported by Jim Meyering.
41093
41094 2008-04-01  Bruno Haible  <bruno@clisp.org>
41095
41096         Fix test to work on IRIX 6.5 with cc.
41097         * tests/test-math.c (numeric_equal): New function.
41098         (main): Use it.
41099
41100 2008-04-01  Bruno Haible  <bruno@clisp.org>
41101
41102         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
41103
41104 2008-04-01  Bruno Haible  <bruno@clisp.org>
41105
41106         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
41107         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
41108         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
41109         (Depends-on): Remove math.
41110
41111         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
41112         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
41113         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
41114         (Depends-on): Remove math.
41115
41116         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
41117         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
41118         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
41119         (Depends-on): Remove math.
41120         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
41121         (Depends-on): Remove math.
41122
41123         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
41124         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
41125         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
41126         (Depends-on): Remove math.
41127         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
41128         (Depends-on): Remove math.
41129
41130         * tests/test-round1.c: Include nan.h.
41131         (main): Use NaNd instead of NAN.
41132         * modules/round-tests (Files): Add tests/nan.h.
41133
41134         * tests/test-trunc1.c: Include nan.h.
41135         (main): Use NaNd instead of NAN.
41136         * modules/trunc-tests (Files): Add tests/nan.h.
41137
41138         * tests/test-roundf1.c: Include nan.h.
41139         (main): Use NaNf instead of NAN.
41140         * modules/roundf-tests (Files): Add tests/nan.h.
41141
41142         * tests/test-truncf1.c: Include nan.h.
41143         (main): Use NaNf instead of NAN.
41144         * modules/truncf-tests (Files): Add tests/nan.h.
41145
41146         * tests/test-ceilf1.c: Include nan.h.
41147         (main): Use NaNf instead of NAN.
41148         * modules/ceilf-tests (Files): Add tests/nan.h.
41149
41150         * tests/test-floorf1.c: Include nan.h.
41151         (main): Use NaNf instead of NAN.
41152         * modules/floorf-tests (Files): Add tests/nan.h.
41153
41154         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
41155         (main): Use NaNf instead of NAN.
41156         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
41157
41158         * tests/test-isnand.c: Include nan.h instead of <math.h>.
41159         (main): Use NaNd instead of NAN.
41160         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
41161
41162         * tests/test-frexp.c: Include nan.h.
41163         (main): Use NaNd instead of NAN.
41164         * modules/frexp-tests (Files): Add tests/nan.h.
41165
41166         * lib/isnan.c: Don't include <math.h>.
41167         (FUNC): Don't use NAN macro.
41168         * modules/isnand-nolibm (Depends-on): Remove math.
41169         * modules/isnanf-nolibm (Depends-on): Remove math.
41170         * modules/isnanl (Depends-on): Remove math.
41171         * modules/isnanl-nolibm (Depends-on): Remove math.
41172
41173         * tests/nan.h: New file.
41174
41175 2008-04-01  Eric Blake  <ebb9@byu.net>
41176
41177         Fix typos.
41178         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
41179         values to be the right type.
41180
41181         For now, cater to gnulib strtod inaccuracies.
41182         * tests/test-strtod.c (main): Allow 1-ulp error on expected
41183         fractional results.  While not as nice from a QoI perspective, it
41184         is a quicker patch than correctly implementing decimal to binary
41185         rounding.
41186
41187 2008-03-31  Eric Blake  <ebb9@byu.net>
41188
41189         Guarantee a definition of NAN.
41190         * lib/math.in.h (NAN): Define if missing.
41191         * tests/test-math.c (main): Test it.
41192         * doc/posix-headers/math.texi (math.h): Document this.
41193         * lib/isnan.c (rpl_isnand): Use it.
41194         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
41195         * tests/test-floorf1.c (NaN): Likewise.
41196         * tests/test-frexp.c (NaN): Likewise.
41197         * tests/test-isnand.c (NaN): Likewise.
41198         * tests/test-isnanf.c (NaN): Likewise.
41199         * tests/test-round1.c (NaN): Likewise.
41200         * tests/test-roundf1.c (NaN): Likewise.
41201         * tests/test-snprintf-posix.h (NaN): Likewise.
41202         * tests/test-sprintf-posix.h (NaN): Likewise.
41203         * tests/test-trunc1.c (NaN): Likewise.
41204         * tests/test-truncf1.c (NaN): Likewise.
41205         * tests/test-vasnprintf-posix.c (NaN): Likewise.
41206         * tests/test-vasprintf-posix.c (NaN): Likewise.
41207         * modules/isnand-nolibm (Depends-on): Add math.
41208         * modules/isnanf-nolibm (Depends-on): Likewise.
41209         * modules/isnanl (Depends-on): Likewise.
41210         * modules/isnanl-nolibm (Depends-on): Likewise.
41211         * modules/snprintf-posix-tests (Depends-on): Likewise.
41212         * modules/sprintf-posix-tests (Depends-on): Likewise.
41213         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
41214         * modules/vsprintf-posix-tests (Depends-on): Likewise.
41215         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
41216         * modules/vasprintf-posix-tests (Depends-on): Likewise.
41217
41218 2008-03-31  Bruno Haible  <bruno@clisp.org>
41219
41220         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
41221         * doc/posix-functions/strtod.texi: Likewise.
41222
41223 2008-03-31  Bruno Haible  <bruno@clisp.org>
41224
41225         * tests/test-strtod.c (main): Don't use C99 syntax.
41226
41227 2008-03-31  Bruno Haible  <bruno@clisp.org>
41228
41229         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
41230         Reported by Eric Blake.
41231
41232 2008-03-31  Jim Meyering  <meyering@redhat.com>
41233
41234         Don't compare actual signbit return values.
41235         * tests/test-strtod.c (main): Rather, compare only their
41236         zero/non-zero nature.
41237
41238 2008-03-31  Eric Blake  <ebb9@byu.net>
41239
41240         More strtod documentation.
41241         * doc/posix-functions/strtod.texi (strtod): Interpret more test
41242         failures as distinct bugs.
41243
41244 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
41245
41246         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
41247         Problem reported by Erik Benada in
41248         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
41249
41250 2008-03-30  Bruno Haible  <bruno@clisp.org>
41251
41252         * tests/test-strtod.c: Add comments about which assertion fails on which
41253         platform.
41254         * doc/posix-functions/strtod.texi: Add info about many more platforms.
41255
41256 2008-03-30  Eric Blake  <ebb9@byu.net>
41257
41258         Test signbit behavior on zeros.
41259         * tests/test-signbit.c (test_signbitf): Add tests for zero.
41260         (test_signbitd, test_signbitl): Likewise.
41261
41262         More strtod touchups.
41263         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
41264         sign of negative underflow, for now.  Use .5, not .1.
41265         * doc/posix-functions/strtod.texi (strtod): Mention these
41266         limitations.
41267         Reported by Jim Meyering.
41268
41269 2008-03-30  Bruno Haible  <bruno@clisp.org>
41270
41271         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
41272         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
41273
41274 2008-03-30  Bruno Haible  <bruno@clisp.org>
41275
41276         Avoid failure when attempting to return empty iconv results on some
41277         platforms.
41278         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
41279         allocation, don't report ENOMEM when the resulting string is empty.
41280
41281 2008-03-30  Bruno Haible  <bruno@clisp.org>
41282
41283         Fix buffer overrun.
41284         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
41285         Don't consider the width for tmp_length. Check count against tmp_length
41286         before doing the padding. Ensure enough allocation during padding.
41287
41288 2008-03-30  Eric Blake  <ebb9@byu.net>
41289
41290         strtod touchups.
41291         * lib/strtod.c (strtod): Avoid compiler warnings.
41292         Reported by Jim Meyering.
41293
41294 2008-03-30  Bruno Haible  <bruno@clisp.org>
41295
41296         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
41297         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
41298         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
41299         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
41300         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
41301         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
41302         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
41303         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
41304
41305         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
41306         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
41307         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
41308         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
41309         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
41310         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
41311         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
41312         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
41313
41314         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
41315         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
41316         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
41317         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
41318         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
41319         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
41320         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
41321         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
41322
41323         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
41324         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
41325
41326         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
41327         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
41328
41329         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
41330         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
41331
41332         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
41333         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
41334         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
41335
41336         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
41337         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
41338         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
41339
41340         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
41341         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
41342         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
41343
41344         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
41345         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
41346         * modules/vasprintf (Depends-on): Add EOVERFLOW.
41347
41348         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
41349         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
41350         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
41351         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
41352         (Depends-on): Add EOVERFLOW.
41353         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
41354         (Depends-on): Add EOVERFLOW.
41355         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
41356         (Depends-on): Add EOVERFLOW.
41357         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
41358         (Depends-on): Add EOVERFLOW.
41359         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
41360         (Depends-on): Add EOVERFLOW.
41361         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
41362         (Depends-on): Add EOVERFLOW.
41363         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
41364         (Depends-on): Add EOVERFLOW.
41365         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
41366         (Depends-on): Add EOVERFLOW.
41367
41368         * lib/sprintf.c (EOVERFLOW): Remove fallback.
41369         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
41370         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
41371
41372         * lib/snprintf.c (EOVERFLOW): Remove fallback.
41373         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
41374         * modules/snprintf (Depends-on): Add EOVERFLOW.
41375
41376         * lib/poll.c (EOVERFLOW): Remove fallback.
41377         * modules/poll (Depends-on): Add EOVERFLOW.
41378
41379         * lib/getugroups.c (EOVERFLOW): Remove fallback.
41380         * modules/getugroups (Depends-on): Add EOVERFLOW.
41381
41382         * lib/getdelim.c (EOVERFLOW): Remove fallback.
41383         * modules/getdelim (Depends-on): Add EOVERFLOW.
41384
41385         * lib/ftell.c (EOVERFLOW): Remove fallback.
41386         * modules/ftell (Depends-on): Add EOVERFLOW.
41387
41388         * lib/fprintf.c (EOVERFLOW): Remove fallback.
41389         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
41390         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
41391
41392         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
41393
41394         * modules/EOVERFLOW-tests: New file.
41395         * tests/test-EOVERFLOW.c: New file.
41396
41397         * modules/EOVERFLOW: New file.
41398         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
41399
41400 2008-03-30  Bruno Haible  <bruno@clisp.org>
41401
41402         Fix bug introduced on 2007-06-10.
41403         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
41404         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
41405
41406 2008-03-30  Bruno Haible  <bruno@clisp.org>
41407
41408         Improve freadseek's efficiency after ungetc.
41409         * lib/freadseek.c: Include freadahead.h.
41410         (freadptrinc): New function, extracted from freadseek.
41411         (freadseek): Use it in a loop. Use freadahead to determine the number
41412         of loop iterations.
41413         * modules/freadseek (Depends-on): Add freadahead.
41414         (configure.ac): Require AC_C_INLINE.
41415
41416 2008-03-30  Bruno Haible  <bruno@clisp.org>
41417
41418         * lib/freadseek.c (freadseek): Don't ignore the return value of
41419         freadptr.
41420
41421 2008-03-29  Eric Blake  <ebb9@byu.net>
41422
41423         Add hex float support.
41424         * modules/strtod (Depends-on): Add c-ctype.
41425         (Link): Mention POW_LIB.
41426         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
41427         whitespace between 'e' and exponent.
41428         * tests/test-strtod.c (main): Enable hex float tests.
41429         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
41430         now provides.
41431
41432         Document various strtod bugs, with some fixes.
41433         * doc/posix-functions/strtod.texi (strtod): Document bugs with
41434         "-0x", "inf", "nan", and hex constants.
41435         * doc/posix-functions/atof.texi (atof): Likewise.
41436         * modules/stdlib (Makefile.am): Support strtod.
41437         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
41438         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
41439         detect additional strtod bugs.
41440         * lib/stdlib.in.h (rpl_strtod): Add declarations.
41441         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
41442         bool where appropriate.  Parse 'inf' and 'nan'.
41443         * tests/test-strtod.c: New file.
41444         * modules/strtod (Depends-on): Add stdbool, stdlib.
41445         (configure.ac): Turn on module indicator.
41446         * modules/strtod-tests: New module.
41447
41448 2008-03-29  Eric Blake  <ebb9@byu.net>
41449
41450         Fix ftell on mingw.
41451         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
41452         * modules/ftell-tests (Depends-on): Add binary-io.
41453         * modules/ftello-tests (Depends-on): Likewise.
41454         * tests/test-ftell.c (main): Enhance test to cover behavior after
41455         ungetc.  Enforce binary mode.
41456         * tests/test-ftello.c (main): Likewise.
41457
41458         Pass test-freadseek on cygwin.
41459         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
41460         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
41461         ungetc buffer.
41462
41463         * tests/test-fflush2.c (main): Fix typo.
41464
41465 2008-03-29  Bruno Haible  <bruno@clisp.org>
41466
41467         * tests/test-fflush2.c (main): Temporarily disable the contents of
41468         this test.
41469         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
41470         Reported by Eric Blake.
41471
41472 2008-03-28  Simon Josefsson  <simon@josefsson.org>
41473
41474         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
41475         (GC_SHA224_DIGEST_SIZE): Add.
41476
41477         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
41478         (gc_hash_digest_length): Likewise.
41479         (gc_hash_buffer): Likewise.
41480
41481 2008-03-25  Bruno Haible  <bruno@clisp.org>
41482
41483         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
41484         detail which gettext release to use.
41485         Reported by Simon Josefsson.
41486
41487 2008-03-26  Jim Meyering  <meyering@redhat.com>
41488
41489         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
41490         * modules/gnumakefile (clean-GNUmakefile): Also, use
41491         test ... && ... || : syntax rather than if-then ... fi.
41492
41493         gnumakefile: Don't double-quote-expand $(VPATH) value.
41494         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
41495
41496 2008-03-24  Eric Blake  <ebb9@byu.net>
41497
41498         Alter GNUmakefile to install into top directory.
41499         * modules/maintainer-makefile: Split, and add dependency...
41500         * modules/gnumakefile: to this new module.
41501         * build-aux/GNUmakefile: Move...
41502         * top/GNUmakefile: ...here.
41503         * build-aux/maint.mk: Move...
41504         * top/maint.mk: ...here.
41505         * MODULES.html.sh (Support for maintaining...): Document new
41506         module.
41507
41508 2008-03-23  Bruno Haible  <bruno@clisp.org>
41509
41510         * gnulib-tool: New options --vc-files, --no-vc-files.
41511         (func_usage): Document them.
41512         (vc_files): New variable.
41513         (func_import): Consider vc_files.
41514         (func_create_testdir): Set vc_files to empty.
41515         Suggested by Jim Meyering and Karl Berry.
41516
41517 2008-03-23  Bruno Haible  <bruno@clisp.org>
41518
41519         Fix regex compilation error on HP-UX 11.
41520         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
41521         * modules/regex (Files): Add m4/mbstate_t.m4.
41522         Reported by Ton Voon <ton.voon@altinity.com>.
41523
41524 2008-03-23  Bruno Haible  <bruno@clisp.org>
41525
41526         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
41527
41528 2008-03-23  Eric Blake  <ebb9@byu.net>
41529             Bruno Haible  <bruno@clisp.org>
41530
41531         Install files from top/ in the destination directory.
41532         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
41533         augmentation also for the files from top/.
41534         (func_import, func_create_testdir): Rewrite file names:
41535         top/filename -> filename.
41536
41537 2008-03-23  Bruno Haible  <bruno@clisp.org>
41538
41539         Tweak "gnulib --version" output.
41540         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
41541
41542 2008-03-23  Bruno Haible  <bruno@clisp.org>
41543
41544         Tweak "gnulib --version" output.
41545         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
41546         rather than contents of ChangeLog, when possible.
41547
41548 2008-03-21  Eric Blake  <ebb9@byu.net>
41549
41550         More --version tweaks.
41551         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
41552         date of last ChangeLog entry.
41553
41554 2008-03-21  Jim Meyering  <meyering@redhat.com>
41555
41556         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
41557
41558 2008-03-20  Eric Blake  <ebb9@byu.net>
41559
41560         VPATH fix.
41561         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
41562
41563 2008-03-20  Simon Josefsson  <simon@josefsson.org>
41564
41565         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
41566         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
41567
41568 2008-03-20  Eric Blake  <ebb9@byu.net>
41569
41570         Sync GNUmakefile with coreutils.
41571         * build-aux/GNUmakefile (have-Makefile): Rename...
41572         (_have-Makefile): ...to this, for namespace consideration.
41573         (GNUmakefile.cfg): Include, if present.
41574         (_autoreconf): Define a default.
41575         (_is-dist-target): New rule for rebuilds to pick up intra-release
41576         version.
41577         (maint-cfg.mk): Rename...
41578         (cfg.mk): ...to this.
41579
41580 2008-03-18  Jim Meyering  <meyering@redhat.com>
41581
41582         New script and module: mktempd
41583         * MODULES.html.sh (maint+release support): Add mktempd.
41584         * build-aux/mktempd: New file.
41585         * modules/mktempd: New file.
41586
41587 2008-03-15  Jim Meyering  <meyering@redhat.com>
41588
41589         Undo last change.
41590         * lib/sha1.c, lib/md5.c: 63 != ~63.
41591         Reported by Andreas Schwab.
41592
41593         sha1.c, md5.c: Hoist a redundant expression.
41594         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
41595         "ctx->buflen" only once, before calling *_process_block.
41596         * lib/md5.c (md5_process_bytes): Likewise.
41597
41598 2008-03-14  Eric Blake  <ebb9@byu.net>
41599
41600         Bump copyright year in files generated by gnulib-tool.
41601         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
41602         gnulib-tool, rather than hard-coding it.
41603
41604         Fix 'gnulib-tool --version' output to work with git.
41605         * gnulib-tool (func_gnulib_dir): New function, extracted from...
41606         (startup): ...here.
41607         (func_version): Use it to invoke git-version-gen, rather than
41608         relying on CVS keyword expansion.  Modernize wording.
41609         (cvsdatestamp, last_checkin_date, version): Kill unused
41610         variables.
41611
41612 2008-03-12  Jim Meyering  <meyering@redhat.com>
41613
41614         Recognize optional cast of the argument to free.
41615         * build-aux/useless-if-before-free: Update regexps.
41616
41617         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
41618
41619 2008-03-11  Bruno Haible  <bruno@clisp.org>
41620
41621         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
41622         by a single package.
41623         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
41624         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
41625         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
41626         Reported by Sam Steingold <sds@gnu.org>.
41627
41628 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
41629
41630         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
41631         repositories.
41632
41633 2008-03-11  Bruno Haible  <bruno@clisp.org>
41634
41635         Avoid conflicts between local macro definitions.
41636         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
41637         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
41638
41639 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
41640             Bruno Haible  <bruno@clisp.org>
41641
41642         Make va_copy work with some version of xlc on AIX 5.1.
41643         * lib/stdarg.in.h: New file.
41644         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
41645         On AIX, use a <stdarg.h> file substitute.
41646         * modules/stdarg (Files): Add lib/stdarg.in.h.
41647         (Depends-on): Add include_next.
41648         (Makefile.am): Build a stdarg.h substitute if requested.
41649         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
41650
41651 2008-03-10  Bruno Haible  <bruno@clisp.org>
41652
41653         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
41654         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
41655         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
41656
41657 2008-03-10  Bruno Haible  <bruno@clisp.org>
41658
41659         * modules/stdlib (Depends-on): Add include_next, remove
41660         absolute-header.
41661
41662 2008-03-09  Bruno Haible  <bruno@clisp.org>
41663
41664         * lib/freadahead.h (freadahead): Document more precisely.
41665         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
41666         the sum of both buffer sizes.
41667         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
41668         * NEWS: Document the change.
41669
41670 2008-03-09  Bruno Haible  <bruno@clisp.org>
41671
41672         Extend freadptr to return also the buffer size.
41673         * lib/freadptr.h (freadptr): Add sizep argument.
41674         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
41675         (freadptr): Add sizep argument. Determine buffer size like freadahead
41676         does.
41677         * tests/test-freadptr.c: Don't include freadahead.h.
41678         (main): Adapt for new calling convention of freadptr.
41679         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
41680         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
41681         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
41682         tests/test-freadptr2.sh.
41683         (Depends): Remove freadahead.
41684         (TESTS): Add test-freadptr2.sh.
41685         (check_PROGRAMS): Add test-freadptr2.
41686
41687 2008-03-09  Bruno Haible  <bruno@clisp.org>
41688
41689         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
41690         Report and solution by Simon Josefsson.
41691
41692 2008-03-06  Bruno Haible  <bruno@clisp.org>
41693
41694         Make fflush after ungetc work on BSD platforms.
41695         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
41696         * tests/test-fflush2.c: New file.
41697         * tests/test-fflush2.sh: New file.
41698         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
41699         tests/test-fflush2.c.
41700         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
41701         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
41702
41703 2008-03-06  Eric Blake  <ebb9@byu.net>
41704
41705         Likewise for ftello.
41706         * modules/ftello (Dependencies): Add extensions.
41707         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
41708
41709 2008-03-06  Bruno Haible  <bruno@clisp.org>
41710
41711         * modules/fseeko (Dependencies): Add extensions.
41712         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
41713         Needed on glibc systems.
41714
41715 2008-03-06  Bruno Haible  <bruno@clisp.org>
41716
41717         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
41718         email address.
41719         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
41720
41721 2008-03-06  Bruno Haible  <bruno@clisp.org>
41722
41723         * users.txt: Add libgnupdf.
41724
41725 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
41726
41727         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
41728         (Header File Substitutes, Function Substitutes,
41729         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
41730         (Build robot for gnulib): Fix typo.
41731
41732 2008-03-06  Bruno Haible  <bruno@clisp.org>
41733
41734         * doc/gnulib-tool.texi (VCS Issues): Small updates.
41735         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
41736
41737 2008-03-06  Bruno Haible  <bruno@clisp.org>
41738
41739         * doc/func.texi: New file, extracted from doc/gnulib.texi.
41740         * doc/gnulib.texi: Include it.
41741
41742 2008-03-06  Simon Josefsson  <simon@josefsson.org>
41743
41744         * modules/func (License): Change license to unlimited; there was
41745         no LGPL parts in the module anyway.
41746
41747 2008-03-06  Simon Josefsson  <simon@josefsson.org>
41748
41749         * modules/__func__: Renamed to modules/func.
41750         * modules/__func__-tests: Renamed to modules/func-tests.
41751         * tests/test-__func__.c: Renamed to tests/test-func.c.
41752         * m4/__func__.m4: Renamed to m4/func.m4.
41753         * doc/gnulib.texi (__func__): Section renamed to func.
41754         Suggested by Eric Blake <ebb9@byu.net>.
41755
41756 2008-03-06  Simon Josefsson  <simon@josefsson.org>
41757
41758         * doc/gnulib.texi (__func__): Use C99 terminology when talking
41759         about __func__.  Make example self-contained.  Suggested by Eric
41760         Blake <ebb9@byu.net>.
41761
41762         * tests/test-__func__.c (main): Avoid extraneous () around __func.
41763         Suggested by Eric Blake <ebb9@byu.net>.
41764
41765 2008-03-06  Simon Josefsson  <simon@josefsson.org>
41766
41767         * modules/__func__: New file.
41768         * modules/__func__-tests: New file.
41769         * tests/test-__func__.c: New file.
41770         * m4/__func__.m4: New file.
41771         * doc/gnulib.texi (__func__): Document __func__ module.
41772
41773 2008-03-05  Simon Josefsson  <simon@josefsson.org>
41774
41775         * modules/byteswap (License): Re-license as LGPLv2+.
41776
41777 2008-03-05  Simon Josefsson  <simon@josefsson.org>
41778
41779         * doc/Makefile: Add pdf target.
41780
41781 2008-03-05  Simon Josefsson  <simon@josefsson.org>
41782
41783         * modules/inline (License): Use 'unlimited', since there are only
41784         *.m4 files in this module.
41785
41786 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
41787             Bruno Haible  <bruno@clisp.org>
41788
41789         Add support for HP C 7.1 on OpenVMS 8.3.
41790         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
41791
41792 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
41793
41794         Update VMS specifics.
41795         * lib/getopt.c [VMS]: Remove include of unixlib.h.
41796
41797 2008-03-02  Jim Meyering  <meyering@redhat.com>
41798
41799         Remove the last dependency on the "free" module.
41800         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
41801         Reported by Bob Proulx.
41802
41803         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
41804
41805         Remove useless "if" tests before free.  Deprecate "free" module.
41806         * doc/posix-functions/free.texi: Mention that this
41807         module is no longer useful.
41808         * modules/free (Notice): Say this module is obsolete.
41809         * modules/readutmp (Depends-on): Remove free.
41810         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
41811         * lib/putenv.c (putenv): Likewise.
41812         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
41813         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
41814         * tests/test-c-strcasestr.c (main): Likewise.
41815         * tests/test-c-strstr.c (main): Likewise.
41816         * tests/test-mbscasestr1.c (main): Likewise.
41817         * tests/test-mbscasestr2.c (main): Likewise.
41818         * tests/test-mbsstr1.c (main): Likewise.
41819         * tests/test-mbsstr2.c (main): Likewise.
41820         * tests/test-memmem.c (main): Likewise.
41821         * tests/test-strcasestr.c (main): Likewise.
41822         * tests/test-striconv.c (main): Likewise.
41823         * tests/test-striconveh.c (main): Likewise.
41824         * tests/test-striconveha.c (main): Likewise.
41825         * tests/test-strstr.c (main): Likewise.
41826
41827         * build-aux/git-version-gen: Adjust a comment and the Usage string.
41828
41829         bootstrap: sync from coreutils again
41830         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
41831
41832 2008-03-01  Jim Meyering  <meyering@redhat.com>
41833
41834         bootstrap: sync from coreutils
41835         * build-aux/bootstrap (update_po_files): Copy a .po file into place
41836         also when the target doesn't exist.
41837
41838 2008-03-01  Eric Blake  <ebb9@byu.net>
41839
41840         Fix bugs in last patch.
41841         * lib/memchr2.c (memchr2): Fix typo.
41842         * tests/test-memchr2.c: Test previous bug, and don't use GNU
41843         extension.
41844         Reported by Bruce Korb.
41845
41846         New module 'memchr2'.
41847         * modules/memchr2: New file.
41848         * modules/memchr2-tests: Likewise.
41849         * lib/memchr2.h: Likewise.
41850         * lib/memchr2.c: Likewise, based on memchr.c.
41851         * tests/test-memchr2.c: New test.
41852         * MODULES.html.sh (String handling): Add memchr2.
41853
41854 2008-02-29  Bruno Haible  <bruno@clisp.org>
41855
41856         * modules/freadseek-tests: New file.
41857         * tests/test-freadseek.sh: New file.
41858         * tests/test-freadseek.c: New file.
41859
41860         New module 'freadseek'.
41861         * modules/freadseek: New file.
41862         * lib/freadseek.h: New file.
41863         * lib/freadseek.c: New file.
41864         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
41865
41866 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
41867
41868         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
41869         wydawca.
41870
41871         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
41872         program_invocation_name and program_invocation_short_name are
41873         present.
41874
41875 2008-02-28  Bruno Haible  <bruno@clisp.org>
41876
41877         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
41878         * tests/test-freadptr.sh: Also test non-seekable stdin.
41879
41880 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
41881
41882         * build-aux/bootstrap (source_base, m4_base)
41883         (doc_base, tests_base): New variables.
41884         (gnulib_tool_options): Do not hardcode base directories, use
41885         the above variables instead.
41886
41887 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
41888
41889         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
41890
41891 2008-02-28  Bruno Haible  <bruno@clisp.org>
41892
41893         * modules/freadptr-tests: New file.
41894         * tests/test-freadptr.sh: New file.
41895         * tests/test-freadptr.c: New file.
41896
41897         New module 'freadptr'.
41898         * modules/freadptr: New file.
41899         * lib/freadptr.h: New file.
41900         * lib/freadptr.c: New file.
41901         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
41902
41903 2008-02-26  Karl Berry  <karl@freefriends.org>
41904
41905         Sync from Libtool:
41906         * libltdl/argz.c (argz_add, argz_count): New functions.
41907         * libltdl/argz.in.h: Declare them.
41908         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
41909
41910 2008-02-22  Bruno Haible  <bruno@clisp.org>
41911
41912         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
41913         is a pointer type.  Needed for HP-UX 10.
41914         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
41915         * doc/posix-functions/gmtime_r.texi: Likewise.
41916         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
41917
41918 2008-02-24  Bruno Haible  <bruno@clisp.org>
41919
41920         * modules/environ-tests: New file.
41921         * tests/test-environ.c: New file.
41922
41923         New module 'environ'.
41924         * modules/environ: New file.
41925         * lib/unistd.in.h (environ): New declaration.
41926         * m4/environ.m4: New file.
41927         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
41928         after use.
41929         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
41930         HAVE_DECL_ENVIRON.
41931         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
41932         HAVE_DECL_ENVIRON.
41933         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
41934         wrong claim that 'environ' is missing on some systems.
41935         * modules/execute (Depends-on): Add environ.
41936         * lib/execute.c (environ): Remove fallback declaration.
41937         * modules/pipe (Depends-on): Add environ.
41938         * lib/pipe.c (environ): Remove fallback declaration.
41939         * modules/setenv (Depends-on): Add environ.
41940         * lib/setenv.c (environ): Remove fallback declaration.
41941         * modules/unsetenv (Depends-on): Add environ.
41942         * lib/unsetenv.c (environ): Remove fallback declaration.
41943         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
41944         m4/environ.m4.
41945         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
41946         (gl_PREREQ_UNSETENV): Likewise.
41947
41948 2008-02-24  Bruno Haible  <bruno@clisp.org>
41949
41950         * doc/posix-functions/environ.texi: Document the MacOS X problem.
41951
41952 2008-02-20  Bob Proulx  <bob@proulx.com>
41953
41954         Enable use of older two part flavor 'git describe'.
41955         * build-aux/git-version-gen: If using the older two part flavor of
41956         git version then recreate the third part now present in the
41957         newer three part flavor of git describe.
41958
41959 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
41960
41961         * lib/fts.c (fts_build): Typo correction to comment.
41962
41963 2008-02-17  Bruno Haible  <bruno@clisp.org>
41964
41965         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
41966         generating no-op conflicts.
41967
41968 2008-02-17  Bruno Haible  <bruno@clisp.org>
41969
41970         Speed up by 10%.
41971         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
41972         result_entries, rather than an index-based loop.
41973
41974 2008-02-17  Bruno Haible  <bruno@clisp.org>
41975
41976         Speed up by 25%.
41977         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
41978         'hashcode_cached'.
41979         (entry_create): New function.
41980         (entry_hashcode): Use the cached hashcode if possible.
41981         (read_changelog_file, try_split_merged_entry): Use entry_create.
41982
41983 2008-02-17  Bruno Haible  <bruno@clisp.org>
41984
41985         Speed up from O(n^2) to O(n) for long ChangeLog files.
41986         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
41987         (read_changelog_file): Change implementation of entries_reversed list
41988         to rbtreehash.
41989         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
41990
41991 2008-02-17  Bruno Haible  <bruno@clisp.org>
41992
41993         New option --split-merged-entry.
41994         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
41995         (find_paragraph_end, try_split_merged_entry): New functions.
41996         (long_options): Add option --split-merged-entry.
41997         (usage): Document option --split-merged-entry.
41998         (main): Implement option --split-merged-entry.
41999         Reported by Eric Blake.
42000
42001 2008-02-17  Bruno Haible  <bruno@clisp.org>
42002
42003         * lib/git-merge-changelog.c: Include c-strstr.h.
42004         (main): Support the "git pull --rebase" situation.
42005         * modules/git-merge-changelog (Depends-on): Add c-strstr.
42006         Reported by Eric Blake.
42007
42008 2008-02-16  Eric Blake  <ebb9@byu.net>
42009
42010         Avoid doubling \ in common case of "c-maybe" quoting style.
42011         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
42012         eliding outer quotes.
42013         * lib/quotearg.h: Document this.
42014         * tests/test-quotearg.c (result_strings, inputs, results_g)
42015         (flag_results, locale_results): Test it by adding a new string to
42016         each test group.
42017         (compare_strings): Test new string.
42018
42019 2008-02-13  Eric Blake  <ebb9@byu.net>
42020
42021         Avoid trigraph quoting in default output.
42022         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
42023         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
42024         unless explicitly requested.
42025         * tests/test-quotearg.c (flag_results, main): Add additional tests.
42026
42027 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
42028
42029         Don't rely on signed integer overflowing to negative value.
42030         * lib/getugroups.c (getugroups): Include <limits.h>.
42031         Instead, compare against INT_MAX, and increment only if the test passes.
42032
42033 2008-02-13  Jim Meyering  <meyering@redhat.com>
42034         and Eric Blake  <ebb9@byu.net>
42035
42036         Avoid shadowing warning and compile errors on Linux.
42037         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
42038         forwarding macros on Linux.
42039         (dcgettext): Define a stub, for Linux.
42040         (results_g, main): Avoid warnings.
42041
42042 2008-02-12  Eric Blake  <ebb9@byu.net>
42043
42044         Silence warning in last patch.
42045         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
42046
42047         Quotearg part 4: add tests, fix c-maybe colon quoting.
42048         * lib/quotearg.h: Improve documentation.
42049         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
42050         escapes when adding outer quotes.  When quoting trigraphs, use
42051         valid C notation.  When quoting NUL, omit extra characters if next
42052         character is not digit.  Alter prototype.
42053         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
42054         callers.
42055         * modules/quotearg-tests: New module.
42056         * tests/test-quotearg.c: New test.
42057
42058 2008-02-07  Eric Blake  <ebb9@byu.net>
42059
42060         Quotearg part 3: add flag to control outer quote elision.
42061         * lib/quotearg.h (c_maybe_quoting_style): New style.
42062         (enum quoting_flags): Better documentation of flags.
42063         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
42064         c-maybe style.
42065         (quotearg_buffer_restyled): Handle new flag to elide outer
42066         quotes.
42067
42068         Quotearg part 2: add flag that can control NUL elision.
42069         * lib/quotearg.h (set_quoting_flags): New prototype.
42070         * lib/quotearg.c (struct quoting_options): Add flag field.
42071         (set_quoting_flags): New function.
42072         (quotearg_buffer_restyled): Add flags parameter.
42073         (quotearg_alloc_mem): Set the flag if length cannot be returned.
42074         (quotearg_n_options): Set the flag, since length cannot be
42075         returned.
42076         (quoting_options_from_style): Default flags correctly.
42077
42078         Quotearg part 1: more wrappers, restore quotearg_char state.
42079         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
42080         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
42081         (quotearg_colon_mem): New wrappers.
42082         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
42083         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
42084         functions.
42085         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
42086         (quotearg_colon_mem): New functions.
42087
42088 2008-02-11  Bruno Haible  <bruno@clisp.org>
42089
42090         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
42091         library in the current directory: it does not work with parallel make.
42092         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
42093
42094 2008-02-11  Bruno Haible  <bruno@clisp.org>
42095
42096         * .gitattributes: New file.
42097
42098 2008-02-11  Jim Meyering  <meyering@redhat.com>
42099
42100         useless-if-before-free: Fix reversed exit values.
42101         * build-aux/useless-if-before-free: Use correct values
42102         for EXIT_MATCH and EXIT_NO_MATCH.
42103
42104         * build-aux/useless-if-before-free: Close stdout carefully.
42105
42106 2008-02-10  Bruno Haible  <bruno@clisp.org>
42107
42108         New module 'git-merge-changelog'.
42109         * modules/git-merge-changelog: New file.
42110         * lib/git-merge-changelog.c: New file.
42111
42112 2008-02-10  Jim Meyering  <meyering@redhat.com>
42113
42114         useless-if-before-free: New option: --list (-l).
42115
42116         useless-if-before-free: Don't exit immediately upon open failure.
42117         * build-aux/useless-if-before-free: Exit 2 for errors.
42118         Upon failure to open a file, don't exit immediately.
42119         Rather, just warn and continue with any remaining files.
42120
42121 2008-02-10  Bruno Haible  <bruno@clisp.org>
42122
42123         New abstract list operation 'node_set_value'.
42124         * lib/gl_list.h (gl_list_node_set_value): New function.
42125         (struct gl_list_implementation): New field node_set_value.
42126         * lib/gl_list.c (gl_list_node_set_value): New function.
42127         * lib/gl_array_list.c (gl_array_node_set_value): New function.
42128         (gl_array_list_implementation): Update.
42129         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
42130         (gl_carray_list_implementation): Update.
42131         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
42132         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
42133         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
42134         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
42135         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
42136         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
42137         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
42138         Update.
42139         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
42140         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
42141         (gl_sublist_list_implementation): Update.
42142
42143 2008-02-10  Bruno Haible  <bruno@clisp.org>
42144
42145         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
42146         Needed when ELEMENT is #defined to 'some_type *'.
42147
42148 2008-02-10  Jim Meyering  <meyering@redhat.com>
42149
42150         New script and module: useless-if-before-free
42151         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
42152         * build-aux/useless-if-before-free: New file.
42153         * modules/useless-if-before-free: New file.
42154
42155         * build-aux/gitlog-to-changelog: Use committer date, not author date.
42156
42157         xstrtol_error: Fix typo.
42158         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
42159         s/exit_failure/exit_status/.
42160
42161 2008-02-09  Jim Meyering  <meyering@redhat.com>
42162
42163         New script and module: gitlog-to-changelog
42164         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
42165         * modules/gitlog-to-changelog: New file.
42166         * build-aux/gitlog-to-changelog: New file.
42167
42168 2008-02-08  Jim Meyering  <meyering@redhat.com>
42169
42170         Avoid two "parameter unused" warnings.
42171         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
42172         Mark "st" as used.
42173
42174         Use "git COMMAND", not "git-COMMAND".
42175         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
42176         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
42177         * build-aux/git-version-gen: Use "git status", not "git-status".
42178
42179 2008-02-07  Bruno Haible  <bruno@clisp.org>
42180
42181         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
42182         Avoids a crash on Windows Vista.
42183         Reported by Adam Strzelecki <ono@java.pl> via
42184         Simon Josefsson <simon@josefsson.org>.
42185
42186 2008-02-06  Bruno Haible  <bruno@clisp.org>
42187
42188         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
42189         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
42190         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
42191         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
42192         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
42193         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42194         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
42195         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
42196         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42197         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42198         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42199         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42200         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42201         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42202         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42203         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
42204         left-adjust flag.
42205         * tests/test-snprintf-posix.h (test_function): Likewise.
42206         * tests/test-sprintf-posix.h (test_function): Likewise.
42207         * tests/test-vasprintf-posix.c (test_function): Likewise.
42208         * doc/posix-functions/fprintf.texi: Update.
42209         * doc/posix-functions/printf.texi: Update.
42210         * doc/posix-functions/snprintf.texi: Update.
42211         * doc/posix-functions/sprintf.texi: Update.
42212         * doc/posix-functions/vfprintf.texi: Update.
42213         * doc/posix-functions/vprintf.texi: Update.
42214         * doc/posix-functions/vsnprintf.texi: Update.
42215         * doc/posix-functions/vsprintf.texi: Update.
42216         Reported by Peter Fales <psfales@alcatel-lucent.com>.
42217
42218 2008-02-06  Bruno Haible  <bruno@clisp.org>
42219
42220         Fix bug introduced on 2008-01-26.
42221         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
42222
42223 2008-02-06  Bruno Haible  <bruno@clisp.org>
42224
42225         Fix bug introduced on 2007-06-10.
42226         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
42227         !NEED_PRINTF_FLAG_ZERO.
42228
42229 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
42230
42231         getloadavg: use libperfstat on AIX5
42232         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
42233
42234 2008-02-03  Bruno Haible  <bruno@clisp.org>
42235
42236         * lib/diffseq.h: Add comments about required #includes.
42237         Reported by Michael Biggs <gnulib@doubleplum.net>.
42238
42239 2008-02-01  Bruno Haible  <bruno@clisp.org>
42240
42241         * users.txt: Add gnuit.
42242
42243 2008-01-31  Bruno Haible  <bruno@clisp.org>
42244
42245         * lib/md4.c (set_uint32): Mark as inline.
42246         * lib/md5.c (set_uint32): Likewise.
42247         * lib/sha1.c (set_uint32): Likewise.
42248         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
42249         * m4/md5.m4 (gl_MD5): Likewise.
42250         * m4/sha1.m4 (gl_SHA1): Likewise.
42251
42252 2008-01-31  Jim Meyering  <meyering@redhat.com>
42253
42254         Use "sizeof VAR", rather than a literal "4".
42255         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
42256         * lib/md4.c (md4_read_ctx): Likewise.
42257         * lib/sha1.c (sha1_read_ctx): Likewise.
42258
42259 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42260
42261         * tests/test-sha1.c: New file, based on test-md5.c.
42262
42263         * modules/crypto/sha1-tests: New file.
42264
42265 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42266
42267         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
42268
42269 2008-01-31  Jim Meyering  <meyering@redhat.com>
42270
42271         Prefer "sizeof v" over the equivalent "4".
42272         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
42273         * lib/md5.c (set_uint32): Likewise.
42274         * lib/sha1.c (set_uint32): Likewise.
42275
42276 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42277
42278         * lib/sha1.c (set_uint32): Mark function as static.
42279
42280 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42281
42282         md2: clarify comments to say that alignment is not required.
42283         * lib/md2.h: Remove warning about alignment in comment.
42284         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
42285         never been required.
42286
42287 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42288
42289         md4: adapt alignment constraint fix from sha1.
42290         * lib/md4.c (set_uint32): New function, from sha1.c
42291         (md4_read_ctx): Use it.
42292         (md4_finish_ctx): Doc fix.
42293         * lib/md4.h: Doc fix.
42294
42295 2008-01-31  Simon Josefsson  <simon@josefsson.org>
42296
42297         md5: adapt alignment constraint fix from sha1.
42298         * lib/md5.c (set_uint32): New function, from sha1.c
42299         (md5_read_ctx): Use it.
42300         (md5_finish_ctx): Doc fix.
42301         * lib/md5.h: Doc fix.
42302
42303 2008-01-30  Peter Palfrader  <weasel@debian.org>
42304
42305         sha1: remove the result buffer alignment constraint
42306         * lib/sha1.c (set_uint32): New function.
42307         (sha1_read_ctx): Rewrite to remove the result buffer alignment
42308         constraint.
42309         (sha1_finish_ctx): Remove comment warning about alignment constraint.
42310         * lib/sha1.h: Likewise.
42311
42312 2008-01-30  Andreas Schwab  <schwab@suse.de>
42313             Bruno Haible  <bruno@clisp.org>
42314
42315         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
42316         correct definition of LDBL_MIN_EXP.
42317
42318 2008-01-30  Karl Berry  <karl@gnu.org>
42319
42320         * config/srclist-update: try to preserve x bit on updates.
42321         * config/srclistvars.sh: update for karl.
42322
42323 2008-01-29  Jim Meyering  <meyering@redhat.com>
42324
42325         vasnprintf.c: Avoid warning about unused label
42326         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
42327         "overflow" label definition and associated code with the
42328         same cpp condition that guards the sole use of that label.
42329
42330 2008-01-26  Bruno Haible  <bruno@clisp.org>
42331
42332         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
42333         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
42334         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
42335         * lib/isnanl-nolibm.h (isnanl): Likewise.
42336         Reported by Paul Eggert <eggert@cs.ucla.edu>.
42337
42338 2008-01-26  Bruno Haible  <bruno@clisp.org>
42339
42340         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
42341         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
42342
42343 2008-01-26  Bruno Haible  <bruno@clisp.org>
42344
42345         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
42346         GCC >= 4.0 built-in.
42347         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
42348
42349 2008-01-26  Bruno Haible  <bruno@clisp.org>
42350
42351         Rename isnan, applicable to 'double' only, to isnand.
42352         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
42353         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
42354         (configure.ac): Update.
42355         (Include): Replace "isnan.h" with "isnand.h".
42356         * m4/isnand.m4: Renamed from m4/isnan.m4.
42357         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
42358         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
42359         instead of isnan.c.
42360         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
42361         instead of HAVE_ISNAN_IN_LIBC.
42362         (isnand): Renamed from isnan.
42363         * lib/isnand.c: New file.
42364         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
42365         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
42366         (Makefile.am): Update.
42367         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
42368         Include isnand.h instead of isnan.h.
42369         (main): Test isnand instead of isnan.
42370         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
42371         isnan-nolibm.
42372         * modules/frexp (Depends-on): Likewise.
42373         * modules/frexp-tests (Depends-on): Likewise.
42374         * modules/frexp-nolibm (Depends-on): Likewise.
42375         * modules/frexp-nolibm-tests (Depends-on): Likewise.
42376         * modules/isfinite (Depends-on): Likewise.
42377         * modules/round-tests (Depends-on): Likewise.
42378         * modules/signbit (Depends-on): Likewise.
42379         * modules/signbit-tests (Depends-on): Likewise.
42380         * modules/snprintf-posix (Depends-on): Likewise.
42381         * modules/sprintf-posix (Depends-on): Likewise.
42382         * modules/trunc-tests (Depends-on): Likewise.
42383         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
42384         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42385         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42386         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42387         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42388         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42389         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42390         * modules/vasnprintf-posix (Depends-on): Likewise.
42391         * modules/vasprintf-posix (Depends-on): Likewise.
42392         * modules/vfprintf-posix (Depends-on): Likewise.
42393         * modules/vsnprintf-posix (Depends-on): Likewise.
42394         * modules/vsprintf-posix (Depends-on): Likewise.
42395         * lib/frexp.c: Include isnand.h instead of isnan.h.
42396         (ISNAN): Set to isnand instead of isnan.
42397         * lib/isfinite.c: Include isnand.h instead of isnan.h.
42398         (gl_isfinited): Use isnand instead of isnan.
42399         * lib/signbitd.c: Include isnand.h instead of isnan.h.
42400         (gl_signbitd): Use isnand instead of isnan.
42401         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
42402         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
42403         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
42404         (main): Use isnand instead of isnan.
42405         * tests/test-round1.c: Include isnand.h.
42406         (main): Use isnand instead of isnan.
42407         * tests/test-round2.c: Include isnand.h instead of isnan.h.
42408         (ISNAN): Set to isnand instead of isnan.
42409         * tests/test-trunc1.c: Include isnand.h.
42410         (main): Use isnand instead of isnan.
42411         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
42412         (equal): Use isnand instead of isnan.
42413         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
42414         isnand-nolibm.
42415         * NEWS: Mention the change.
42416
42417 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
42418             Bruno Haible  <bruno@clisp.org>
42419
42420         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
42421         the GCC builtins for signbits are present and set
42422         REPLACE_SIGNBIT_USING_GCC if so.
42423         * lib/math.in.h (signbit): Define using GCC builtins if
42424         REPLACE_SIGNBIT_USING_GCC is set.
42425         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
42426         REPLACE_SIGNBIT_USING_GCC.
42427         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
42428
42429 2008-01-25  Jim Meyering  <meyering@redhat.com>
42430
42431         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
42432         * lib/poll.c: Include <config.h>, not "config.h".
42433         * tests/test-getaddrinfo.c: Likewise.
42434
42435 2008-01-25  Simon Josefsson  <simon@josefsson.org>
42436
42437         * modules/sockets-tests: New file.
42438
42439 2008-01-24  Simon Josefsson  <simon@josefsson.org>
42440
42441         * modules/sockets: New module, can be used to call WSA_Startup and
42442         WSA_Cleanup when needed.
42443
42444         * lib/sockets.h, lib/sockets.c: New files.
42445
42446         * m4/sockets.m4: New file.
42447
42448         * tests/test-sockets.c: New file.
42449
42450 2008-01-19  Bruno Haible  <bruno@clisp.org>
42451
42452         * doc/posix-headers: Renamed from doc/headers.
42453         * doc/posix-functions: Renamed from doc/functions.
42454         * doc/gnulib.texi: Update.
42455
42456 2008-01-19  Bruno Haible  <bruno@clisp.org>
42457
42458         * doc/glibc-functions/strcasestr.texi: Include contents of
42459         doc/functions/strcasestr.texi, fixing the list of platforms.
42460         * doc/functions/strcasestr.texi: Remove file.
42461
42462 2008-01-19  Bruno Haible  <bruno@clisp.org>
42463
42464         * doc/glibc-functions/memmem.texi: Include contents of
42465         doc/functions/memmem.texi.
42466         * doc/functions/memmem.texi: Remove file.
42467
42468 2008-01-18  Bruno Haible  <bruno@clisp.org>
42469
42470         * doc/glibc-functions/*.texi: New files.
42471         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
42472         to use the new files.
42473
42474 2008-01-17  Bruno Haible  <bruno@clisp.org>
42475
42476         * tests/test-gethostname.c (main): Fix printf statement.
42477
42478 2008-01-17  Simon Josefsson  <simon@josefsson.org>
42479
42480         * modules/gethostname-tests: New file.
42481
42482         * tests/test-gethostname.c: New file.
42483
42484 2008-01-17  Simon Josefsson  <simon@josefsson.org>
42485
42486         * lib/gethostname.c: Include string.h unconditionally, strncpy is
42487         used by the UNAME case.  Reported by Bruno Haible
42488         <bruno@clisp.org>.
42489
42490 2008-01-17  Eric Blake  <ebb9@byu.net>
42491
42492         Convert c-strcasestr to be more efficient.
42493         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
42494         (Depends-on): Add c-strcase, remove malloca, strnlen.
42495         * tests/test-c-strcasestr.c (main): Enhance test.
42496         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
42497
42498 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
42499
42500         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
42501         Use it in creating po/Makevars.
42502
42503 2008-01-15  Simon Josefsson  <simon@josefsson.org>
42504
42505         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
42506         Applications that requires it should initialize libgcrypt
42507         manually.
42508
42509 2008-01-16  Simon Josefsson  <simon@josefsson.org>
42510
42511         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
42512
42513 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
42514
42515         Fix problem with getdate on mingw32 reported by Simon Josefsson
42516         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
42517         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
42518         tzname", when deciding whether to declare tzname.
42519         * lib/strftime.c (tzname): Likewise.
42520
42521 2008-01-15  Bruno Haible  <bruno@clisp.org>
42522
42523         Work around a MacOS X 10.5 bug in frexpl().
42524         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
42525         * doc/functions/frexpl.texi: Document the bug.
42526         Reported by Elias Pipping <pipping@gentoo.org>.
42527
42528 2008-01-14  Eric Blake  <ebb9@byu.net>
42529
42530         Touch up previous patch.
42531         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
42532         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
42533
42534         Convert strcasestr module to use Two-Way algorithm.
42535         * modules/strcasestr-simple: New module, based on the old
42536         strcasestr, but with Two-Way rather than KMP.
42537         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
42538         * lib/string.in.h (rpl_strcasestr): Declare.
42539         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
42540         performance.
42541         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
42542         * modules/string (Makefile.am): Support strcasestr.
42543         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
42544         * modules/strcasestr-tests (Depends-on): Check for alarm.
42545         * tests/test-strcasestr.c: Augment test.
42546         * lib/str-two-way.h: Clean up stray macro.
42547         * NEWS: Document new module.
42548         * MODULES.html.sh (string handling): Likewise.
42549         * doc/functions/strcasestr.texi: New file.
42550         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
42551         here, since it is not a POSIX function.
42552
42553 2008-01-14  Colin Watson  <cjwatson@debian.org>
42554             Bruno Haible  <bruno@clisp.org>
42555
42556         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
42557         works fine; if not, set REPLACE_STRSIGNAL.
42558         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
42559         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42560         REPLACE_STRSIGNAL.
42561         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
42562         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
42563         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
42564
42565 2008-01-14  Bruno Haible  <bruno@clisp.org>
42566
42567         * modules/strsignal (Include): Change to <string.h>.
42568
42569 2008-01-14  Colin Watson  <cjwatson@debian.org>
42570
42571         * modules/argp (Notice): Add a notice recommending to change
42572         XGETTEXT_OPTIONS.
42573         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
42574
42575 2008-01-13  Colin Watson  <cjwatson@debian.org>
42576
42577         * modules/strsignal-tests: New file.
42578         * tests/test-strsignal.c: New file.
42579
42580         * lib/strsignal.c: New file, from glibc with modifications.
42581         * lib/siglist.h: New file, from glibc with modifications.
42582         * lib/string.in.h (strsignal): New declaration.
42583         * m4/strsignal.m4: New file.
42584         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
42585         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
42586         * modules/strsignal: New file.
42587         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
42588         HAVE_DECL_STRSIGNAL.
42589
42590 2008-01-13  Bruno Haible  <bruno@clisp.org>
42591
42592         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
42593         locale encoding is not ASCII. Needed for OpenBSD 4.0.
42594         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
42595         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
42596
42597 2008-01-13  Bruno Haible  <bruno@clisp.org>
42598
42599         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
42600         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
42601         * lib/argp.h (__attribute__): Likewise.
42602         * lib/c-stack.c (__attribute__): Likewise.
42603         * lib/error.h (__attribute__): Likewise.
42604         * lib/fts.c (__attribute__): Likewise.
42605         * lib/openat.h (__attribute__): Likewise.
42606         * lib/stdio.in.h (__attribute__): Likewise.
42607         * lib/string.in.h (__attribute__): Likewise.
42608         * lib/utimens.c (__attribute__): Likewise.
42609         * lib/vasnprintf.h (__attribute__): Likewise.
42610         * lib/xalloc.h (__attribute__): Likewise.
42611         * lib/xprintf.h (__attribute__): Likewise.
42612         * lib/xstrtol.h (__attribute__): Likewise.
42613         * lib/xvasprintf.h (__attribute__): Likewise.
42614
42615 2008-01-12  Bruno Haible  <bruno@clisp.org>
42616
42617         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
42618         * doc/glibc-headers/a.out.texi: New file.
42619         * doc/glibc-headers/aliases.texi: New file.
42620         * doc/glibc-headers/alloca.texi: New file.
42621         * doc/glibc-headers/ar.texi: New file.
42622         * doc/glibc-headers/argp.texi: New file.
42623         * doc/glibc-headers/argz.texi: New file.
42624         * doc/glibc-headers/byteswap.texi: New file.
42625         * doc/glibc-headers/crypt.texi: New file.
42626         * doc/glibc-headers/endian.texi: New file.
42627         * doc/glibc-headers/envz.texi: New file.
42628         * doc/glibc-headers/err.texi: New file.
42629         * doc/glibc-headers/error.texi: New file.
42630         * doc/glibc-headers/execinfo.texi: New file.
42631         * doc/glibc-headers/fpu_control.texi: New file.
42632         * doc/glibc-headers/fstab.texi: New file.
42633         * doc/glibc-headers/fts.texi: New file.
42634         * doc/glibc-headers/getopt.texi: New file.
42635         * doc/glibc-headers/ieee754.texi: New file.
42636         * doc/glibc-headers/ifaddrs.texi: New file.
42637         * doc/glibc-headers/libintl.texi: New file.
42638         * doc/glibc-headers/mcheck.texi: New file.
42639         * doc/glibc-headers/mntent.texi: New file.
42640         * doc/glibc-headers/obstack.texi: New file.
42641         * doc/glibc-headers/paths.texi: New file.
42642         * doc/glibc-headers/printf.texi: New file.
42643         * doc/glibc-headers/pty.texi: New file.
42644         * doc/glibc-headers/resolv.texi: New file.
42645         * doc/glibc-headers/shadow.texi: New file.
42646         * doc/glibc-headers/sysexits.texi: New file.
42647         * doc/glibc-headers/ttyent.texi: New file.
42648
42649 2008-01-12  Jim Meyering  <meyering@redhat.com>
42650
42651         announce-gen: emit Gnulib's git-based version string.
42652         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
42653         New option --gnulib-version=V, where V is expected to be
42654         the output of running git describe in the gnulib directory.
42655         (get_tool_versions): Request feedback on xdelta.  I suspect it's
42656         not useful, and plan to stop publishing an xdelta file with each
42657         coreutils release.
42658
42659         * build-aux/announce-gen: Also check for lzma-compressed files.
42660
42661 2008-01-11  Bruno Haible  <bruno@clisp.org>
42662
42663         * tests/test-memmem.c (main): Increase maximum allowed time.
42664         * tests/test-strstr.c (main): Likewise.
42665
42666 2008-01-11  Bruno Haible  <bruno@clisp.org>
42667
42668         * doc/functions/memmem.texi: Add more precisions about platforms.
42669         * doc/functions/strstr.texi: Likewise.
42670
42671 2008-01-10  Eric Blake  <ebb9@byu.net>
42672
42673         * m4/strstr.m4: Delete cruft from copy-n-paste.
42674         Reported by Bruno Haible.
42675
42676 2008-01-10  Bruno Haible  <bruno@clisp.org>
42677
42678         Make c-strstr rely on strstr.
42679         * lib/c-strstr.c: Don't include str-kmp.h.
42680         (c_strstr): Define in terms of strstr.
42681         * modules/c-strstr (Files): Remove lib/str-kmp.h.
42682         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
42683
42684 2008-01-10  Bruno Haible  <bruno@clisp.org>
42685
42686         * doc/gnulib.texi (String Functions in C Locale): New section.
42687         * doc/c-ctype.texi: New file.
42688         * doc/c-strcase.texi: New file.
42689         * doc/c-strcaseeq.texi: New file.
42690         * doc/c-strcasestr.texi: New file.
42691         * doc/c-strstr.texi: New file.
42692         * doc/c-strtod.texi: New file.
42693         * doc/c-strtold.texi: New file.
42694
42695 2008-01-10  Eric Blake  <ebb9@byu.net>
42696
42697         * lib/relocatable.h: Fix a comment.
42698
42699 2008-01-10  Eric Blake  <ebb9@byu.net>
42700
42701         Share two-way algorithm.
42702         * lib/str-two-way.h: New file, merged from...
42703         * lib/memmem.c: ...here...
42704         * lib/strstr.c: ...and here.
42705         * modules/memmem (Files): Use it.
42706         * modules/strstr (Files): Likewise.
42707
42708         Avoid quadratic strstr implementations.
42709         * lib/strstr.c: New file.
42710         * m4/strstr.m4: Likewise.
42711         * modules/strstr: Likewise.
42712         * modules/strstr-tests: Likewise.
42713         * tests/test-strstr.c: Likewise.
42714         * lib/string.in.h (rpl_strstr): Declare.
42715         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
42716         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
42717         * modules/string (Makefile.am): Likewise.
42718         * MODULES.html.sh (string handling): Mention new module.
42719         * doc/functions/strstr.texi (strstr): Document the bug.
42720
42721 2008-01-10  Bruno Haible  <bruno@clisp.org>
42722
42723         * lib/relocatable.h (relocate): State whether result is freshly
42724         allocated or not.
42725         * lib/relocatable.c (relocate): Return a freshly allocated string
42726         instead of a pointer to a privately held string.
42727         Reported by Sylvain Beucler <beuc@gnu.org>.
42728
42729 2008-01-10  Colin Watson  <cjwatson@debian.org>
42730
42731         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
42732         s/S_ISNLK/S_ISLNK/.
42733
42734 2008-01-09  Bruno Haible  <bruno@clisp.org>
42735
42736         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
42737         and other files.
42738         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
42739         if it's only a guess.
42740         * modules/memmem: Simplify by depending on memmem-simple.
42741
42742 2008-01-09  Bruno Haible  <bruno@clisp.org>
42743
42744         Work around OpenBSD 4.0 tdelete() bug.
42745         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
42746         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
42747         macros and don't redefine the enum values.
42748         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
42749         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
42750         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
42751
42752 2008-01-09  Bruno Haible  <bruno@clisp.org>
42753
42754         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
42755         (main): Don't perform the tests if setlocale did not install a UTF-8
42756         locale. Needed on OpenBSD 4.0.
42757         * modules/wcwidth-tests (Depends-on): Add localcharset.
42758
42759 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
42760
42761         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
42762         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
42763         * NEWS: announce this.
42764         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
42765
42766 2008-01-09  Simon Josefsson  <simon@josefsson.org>
42767         and Eric Blake  <ebb9@byu.net>
42768
42769         Add memmem-simple module.
42770         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
42771         (gl_FUNC_MEMMEM): Separate performance from presence checks.
42772         * modules/memmem-simple: New file.
42773         * modules/memmem (Description): Tweak.
42774         * MODULES.html.sh (string handling): Mention new module.
42775         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
42776         addressed by memmem-simple.
42777         * NEWS: Document the difference.
42778
42779 2008-01-09  Eric Blake  <ebb9@byu.net>
42780
42781         Give gcc some memmem optimization hints.
42782         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
42783         (strcasestr): Declare as pure.
42784         * modules/memmem (Maintainer): Claim my implementation.
42785
42786 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42787
42788         Support AIX 6.1 and higher.
42789         * build-aux/config.libpath: Likewise.
42790         * build-aux/config.rpath: Likewise.
42791
42792 2008-01-08  Jim Meyering  <meyering@redhat.com>
42793             Bruno Haible  <bruno@clisp.org>
42794
42795         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
42796         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
42797         Reported by Peter Fales in
42798         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
42799
42800 2008-01-08  Bruno Haible  <bruno@clisp.org>
42801
42802         * modules/unictype/category-of (Depends-on): Add
42803         unictype/category-none.
42804         * modules/unictype/category-and-tests (Depends-on): Add
42805         unictype/category-{L,N,Lu,Nd}.
42806         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
42807         * modules/unictype/category-or-tests (Depends-on): Add
42808         unictype/category-{L,N}.
42809         * modules/unictype/category-name-tests (Depends-on): Add
42810         unictype/category-{Z,Nl}.
42811         Reported by Simon Josefsson.
42812
42813 2008-01-08  Bruno Haible  <bruno@clisp.org>
42814
42815         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
42816         convention better.
42817         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
42818         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
42819         Reported by Peter Miller <millerp@canb.auug.org.au>.
42820
42821 2008-01-08  Eric Blake  <ebb9@byu.net>
42822
42823         Rewrite memmem to guarantee linear complexity without malloc.
42824         * lib/memmem.c (memmem): Use Two-Way rather than
42825         Knuth-Morris-Pratt, to allow O(1) space usage.
42826         (critical_factorization, two_way_short_needle)
42827         (two_way_long_needle): New functions.
42828         (knuth_morris_pratt): Delete.
42829         * modules/memmem (Depends-on): No longer need malloca or stdbool.
42830         Add stdint.
42831         * tests/test-memmem.c (main): Add tests for periodic needle and
42832         sublinear performance.
42833         * doc/functions/memmem.texi (memmem): Document other deficiencies
42834         in cygwin and older glibc.
42835
42836 2008-01-08  Bruno Haible  <bruno@clisp.org>
42837
42838         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
42839         augmentation.
42840
42841 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
42842
42843         Add a configure time option: --disable-acl.
42844         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
42845         AC_ARG_ENABLE(acl).
42846
42847 2008-01-06  Simon Josefsson  <simon@josefsson.org>
42848
42849         * tests/test-localename.c: Don't include obsolete "setenv.h".
42850
42851         * modules/localename-tests (Depends-on): Need unsetenv.
42852
42853 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42854
42855         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
42856
42857 2008-01-06  Colin Watson  <cjwatson@debian.org>
42858
42859         * users.txt: Add man-db.
42860
42861 2008-01-07  Bruno Haible  <bruno@clisp.org>
42862
42863         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
42864         previous section name.
42865
42866 2008-01-07  Bruno Haible  <bruno@clisp.org>
42867
42868         * lib/progname.c (set_program_name): Don't strip off a leading
42869         "lt-" prefix outside a .libs directory.
42870         Suggested by Paul Eggert.
42871
42872 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
42873             Bruno Haible  <bruno@clisp.org>
42874
42875         Improve memory cleanup in 'relocatable' module.
42876         * lib/relocatable.h (compute_curr_prefix): Change return type to
42877         'char *'.
42878         * lib/relocatable.c (compute_curr_prefix): Change return type to
42879         'char *'. Free curr_installdir after use.
42880         (relocate): Free curr_prefix_better after use.
42881         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
42882
42883 2008-01-01  Bruno Haible  <bruno@clisp.org>
42884
42885         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
42886         failure on older glibc systems.
42887         Reported by Peter Fales <psfales@alcatel-lucent.com>.
42888
42889 2008-01-05  Eric Blake  <ebb9@byu.net>
42890
42891         Avoid quadratic system memmem.
42892         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
42893         Reported by Ralf Wildenhues.
42894
42895         Fix memmem test for mingw.
42896         * modules/memmem-tests (configure.ac): Check for alarm.
42897         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
42898         it.
42899         * doc/functions/memmem.texi: New file.
42900         * doc/gnulib.texi (Function Substitutes): Add memmem.
42901         Reported by Bruno Haible.
42902
42903 2008-01-04  Bruno Haible  <bruno@clisp.org>
42904
42905         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
42906         Require gl_HEADER_STRINGS_H_DEFAULTS, not
42907         gl_HEADER_STRING_H_DEFAULTS.
42908
42909 2008-01-04  Eric Blake  <ebb9@byu.net>
42910
42911         Shorten duration of memmem test.
42912         * tests/test-memmem.c (main): Use alarm to declare failure if test
42913         is taking too long.
42914         Reported by Ralf Wildenhues.
42915
42916 2007-12-21  Simon Josefsson  <simon@josefsson.org>
42917
42918         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
42919         string, needed by strerror.
42920
42921 2008-01-03  Colin Watson  <cjwatson@debian.org>
42922             Bruno Haible  <bruno@clisp.org>
42923
42924         * doc/gnulib-tool.texi (Localization): New section.
42925
42926 2008-01-02  Bruno Haible  <bruno@clisp.org>
42927
42928         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
42929         variables to 'unsigned char *' type.
42930         Reported by Paul Eggert.
42931
42932 2008-01-02  Jim Meyering  <jim@meyering.net>
42933
42934         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
42935
42936 2007-12-31  Jim Meyering  <jim@meyering.net>
42937
42938         Avoid use of private FTS type name.
42939         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
42940
42941 2007-12-30  Karl Berry  <karl@gnu.org>
42942
42943         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
42944         work around defect in Texinfo and/or the standalone Info browser.
42945
42946 2007-12-30  Bruno Haible  <bruno@clisp.org>
42947
42948         Unify 5 copies of the KMP code.
42949         * lib/str-kmp.h: New file.
42950         * lib/c-strcasestr.c: Include str-kmp.h.
42951         (knuth_morris_pratt): Remove function.
42952         (c_strcasestr): Update.
42953         * lib/c-strstr.c: Include str-kmp.h.
42954         (knuth_morris_pratt): Remove function.
42955         (c_strcasestr): Update.
42956         * lib/mbscasestr.c: Include str-kmp.h.
42957         (knuth_morris_pratt_unibyte): Remove function.
42958         * lib/mbsstr.c: Include str-kmp.h.
42959         (knuth_morris_pratt_unibyte): Remove function.
42960         * lib/strcasestr.c: Include str-kmp.h.
42961         (knuth_morris_pratt): Remove function.
42962         (strcasestr): Update.
42963         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
42964         * modules/c-strstr (Files): Likewise.
42965         * modules/mbscasestr (Files): Likewise.
42966         * modules/mbsstr (Files): Likewise.
42967         * modules/strcasestr (Files): Likewise.
42968         Suggested by Paul Eggert.
42969
42970 2007-12-30  Bruno Haible  <bruno@clisp.org>
42971
42972         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
42973         defined.
42974
42975 2007-12-30  Bruno Haible  <bruno@clisp.org>
42976
42977         * lib/xmalloca.h: Include xalloc.h.
42978         (xnmalloca): New macro.
42979
42980 2007-12-30  Bruno Haible  <bruno@clisp.org>
42981
42982         * lib/malloca.h (nmalloca): New macro.
42983         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
42984         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
42985         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
42986         knuth_morris_pratt_multibyte): Likewise.
42987         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
42988         knuth_morris_pratt_multibyte): Likewise.
42989         * lib/memmem.c (knuth_morris_pratt): Likewise.
42990         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
42991
42992 2007-12-25  Bruno Haible  <bruno@clisp.org>
42993
42994         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
42995         * lib/glob.c: Don't include openat.h.
42996         (link_exists2_p): Add back the code that deals with the
42997         !GLOB_ALTDIRFUNC case.
42998         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
42999         let it do the filename concatenation.
43000         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
43001         * modules/glob (Depends-on): Remove openat.
43002
43003 2007-12-31  Bruno Haible  <bruno@clisp.org>
43004
43005         * modules/dirfd (License): Change to LGPLv2+.
43006         Approved by Jim Meyering.
43007
43008 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
43009
43010         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
43011         when multiplying M by sizeof (size_t).
43012
43013 2007-12-10  Martin Lambers  <marlam@marlam.de>
43014
43015         Override getpagesize on mingw.
43016         * lib/getpagesize.c: New file.
43017         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
43018         * modules/getpagesize (Files): Add lib/getpagesize.c.
43019         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
43020         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
43021         REPLACE_GETPAGESIZE.
43022         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
43023
43024 2007-12-25  Bruno Haible  <bruno@clisp.org>
43025
43026         * modules/localcharset (Notice): New field.
43027         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
43028         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
43029
43030 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
43031             Bruno Haible  <bruno@clisp.org>
43032
43033         Avoid using the syntax symbol() in formatted documentation.
43034         * MODULES.html.sh (func_module): When replacing symbol() with a
43035         hyperlink, remove the parentheses. Show an error if some remain.
43036         Recognize and render the '...' syntax.
43037         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
43038         Rework. Add paragraph about GCC's inlining.
43039         * doc/alloca.texi: Likewise.
43040         * doc/error.texi: Remove parentheses from symbol reference.
43041         * doc/gnulib-intro.texi: Likewise.
43042         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
43043         * modules/fnmatch (Description): Reword to say "the ... function".
43044         * modules/full-read (Description): Likewise.
43045         * modules/full-write (Description): Likewise.
43046         * modules/safe-read (Description): Likewise.
43047         * modules/safe-write (Description): Likewise.
43048         * modules/strchrnul (Description): Likewise.
43049         * modules/trim (Description): Likewise.
43050         * modules/error (Description): Remove parentheses from symbol
43051         references.
43052         * modules/verror (Description): Likewise.
43053         Reported by Karl Berry.
43054
43055 2007-12-25  Bruno Haible  <bruno@clisp.org>
43056
43057         Fixup after 2007-10-16 commit.
43058         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
43059
43060 2007-12-24  Bruno Haible  <bruno@clisp.org>
43061
43062         Make --enable-relocatable work with DESTDIR.
43063         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
43064         to compute installdir from destprog.
43065         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
43066         also set the RELOC_DESTDIR variable.
43067         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
43068
43069 2007-12-24  Bruno Haible  <bruno@clisp.org>
43070
43071         Fix link error due to xalloc_die().
43072         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
43073         of xreadlink.
43074         * lib/relocwrapper.c: Update comments.
43075         * build-aux/install-reloc: Remove xreadlink.c from file list.
43076         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
43077         xreadlink.c.
43078         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
43079
43080 2007-12-24  Bruno Haible  <bruno@clisp.org>
43081
43082         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
43083         * lib/setenv.h: Remove file.
43084         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
43085         lib/setenv.h.
43086         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
43087         (Depends-on): Add stdlib.
43088         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
43089         gl_FUNC_UNSETENV.
43090         (Include): Replace setenv.h with <stdlib.h>.
43091         * modules/unsetenv: New file.
43092         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
43093         * lib/unsetenv.c: Include <stdlib.h> first.
43094         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
43095         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
43096         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
43097         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
43098         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
43099         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
43100         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
43101         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
43102         * doc/functions/unsetenv.texi: Update.
43103         * modules/xsetenv (Depends-on): Add unsetenv.
43104         * modules/getdate (Depends-on): Likewise.
43105         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
43106         * lib/xsetenv.c: Don't include setenv.h.
43107         * lib/getdate.y: Likewise.
43108         * lib/relocwrapper.c: Likewise.
43109         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
43110         (Depends-on): Add stdlib.
43111         * NEWS: Mention the changes.
43112         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
43113
43114 2007-12-23  Bruno Haible  <bruno@clisp.org>
43115
43116         * lib/memmem.c (memmem): Use lowercase variable names. Tab
43117         indentation.
43118
43119 2007-12-23  Bruno Haible  <bruno@clisp.org>
43120
43121         * lib/c-strcasestr.c: Add more comments.
43122         * lib/c-strstr.c: Likewise.
43123         * lib/mbscasestr.c: Likewise.
43124         * lib/mbsstr.c: Likewise.
43125         * lib/strcasestr.c: Likewise.
43126         * lib/memmem.c: Likewise.
43127
43128 2007-12-23  Bruno Haible  <bruno@clisp.org>
43129
43130         * tests/test-memmem.c: Include <string.h> first.
43131
43132 2007-12-22  Bruno Haible  <bruno@clisp.org>
43133
43134         * gnulib-tool (func_create_testdir): Change $auxdir while generating
43135         the contents of $testsbase.
43136         Reported by Ralf Wildenhues.
43137
43138 2007-12-22  Bruno Haible  <bruno@clisp.org>
43139
43140         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
43141         two variables local_ldadd_before, local_ldadd_last.
43142
43143 2007-12-20  Eric Blake  <ebb9@byu.net>
43144
43145         Work around circular library issue when cross-compiling.
43146         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
43147         that progname.o does not need to pull in rpl_memcmp.
43148
43149 2007-12-19  Eric Blake  <ebb9@byu.net>
43150
43151         Fix memmem to avoid O(n^2) worst-case complexity.
43152         * lib/memmem.c (knuth_morris_pratt): New function.
43153         (memmem): Use it if first few naive iterations fail.
43154         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
43155         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
43156         * modules/memchr (License): Likewise.
43157         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
43158         malloca.
43159         * tests/test-memmem.c: Rewrite, borrowing ideas from
43160         test-mbsstr1.c; the old version wouldn't even compile!
43161         * modules/memmem-tests: New file.
43162         * lib/string.in.h (rpl_memmem): Add declaration.
43163         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
43164         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
43165         REPLACE_MEMMEM.
43166
43167 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
43168
43169         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
43170         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
43171         before any system include files, and undef after them all.  This
43172         should fix a problem on VMS reported by John E. Malmberg in
43173         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
43174
43175 2007-12-17  Eric Blake  <ebb9@byu.net>
43176
43177         Revert addition of verify, for BSD/OS.
43178         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
43179         can't handle large files, for the sake of obsolete platforms.
43180         * modules/fseeko (Depends-on): Remove verify.
43181         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
43182         * doc/functions/ftello.texi (ftello): Likewise.
43183         * doc/functions/fgetpos.texi (fgetpos): Likewise.
43184         Reported by Larry Jones.
43185
43186 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
43187
43188         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
43189         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
43190
43191 2007-12-17  Jim Meyering  <meyering@redhat.com>
43192
43193         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
43194         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
43195         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
43196         * modules/getcwd (Depends-on): Add openat.
43197         Reported by Petr Salinger.
43198
43199 2007-12-17  Bruno Haible  <bruno@clisp.org>
43200
43201         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
43202         avoid a segmentation fault of the configure test on x86_64 systems.
43203
43204 2007-12-15  Jim Meyering  <meyering@redhat.com>
43205
43206         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
43207
43208 2007-12-13  Eric Blake  <ebb9@byu.net>
43209
43210         Another fseek test.
43211         * tests/test-fseek.c (main): Also test ungetc handling.
43212         * tests/test-fseeko.c (main): Likewise.
43213         * modules/fseeko (Depends-on): Add verify.
43214         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
43215         large.
43216         Reported by Larry Jones.
43217
43218         Fix fseeko on mingw.
43219         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
43220         seek.
43221
43222         Beef up fseek tests.
43223         * tests/test-fseek.c (main): Also test eof handling.
43224         * tests/test-fseeko.c (main): Likewise.
43225         Reported by Larry Jones.
43226
43227 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
43228
43229         Fix fseeko on BSD-based platforms.
43230         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
43231         successful seek.
43232
43233 2007-12-12  Eric Blake  <ebb9@byu.net>
43234
43235         Allow circular dependency of separate libtests.a
43236         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
43237         when use_libtests.
43238
43239 2007-12-11  Eric Blake  <ebb9@byu.net>
43240
43241         Fix bug with -0.0L in previous patch.
43242         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
43243         * tests/test-isnan.c (main): Also test on zeroes.
43244         * tests/test-isnanf.c (main): Likewise.
43245         * tests/test-isnanl.h (main): Likewise.
43246
43247         Detect pseudo-denormals on x86 even when cross-compiling.
43248         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
43249         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
43250         invalid bit patterns that happen to satisfy ==.
43251
43252         Avoid link failures with separate libtests.a.
43253         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
43254         last, to satisfy circular dependencies.
43255
43256 2007-12-11  Eric Blake  <ebb9@byu.net>
43257         and Bruno Haible  <bruno@clisp.org>
43258
43259         Fix OpenBSD 4.0 <float.h> handling of long double.
43260         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
43261         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
43262         * doc/headers/float.texi (float.h): Document OpenBSD bug.
43263
43264 2007-12-11  Jim Meyering  <meyering@redhat.com>
43265
43266         * users.txt: Add libvirt.
43267
43268         Support versions of autoconf prior to 2.59c.
43269         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
43270         if it is not already defined.
43271
43272 2007-12-09  Bruno Haible  <bruno@clisp.org>
43273
43274         Let 'gnulib-tool --import' collect sources needed for the tests in
43275         tests/ rather than in lib/.
43276         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
43277         argument. If true, add rules to generate libtests.a, and put libtests.a
43278         into $(LDADD). Consider source files in subdirectories and set
43279         uses_subdirs.
43280         (func_emit_initmacro_start, func_emit_initmacro_end,
43281         func_emit_initmacro_done): Pass all arguments explicitly.
43282         (func_import): Determine two module lists main_modules,
43283         testsrelated_modules. Determine use_libtests. Determine two variables
43284         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
43285         instead of just sed_transform_lib_file. Determine two variables
43286         main_files and testsrelated_files. Compute 'files' as the union of
43287         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
43288         func_add_or_update. In the generated gnulib-comp.m4, collect the
43289         object files for tests/ in different variables than those for lib/.
43290         Substitute LIBTESTS_LIBDEPS.
43291         (func_create_testdir): Combine the uses_subdirs results from
43292         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
43293
43294 2007-12-09  Bruno Haible  <bruno@clisp.org>
43295
43296         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
43297         the build-aux directory.
43298
43299 2007-12-09  Bruno Haible  <bruno@clisp.org>
43300
43301         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
43302         introduced on 2006-09-09.
43303
43304 2007-12-07  Jim Meyering  <meyering@redhat.com>
43305
43306         Let these macros work also with autoconf-2.59.
43307         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
43308         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
43309         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
43310
43311 2007-12-06  Jim Meyering  <meyering@redhat.com>
43312
43313         Avoid a configure-time syntax error in gl_FUNC_ACL.
43314         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
43315         function in each branch, before testing the cache variable.
43316
43317 2007-12-04  Eric Blake  <ebb9@byu.net>
43318
43319         Make scripts executable.
43320         * build-aux/config.guess: Add execute permissions.
43321         * build-aux/config.sub: Likewise.
43322         * build-aux/gendocs.sh: Likewise.
43323
43324         Fix frexp on mingw.
43325         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
43326         cross-compiling.
43327         * doc/functions/frexp.texi (frexp): Document the bug.
43328
43329         Make cygwin fseeko check more reliable.
43330         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
43331         version numbers, rather than unrelated feature check.
43332         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
43333         * doc/functions/ftello.texi (ftello): Likewise.
43334         Reported by Bruno Haible.
43335
43336         * m4/strerror.m4: Bump version number.
43337
43338 2007-12-03  Bruno Haible  <bruno@clisp.org>
43339
43340         * doc/functions/mprotect.texi: Mention the mingw problem.
43341
43342 2007-12-03  Eric Blake  <ebb9@byu.net>
43343
43344         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
43345         REPLACE_STRERROR is initialized before this macro.
43346
43347 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
43348
43349         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
43350         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
43351         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
43352         put -lsec in even for programs other than 'ls'.  This fixes a problem
43353         for gettext reported by Bruno Haible in
43354         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
43355         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
43356         Add support for Solaris 10.  This isn't efficient, but should get the
43357         job done for now.
43358
43359 2007-12-03  James Youngman  <jay@gnu.org>
43360
43361         * doc/regexprops-generic.texi: change "an close-group" to "a
43362         close-group" and "illegal" to "not allowed".
43363
43364 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43365
43366         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
43367         pr_byname.h. Needed for the rare case when the maintainer has done
43368         "make maintainer-clean" in the source directory and then attempts a
43369         build outside the source directory.
43370         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
43371         scripts_byname.h.
43372
43373 2007-12-02  Martin Lambers <marlam@marlam.de>
43374             Bruno Haible  <bruno@clisp.org>
43375
43376         * lib/getpagesize.h: Remove file.
43377         * lib/unistd.in.h: Include declaration of getpagesize here.
43378         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
43379         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
43380         HAVE_SYS_PARAM_H.
43381         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
43382         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
43383         * modules/getpagesize (Files): Remove lib/getpagesize.h.
43384         (Depends-on): Add unistd.
43385         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43386         (Include): Use <unistd.h> instead of getpagesize.h.
43387         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
43388         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
43389         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
43390         gl_GETPAGESIZE invocation, already handled by module dependency.
43391         * lib/pagealign_alloc.c: Don't include getpagesize.h.
43392
43393 2007-12-02  Bruno Haible  <bruno@clisp.org>
43394
43395         * modules/strings-tests: New file.
43396         * tests/test-strings.c: New file.
43397
43398         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
43399         * lib/strings.in.h: New file.
43400         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
43401         * m4/strings_h.m4: New file.
43402         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
43403         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
43404         * modules/strings: New file.
43405         * modules/string (Makefile.am): Update.
43406         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
43407         Reported by Karl Berry.
43408
43409 2007-12-01  Eric Blake  <ebb9@byu.net>
43410
43411         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
43412         accomodate fix in cygwin 1.5.25.
43413
43414 2007-12-01  Jim Meyering  <meyering@redhat.com>
43415
43416         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
43417         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
43418         that would inhibit utf8-optimization of a regexp containing line-
43419         or buffer-anchors, e.g., `^', `$'.
43420
43421 2007-11-30  Bruno Haible  <bruno@clisp.org>
43422
43423         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
43424         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
43425         glthread_recursive_lock_init.
43426         * lib/lock.c (glthread_recursive_lock_init)
43427         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
43428         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
43429
43430 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
43431
43432         New function qset_acl, like set_acl but with syscall semantics.
43433         * lib/acl.h (qset_acl): New decl.
43434         * lib/acl.c (qset_acl): New function.
43435         (set_acl): Use new function.  Use more-consistent diagnostics.
43436
43437 2007-11-28  Jim Meyering  <meyering@redhat.com>
43438
43439         * modules/physmem (License): Change from GPL to LGPLv2+.
43440
43441 2007-11-26  Bruno Haible  <bruno@clisp.org>
43442
43443         * lib/vasnprintf.c (decode_long_double): Don't abort if the
43444         'long double' type has excess precision.
43445         Reported by Jim Meyering in
43446         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
43447
43448 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43449
43450         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
43451         Sync from <http://gnu.org/licenses>.
43452         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
43453         with license text from same location.
43454         * doc/maintain.texi, doc/standards.texi:  Sync from
43455         <http://savannah.gnu.org/projects/gnustandards>.
43456
43457 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
43458         and Jim Meyering  <meyering@redhat.com>
43459
43460         Adjust getdate' grammar to accept a slightly more regular language.
43461         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
43462         Before, the former was rejected.
43463         * lib/getdate.y (digits_to_date_time): New function, factored
43464         out of ...
43465         (number): ...here.  Just call digits_to_date_time.
43466         (hybrid): New non-terminal to handle an <unsigned number,
43467         signed relative offset> sequence consistently.
43468
43469 2007-11-18  Jim Meyering  <meyering@redhat.com>
43470
43471         Pull my changes from coreutils:
43472         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
43473         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
43474         use of $gnulib_tool_option_extras, so that it's separated from the
43475         preceding argument.
43476
43477         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
43478         * build-aux/bootstrap (cp_mark_as_generated): Create any required
43479         parent destination directories before copying a file into place.
43480
43481 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
43482
43483         bootstrap: work also with 4-argument variant of AC_INIT
43484         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
43485
43486 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
43487
43488         Port test-getaddrinfo to Solaris.
43489         Problem reported by Bruno Haible in
43490         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
43491         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
43492         explanation of setting 'hints'.
43493         Don't reject an implementation merely because it returns EAI_SERVICE.
43494         (EAI_SERVICE): Define to 0 if not defined.
43495
43496 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
43497
43498         The license of gnu-make and posix-shell is now "GPLed build tool".
43499         * modules/gnu-make (License): Likewise.
43500         * modules/posix-shell (License): Likewise.
43501
43502         New module posix-shell, for determining a POSIX shell
43503         or perhaps something that is close enough to a POSIX shell.
43504         * m4/posix-shell.m4: New file.
43505         * modules/posix-shell: New file.
43506
43507         * MODULES.html.sh: Mention new module.
43508
43509         New module gnu-make, for determining whether we're using GNU Make.
43510         * m4/gnu-make.m4: New file.
43511         * modules/gnu-make: New file.
43512         * MODULES.html.sh: Mention new module.
43513
43514 2007-11-14  Jim Meyering  <meyering@redhat.com>
43515
43516         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
43517         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
43518         use this macro to create a function _definition_.
43519         Remove useless "#undef ARGMATCH_DIE".
43520
43521 2007-11-14  Bruno Haible  <bruno@clisp.org>
43522
43523         * lib/config.charset: Update for OpenBSD 4.1.
43524         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
43525
43526 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
43527
43528         Document 64-bit #if problems in stdint.texi.
43529         * doc/headers/stdint.texi (stdint.h): Mention problems with
43530         64-bit-#if, and how to work around them.
43531
43532         Don't insist on 'long long int' support in the preprocessor.  It
43533         breaks too many things.  For example, PRIdMAX still uses a 'long
43534         long int' format with the latest Sun compiler, even though
43535         HAVE_LONG_LONG_INT isn't defined due to that compiler's
43536         preprocessor problem.  This causes the latest coreutils to dump
43537         core on Solaris 10 sparc with the Sun C compiler.
43538         Instead, fix the 2007-10-16 problem in a different way, by evaluating
43539         the troublesome expressions at configure-time, not at #if-time.
43540         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
43541         preprocessor.
43542         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
43543         compile-time C checks, done at 'configure'-time.
43544         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
43545         * modules/inttypes (Makefile): Substitute the new symbols that
43546         gl_INTTYPES_H now generates.
43547         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
43548
43549 2007-11-12  Bruno Haible  <bruno@clisp.org>
43550
43551         Tests for Unicode character classification functions.
43552
43553         * modules/unictype/bidicategory-byname-tests: New file.
43554         * modules/unictype/bidicategory-name-tests: New file.
43555         * modules/unictype/bidicategory-of-tests: New file.
43556         * modules/unictype/bidicategory-test-tests: New file.
43557         * modules/unictype/block-list-tests: New file.
43558         * modules/unictype/block-of-tests: New file.
43559         * modules/unictype/block-test-tests: New file.
43560         * modules/unictype/category-C-tests: New file.
43561         * modules/unictype/category-Cc-tests: New file.
43562         * modules/unictype/category-Cf-tests: New file.
43563         * modules/unictype/category-Cn-tests: New file.
43564         * modules/unictype/category-Co-tests: New file.
43565         * modules/unictype/category-Cs-tests: New file.
43566         * modules/unictype/category-L-tests: New file.
43567         * modules/unictype/category-Ll-tests: New file.
43568         * modules/unictype/category-Lm-tests: New file.
43569         * modules/unictype/category-Lo-tests: New file.
43570         * modules/unictype/category-Lt-tests: New file.
43571         * modules/unictype/category-Lu-tests: New file.
43572         * modules/unictype/category-M-tests: New file.
43573         * modules/unictype/category-Mc-tests: New file.
43574         * modules/unictype/category-Me-tests: New file.
43575         * modules/unictype/category-Mn-tests: New file.
43576         * modules/unictype/category-N-tests: New file.
43577         * modules/unictype/category-Nd-tests: New file.
43578         * modules/unictype/category-Nl-tests: New file.
43579         * modules/unictype/category-No-tests: New file.
43580         * modules/unictype/category-P-tests: New file.
43581         * modules/unictype/category-Pc-tests: New file.
43582         * modules/unictype/category-Pd-tests: New file.
43583         * modules/unictype/category-Pe-tests: New file.
43584         * modules/unictype/category-Pf-tests: New file.
43585         * modules/unictype/category-Pi-tests: New file.
43586         * modules/unictype/category-Po-tests: New file.
43587         * modules/unictype/category-Ps-tests: New file.
43588         * modules/unictype/category-S-tests: New file.
43589         * modules/unictype/category-Sc-tests: New file.
43590         * modules/unictype/category-Sk-tests: New file.
43591         * modules/unictype/category-Sm-tests: New file.
43592         * modules/unictype/category-So-tests: New file.
43593         * modules/unictype/category-Z-tests: New file.
43594         * modules/unictype/category-Zl-tests: New file.
43595         * modules/unictype/category-Zp-tests: New file.
43596         * modules/unictype/category-Zs-tests: New file.
43597         * modules/unictype/category-and-not-tests: New file.
43598         * modules/unictype/category-and-tests: New file.
43599         * modules/unictype/category-byname-tests: New file.
43600         * modules/unictype/category-name-tests: New file.
43601         * modules/unictype/category-none-tests: New file.
43602         * modules/unictype/category-of-tests: New file.
43603         * modules/unictype/category-or-tests: New file.
43604         * modules/unictype/category-test-withtable-tests: New file.
43605         * modules/unictype/combining-class-tests: New file.
43606         * modules/unictype/ctype-alnum-tests: New file.
43607         * modules/unictype/ctype-alpha-tests: New file.
43608         * modules/unictype/ctype-blank-tests: New file.
43609         * modules/unictype/ctype-cntrl-tests: New file.
43610         * modules/unictype/ctype-digit-tests: New file.
43611         * modules/unictype/ctype-graph-tests: New file.
43612         * modules/unictype/ctype-lower-tests: New file.
43613         * modules/unictype/ctype-print-tests: New file.
43614         * modules/unictype/ctype-punct-tests: New file.
43615         * modules/unictype/ctype-space-tests: New file.
43616         * modules/unictype/ctype-upper-tests: New file.
43617         * modules/unictype/ctype-xdigit-tests: New file.
43618         * modules/unictype/decimal-digit-tests: New file.
43619         * modules/unictype/digit-tests: New file.
43620         * modules/unictype/mirror-tests: New file.
43621         * modules/unictype/numeric-tests: New file.
43622         * modules/unictype/property-alphabetic-tests: New file.
43623         * modules/unictype/property-ascii-hex-digit-tests: New file.
43624         * modules/unictype/property-bidi-arabic-digit-tests: New file.
43625         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
43626         * modules/unictype/property-bidi-block-separator-tests: New file.
43627         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
43628         * modules/unictype/property-bidi-common-separator-tests: New file.
43629         * modules/unictype/property-bidi-control-tests: New file.
43630         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
43631         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
43632         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
43633         * modules/unictype/property-bidi-european-digit-tests: New file.
43634         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
43635         * modules/unictype/property-bidi-left-to-right-tests: New file.
43636         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
43637         * modules/unictype/property-bidi-other-neutral-tests: New file.
43638         * modules/unictype/property-bidi-pdf-tests: New file.
43639         * modules/unictype/property-bidi-segment-separator-tests: New file.
43640         * modules/unictype/property-bidi-whitespace-tests: New file.
43641         * modules/unictype/property-byname-tests: New file.
43642         * modules/unictype/property-combining-tests: New file.
43643         * modules/unictype/property-composite-tests: New file.
43644         * modules/unictype/property-currency-symbol-tests: New file.
43645         * modules/unictype/property-dash-tests: New file.
43646         * modules/unictype/property-decimal-digit-tests: New file.
43647         * modules/unictype/property-default-ignorable-code-point-tests: New file.
43648         * modules/unictype/property-deprecated-tests: New file.
43649         * modules/unictype/property-diacritic-tests: New file.
43650         * modules/unictype/property-extender-tests: New file.
43651         * modules/unictype/property-format-control-tests: New file.
43652         * modules/unictype/property-grapheme-base-tests: New file.
43653         * modules/unictype/property-grapheme-extend-tests: New file.
43654         * modules/unictype/property-grapheme-link-tests: New file.
43655         * modules/unictype/property-hex-digit-tests: New file.
43656         * modules/unictype/property-hyphen-tests: New file.
43657         * modules/unictype/property-id-continue-tests: New file.
43658         * modules/unictype/property-id-start-tests: New file.
43659         * modules/unictype/property-ideographic-tests: New file.
43660         * modules/unictype/property-ids-binary-operator-tests: New file.
43661         * modules/unictype/property-ids-trinary-operator-tests: New file.
43662         * modules/unictype/property-ignorable-control-tests: New file.
43663         * modules/unictype/property-iso-control-tests: New file.
43664         * modules/unictype/property-join-control-tests: New file.
43665         * modules/unictype/property-left-of-pair-tests: New file.
43666         * modules/unictype/property-line-separator-tests: New file.
43667         * modules/unictype/property-logical-order-exception-tests: New file.
43668         * modules/unictype/property-lowercase-tests: New file.
43669         * modules/unictype/property-math-tests: New file.
43670         * modules/unictype/property-non-break-tests: New file.
43671         * modules/unictype/property-not-a-character-tests: New file.
43672         * modules/unictype/property-numeric-tests: New file.
43673         * modules/unictype/property-other-alphabetic-tests: New file.
43674         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
43675         * modules/unictype/property-other-grapheme-extend-tests: New file.
43676         * modules/unictype/property-other-id-continue-tests: New file.
43677         * modules/unictype/property-other-id-start-tests: New file.
43678         * modules/unictype/property-other-lowercase-tests: New file.
43679         * modules/unictype/property-other-math-tests: New file.
43680         * modules/unictype/property-other-uppercase-tests: New file.
43681         * modules/unictype/property-paired-punctuation-tests: New file.
43682         * modules/unictype/property-paragraph-separator-tests: New file.
43683         * modules/unictype/property-pattern-syntax-tests: New file.
43684         * modules/unictype/property-pattern-white-space-tests: New file.
43685         * modules/unictype/property-private-use-tests: New file.
43686         * modules/unictype/property-punctuation-tests: New file.
43687         * modules/unictype/property-quotation-mark-tests: New file.
43688         * modules/unictype/property-radical-tests: New file.
43689         * modules/unictype/property-sentence-terminal-tests: New file.
43690         * modules/unictype/property-soft-dotted-tests: New file.
43691         * modules/unictype/property-space-tests: New file.
43692         * modules/unictype/property-terminal-punctuation-tests: New file.
43693         * modules/unictype/property-test-tests: New file.
43694         * modules/unictype/property-titlecase-tests: New file.
43695         * modules/unictype/property-unassigned-code-value-tests: New file.
43696         * modules/unictype/property-unified-ideograph-tests: New file.
43697         * modules/unictype/property-uppercase-tests: New file.
43698         * modules/unictype/property-variation-selector-tests: New file.
43699         * modules/unictype/property-white-space-tests: New file.
43700         * modules/unictype/property-xid-continue-tests: New file.
43701         * modules/unictype/property-xid-start-tests: New file.
43702         * modules/unictype/property-zero-width-tests: New file.
43703         * modules/unictype/scripts-tests: New file.
43704         * modules/unictype/syntax-c-ident-tests: New file.
43705         * modules/unictype/syntax-c-whitespace-tests: New file.
43706         * modules/unictype/syntax-java-ident-tests: New file.
43707         * modules/unictype/syntax-java-whitespace-tests: New file.
43708         * tests/unictype/test-bidi_byname.c: New file.
43709         * tests/unictype/test-bidi_name.c: New file.
43710         * tests/unictype/test-bidi_of.c: New file.
43711         * tests/unictype/test-bidi_test.c: New file.
43712         * tests/unictype/test-block_list.c: New file.
43713         * tests/unictype/test-block_of.c: New file.
43714         * tests/unictype/test-block_test.c: New file.
43715         * tests/unictype/test-categ_and.c: New file.
43716         * tests/unictype/test-categ_and_not.c: New file.
43717         * tests/unictype/test-categ_byname.c: New file.
43718         * tests/unictype/test-categ_name.c: New file.
43719         * tests/unictype/test-categ_none.c: New file.
43720         * tests/unictype/test-categ_of.c: New file.
43721         * tests/unictype/test-categ_or.c: New file.
43722         * tests/unictype/test-categ_test_withtable.c: New file.
43723         * tests/unictype/test-combining.c: New file.
43724         * tests/unictype/test-decdigit.c: New file.
43725         * tests/unictype/test-digit.c: New file.
43726         * tests/unictype/test-mirror.c: New file.
43727         * tests/unictype/test-numeric.c: New file.
43728         * tests/unictype/test-pr_byname.c: New file.
43729         * tests/unictype/test-pr_test.c: New file.
43730         * tests/unictype/test-predicate-part1.h: New file.
43731         * tests/unictype/test-predicate-part2.h: New file.
43732         * tests/unictype/test-scripts.c: New file.
43733         * tests/unictype/test-sy_c_ident.c: New file.
43734         * tests/unictype/test-sy_java_ident.c: New file.
43735
43736         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
43737         for Unicode 5.0.0.
43738         * tests/unictype/test-categ_Cc.c: Likewise.
43739         * tests/unictype/test-categ_Cf.c: Likewise.
43740         * tests/unictype/test-categ_Cn.c: Likewise.
43741         * tests/unictype/test-categ_Co.c: Likewise.
43742         * tests/unictype/test-categ_Cs.c: Likewise.
43743         * tests/unictype/test-categ_L.c: Likewise.
43744         * tests/unictype/test-categ_Ll.c: Likewise.
43745         * tests/unictype/test-categ_Lm.c: Likewise.
43746         * tests/unictype/test-categ_Lo.c: Likewise.
43747         * tests/unictype/test-categ_Lt.c: Likewise.
43748         * tests/unictype/test-categ_Lu.c: Likewise.
43749         * tests/unictype/test-categ_M.c: Likewise.
43750         * tests/unictype/test-categ_Mc.c: Likewise.
43751         * tests/unictype/test-categ_Me.c: Likewise.
43752         * tests/unictype/test-categ_Mn.c: Likewise.
43753         * tests/unictype/test-categ_N.c: Likewise.
43754         * tests/unictype/test-categ_Nd.c: Likewise.
43755         * tests/unictype/test-categ_Nl.c: Likewise.
43756         * tests/unictype/test-categ_No.c: Likewise.
43757         * tests/unictype/test-categ_P.c: Likewise.
43758         * tests/unictype/test-categ_Pc.c: Likewise.
43759         * tests/unictype/test-categ_Pd.c: Likewise.
43760         * tests/unictype/test-categ_Pe.c: Likewise.
43761         * tests/unictype/test-categ_Pf.c: Likewise.
43762         * tests/unictype/test-categ_Pi.c: Likewise.
43763         * tests/unictype/test-categ_Po.c: Likewise.
43764         * tests/unictype/test-categ_Ps.c: Likewise.
43765         * tests/unictype/test-categ_S.c: Likewise.
43766         * tests/unictype/test-categ_Sc.c: Likewise.
43767         * tests/unictype/test-categ_Sk.c: Likewise.
43768         * tests/unictype/test-categ_Sm.c: Likewise.
43769         * tests/unictype/test-categ_So.c: Likewise.
43770         * tests/unictype/test-categ_Z.c: Likewise.
43771         * tests/unictype/test-categ_Zl.c: Likewise.
43772         * tests/unictype/test-categ_Zp.c: Likewise.
43773         * tests/unictype/test-categ_Zs.c: Likewise.
43774         * tests/unictype/test-ctype_alnum.c: Likewise.
43775         * tests/unictype/test-ctype_alpha.c: Likewise.
43776         * tests/unictype/test-ctype_blank.c: Likewise.
43777         * tests/unictype/test-ctype_cntrl.c: Likewise.
43778         * tests/unictype/test-ctype_digit.c: Likewise.
43779         * tests/unictype/test-ctype_graph.c: Likewise.
43780         * tests/unictype/test-ctype_lower.c: Likewise.
43781         * tests/unictype/test-ctype_print.c: Likewise.
43782         * tests/unictype/test-ctype_punct.c: Likewise.
43783         * tests/unictype/test-ctype_space.c: Likewise.
43784         * tests/unictype/test-ctype_upper.c: Likewise.
43785         * tests/unictype/test-ctype_xdigit.c: Likewise.
43786         * tests/unictype/test-decdigit.h: Likewise.
43787         * tests/unictype/test-digit.h: Likewise.
43788         * tests/unictype/test-numeric.h: Likewise.
43789         * tests/unictype/test-pr_alphabetic.c: Likewise.
43790         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
43791         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
43792         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
43793         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
43794         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
43795         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
43796         * tests/unictype/test-pr_bidi_control.c: Likewise.
43797         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
43798         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
43799         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
43800         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
43801         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
43802         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
43803         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
43804         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
43805         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
43806         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
43807         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
43808         * tests/unictype/test-pr_combining.c: Likewise.
43809         * tests/unictype/test-pr_composite.c: Likewise.
43810         * tests/unictype/test-pr_currency_symbol.c: Likewise.
43811         * tests/unictype/test-pr_dash.c: Likewise.
43812         * tests/unictype/test-pr_decimal_digit.c: Likewise.
43813         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
43814         * tests/unictype/test-pr_deprecated.c: Likewise.
43815         * tests/unictype/test-pr_diacritic.c: Likewise.
43816         * tests/unictype/test-pr_extender.c: Likewise.
43817         * tests/unictype/test-pr_format_control.c: Likewise.
43818         * tests/unictype/test-pr_grapheme_base.c: Likewise.
43819         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
43820         * tests/unictype/test-pr_grapheme_link.c: Likewise.
43821         * tests/unictype/test-pr_hex_digit.c: Likewise.
43822         * tests/unictype/test-pr_hyphen.c: Likewise.
43823         * tests/unictype/test-pr_id_continue.c: Likewise.
43824         * tests/unictype/test-pr_id_start.c: Likewise.
43825         * tests/unictype/test-pr_ideographic.c: Likewise.
43826         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
43827         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
43828         * tests/unictype/test-pr_ignorable_control.c: Likewise.
43829         * tests/unictype/test-pr_iso_control.c: Likewise.
43830         * tests/unictype/test-pr_join_control.c: Likewise.
43831         * tests/unictype/test-pr_left_of_pair.c: Likewise.
43832         * tests/unictype/test-pr_line_separator.c: Likewise.
43833         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
43834         * tests/unictype/test-pr_lowercase.c: Likewise.
43835         * tests/unictype/test-pr_math.c: Likewise.
43836         * tests/unictype/test-pr_non_break.c: Likewise.
43837         * tests/unictype/test-pr_not_a_character.c: Likewise.
43838         * tests/unictype/test-pr_numeric.c: Likewise.
43839         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
43840         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
43841         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
43842         * tests/unictype/test-pr_other_id_continue.c: Likewise.
43843         * tests/unictype/test-pr_other_id_start.c: Likewise.
43844         * tests/unictype/test-pr_other_lowercase.c: Likewise.
43845         * tests/unictype/test-pr_other_math.c: Likewise.
43846         * tests/unictype/test-pr_other_uppercase.c: Likewise.
43847         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
43848         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
43849         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
43850         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
43851         * tests/unictype/test-pr_private_use.c: Likewise.
43852         * tests/unictype/test-pr_punctuation.c: Likewise.
43853         * tests/unictype/test-pr_quotation_mark.c: Likewise.
43854         * tests/unictype/test-pr_radical.c: Likewise.
43855         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
43856         * tests/unictype/test-pr_soft_dotted.c: Likewise.
43857         * tests/unictype/test-pr_space.c: Likewise.
43858         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
43859         * tests/unictype/test-pr_titlecase.c: Likewise.
43860         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
43861         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
43862         * tests/unictype/test-pr_uppercase.c: Likewise.
43863         * tests/unictype/test-pr_variation_selector.c: Likewise.
43864         * tests/unictype/test-pr_white_space.c: Likewise.
43865         * tests/unictype/test-pr_xid_continue.c: Likewise.
43866         * tests/unictype/test-pr_xid_start.c: Likewise.
43867         * tests/unictype/test-pr_zero_width.c: Likewise.
43868         * tests/unictype/test-sy_c_whitespace.c: Likewise.
43869         * tests/unictype/test-sy_java_whitespace.c: Likewise.
43870
43871 2007-11-12  Bruno Haible  <bruno@clisp.org>
43872
43873         Unicode character classification functions.
43874         * lib/unictype.h: New file.
43875         * modules/unictype/base: New file.
43876         * modules/unictype/category-L: New file.
43877         * modules/unictype/category-Lu: New file.
43878         * modules/unictype/category-Ll: New file.
43879         * modules/unictype/category-Lt: New file.
43880         * modules/unictype/category-Lm: New file.
43881         * modules/unictype/category-Lo: New file.
43882         * modules/unictype/category-M: New file.
43883         * modules/unictype/category-Mn: New file.
43884         * modules/unictype/category-Mc: New file.
43885         * modules/unictype/category-Me: New file.
43886         * modules/unictype/category-N: New file.
43887         * modules/unictype/category-Nd: New file.
43888         * modules/unictype/category-Nl: New file.
43889         * modules/unictype/category-No: New file.
43890         * modules/unictype/category-P: New file.
43891         * modules/unictype/category-Pc: New file.
43892         * modules/unictype/category-Pd: New file.
43893         * modules/unictype/category-Ps: New file.
43894         * modules/unictype/category-Pe: New file.
43895         * modules/unictype/category-Pi: New file.
43896         * modules/unictype/category-Pf: New file.
43897         * modules/unictype/category-Po: New file.
43898         * modules/unictype/category-S: New file.
43899         * modules/unictype/category-Sm: New file.
43900         * modules/unictype/category-Sc: New file.
43901         * modules/unictype/category-Sk: New file.
43902         * modules/unictype/category-So: New file.
43903         * modules/unictype/category-Z: New file.
43904         * modules/unictype/category-Zs: New file.
43905         * modules/unictype/category-Zl: New file.
43906         * modules/unictype/category-Zp: New file.
43907         * modules/unictype/category-C: New file.
43908         * modules/unictype/category-Cc: New file.
43909         * modules/unictype/category-Cf: New file.
43910         * modules/unictype/category-Cs: New file.
43911         * modules/unictype/category-Co: New file.
43912         * modules/unictype/category-Cn: New file.
43913         * modules/unictype/category-or: New file.
43914         * modules/unictype/category-of: New file.
43915         * modules/unictype/category-test: New file.
43916         * modules/unictype/category-test-withtable: New file.
43917         * modules/unictype/category-byname: New file.
43918         * modules/unictype/category-none: New file.
43919         * modules/unictype/category-and: New file.
43920         * modules/unictype/category-and-not: New file.
43921         * modules/unictype/category-name: New file.
43922         * modules/unictype/combining-class: New file.
43923         * modules/unictype/category-all: New file.
43924         * modules/unictype/bidicategory-all: New file.
43925         * modules/unictype/bidicategory-byname: New file.
43926         * modules/unictype/bidicategory-name: New file.
43927         * modules/unictype/bidicategory-of: New file.
43928         * modules/unictype/bidicategory-test: New file.
43929         * modules/unictype/decimal-digit: New file.
43930         * modules/unictype/digit: New file.
43931         * modules/unictype/numeric: New file.
43932         * modules/unictype/mirror: New file.
43933         * modules/unictype/property-white-space: New file.
43934         * modules/unictype/property-alphabetic: New file.
43935         * modules/unictype/property-other-alphabetic: New file.
43936         * modules/unictype/property-not-a-character: New file.
43937         * modules/unictype/property-default-ignorable-code-point: New file.
43938         * modules/unictype/property-other-default-ignorable-code-point: New
43939         file.
43940         * modules/unictype/property-deprecated: New file.
43941         * modules/unictype/property-logical-order-exception: New file.
43942         * modules/unictype/property-variation-selector: New file.
43943         * modules/unictype/property-private-use: New file.
43944         * modules/unictype/property-unassigned-code-value: New file.
43945         * modules/unictype/property-uppercase: New file.
43946         * modules/unictype/property-other-uppercase: New file.
43947         * modules/unictype/property-lowercase: New file.
43948         * modules/unictype/property-other-lowercase: New file.
43949         * modules/unictype/property-titlecase: New file.
43950         * modules/unictype/property-soft-dotted: New file.
43951         * modules/unictype/property-id-start: New file.
43952         * modules/unictype/property-other-id-start: New file.
43953         * modules/unictype/property-id-continue: New file.
43954         * modules/unictype/property-other-id-continue: New file.
43955         * modules/unictype/property-xid-start: New file.
43956         * modules/unictype/property-xid-continue: New file.
43957         * modules/unictype/property-pattern-white-space: New file.
43958         * modules/unictype/property-pattern-syntax: New file.
43959         * modules/unictype/property-join-control: New file.
43960         * modules/unictype/property-grapheme-base: New file.
43961         * modules/unictype/property-grapheme-extend: New file.
43962         * modules/unictype/property-other-grapheme-extend: New file.
43963         * modules/unictype/property-grapheme-link: New file.
43964         * modules/unictype/property-bidi-control: New file.
43965         * modules/unictype/property-bidi-left-to-right: New file.
43966         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
43967         * modules/unictype/property-bidi-arabic-right-to-left: New file.
43968         * modules/unictype/property-bidi-european-digit: New file.
43969         * modules/unictype/property-bidi-eur-num-separator: New file.
43970         * modules/unictype/property-bidi-eur-num-terminator: New file.
43971         * modules/unictype/property-bidi-arabic-digit: New file.
43972         * modules/unictype/property-bidi-common-separator: New file.
43973         * modules/unictype/property-bidi-block-separator: New file.
43974         * modules/unictype/property-bidi-segment-separator: New file.
43975         * modules/unictype/property-bidi-whitespace: New file.
43976         * modules/unictype/property-bidi-non-spacing-mark: New file.
43977         * modules/unictype/property-bidi-boundary-neutral: New file.
43978         * modules/unictype/property-bidi-pdf: New file.
43979         * modules/unictype/property-bidi-embedding-or-override: New file.
43980         * modules/unictype/property-bidi-other-neutral: New file.
43981         * modules/unictype/property-hex-digit: New file.
43982         * modules/unictype/property-ascii-hex-digit: New file.
43983         * modules/unictype/property-ideographic: New file.
43984         * modules/unictype/property-unified-ideograph: New file.
43985         * modules/unictype/property-radical: New file.
43986         * modules/unictype/property-ids-binary-operator: New file.
43987         * modules/unictype/property-ids-trinary-operator: New file.
43988         * modules/unictype/property-zero-width: New file.
43989         * modules/unictype/property-space: New file.
43990         * modules/unictype/property-non-break: New file.
43991         * modules/unictype/property-iso-control: New file.
43992         * modules/unictype/property-format-control: New file.
43993         * modules/unictype/property-dash: New file.
43994         * modules/unictype/property-hyphen: New file.
43995         * modules/unictype/property-punctuation: New file.
43996         * modules/unictype/property-line-separator: New file.
43997         * modules/unictype/property-paragraph-separator: New file.
43998         * modules/unictype/property-quotation-mark: New file.
43999         * modules/unictype/property-sentence-terminal: New file.
44000         * modules/unictype/property-terminal-punctuation: New file.
44001         * modules/unictype/property-currency-symbol: New file.
44002         * modules/unictype/property-math: New file.
44003         * modules/unictype/property-other-math: New file.
44004         * modules/unictype/property-paired-punctuation: New file.
44005         * modules/unictype/property-left-of-pair: New file.
44006         * modules/unictype/property-combining: New file.
44007         * modules/unictype/property-composite: New file.
44008         * modules/unictype/property-decimal-digit: New file.
44009         * modules/unictype/property-numeric: New file.
44010         * modules/unictype/property-diacritic: New file.
44011         * modules/unictype/property-extender: New file.
44012         * modules/unictype/property-ignorable-control: New file.
44013         * modules/unictype/property-test: New file.
44014         * modules/unictype/property-byname: New file.
44015         * modules/unictype/property-all: New file.
44016         * modules/unictype/scripts: New file.
44017         * modules/unictype/scripts-all: New file.
44018         * modules/unictype/block-of: New file.
44019         * modules/unictype/block-test: New file.
44020         * modules/unictype/block-list: New file.
44021         * modules/unictype/block-all: New file.
44022         * modules/unictype/syntax-c-whitespace: New file.
44023         * modules/unictype/syntax-java-whitespace: New file.
44024         * modules/unictype/syntax-c-ident: New file.
44025         * modules/unictype/syntax-java-ident: New file.
44026         * modules/unictype/ctype-alnum: New file.
44027         * modules/unictype/ctype-alpha: New file.
44028         * modules/unictype/ctype-cntrl: New file.
44029         * modules/unictype/ctype-digit: New file.
44030         * modules/unictype/ctype-graph: New file.
44031         * modules/unictype/ctype-lower: New file.
44032         * modules/unictype/ctype-print: New file.
44033         * modules/unictype/ctype-punct: New file.
44034         * modules/unictype/ctype-space: New file.
44035         * modules/unictype/ctype-upper: New file.
44036         * modules/unictype/ctype-xdigit: New file.
44037         * modules/unictype/ctype-blank: New file.
44038         * lib/unictype/bidi_byname.c: New file.
44039         * lib/unictype/bidi_name.c: New file.
44040         * lib/unictype/bidi_of.c: New file.
44041         * lib/unictype/bidi_test.c: New file.
44042         * lib/unictype/bitmap.h: New file.
44043         * lib/unictype/block_test.c: New file.
44044         * lib/unictype/blocks.c: New file.
44045         * lib/unictype/categ_C.c: New file.
44046         * lib/unictype/categ_Cc.c: New file.
44047         * lib/unictype/categ_Cf.c: New file.
44048         * lib/unictype/categ_Cn.c: New file.
44049         * lib/unictype/categ_Co.c: New file.
44050         * lib/unictype/categ_Cs.c: New file.
44051         * lib/unictype/categ_L.c: New file.
44052         * lib/unictype/categ_Ll.c: New file.
44053         * lib/unictype/categ_Lm.c: New file.
44054         * lib/unictype/categ_Lo.c: New file.
44055         * lib/unictype/categ_Lt.c: New file.
44056         * lib/unictype/categ_Lu.c: New file.
44057         * lib/unictype/categ_M.c: New file.
44058         * lib/unictype/categ_Mc.c: New file.
44059         * lib/unictype/categ_Me.c: New file.
44060         * lib/unictype/categ_Mn.c: New file.
44061         * lib/unictype/categ_N.c: New file.
44062         * lib/unictype/categ_Nd.c: New file.
44063         * lib/unictype/categ_Nl.c: New file.
44064         * lib/unictype/categ_No.c: New file.
44065         * lib/unictype/categ_P.c: New file.
44066         * lib/unictype/categ_Pc.c: New file.
44067         * lib/unictype/categ_Pd.c: New file.
44068         * lib/unictype/categ_Pe.c: New file.
44069         * lib/unictype/categ_Pf.c: New file.
44070         * lib/unictype/categ_Pi.c: New file.
44071         * lib/unictype/categ_Po.c: New file.
44072         * lib/unictype/categ_Ps.c: New file.
44073         * lib/unictype/categ_S.c: New file.
44074         * lib/unictype/categ_Sc.c: New file.
44075         * lib/unictype/categ_Sk.c: New file.
44076         * lib/unictype/categ_Sm.c: New file.
44077         * lib/unictype/categ_So.c: New file.
44078         * lib/unictype/categ_Z.c: New file.
44079         * lib/unictype/categ_Zl.c: New file.
44080         * lib/unictype/categ_Zp.c: New file.
44081         * lib/unictype/categ_Zs.c: New file.
44082         * lib/unictype/categ_and.c: New file.
44083         * lib/unictype/categ_and_not.c: New file.
44084         * lib/unictype/categ_byname.c: New file.
44085         * lib/unictype/categ_name.c: New file.
44086         * lib/unictype/categ_none.c: New file.
44087         * lib/unictype/categ_of.c: New file.
44088         * lib/unictype/categ_or.c: New file.
44089         * lib/unictype/categ_test.c: New file.
44090         * lib/unictype/combining.c: New file.
44091         * lib/unictype/ctype_alnum.c: New file.
44092         * lib/unictype/ctype_alpha.c: New file.
44093         * lib/unictype/ctype_blank.c: New file.
44094         * lib/unictype/ctype_cntrl.c: New file.
44095         * lib/unictype/ctype_digit.c: New file.
44096         * lib/unictype/ctype_graph.c: New file.
44097         * lib/unictype/ctype_lower.c: New file.
44098         * lib/unictype/ctype_print.c: New file.
44099         * lib/unictype/ctype_punct.c: New file.
44100         * lib/unictype/ctype_space.c: New file.
44101         * lib/unictype/ctype_upper.c: New file.
44102         * lib/unictype/ctype_xdigit.c: New file.
44103         * lib/unictype/decdigit.c: New file.
44104         * lib/unictype/digit.c: New file.
44105         * lib/unictype/identsyntaxmap.h: New file.
44106         * lib/unictype/mirror.c: New file.
44107         * lib/unictype/numeric.c: New file.
44108         * lib/unictype/pr_alphabetic.c: New file.
44109         * lib/unictype/pr_ascii_hex_digit.c: New file.
44110         * lib/unictype/pr_bidi_arabic_digit.c: New file.
44111         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
44112         * lib/unictype/pr_bidi_block_separator.c: New file.
44113         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
44114         * lib/unictype/pr_bidi_common_separator.c: New file.
44115         * lib/unictype/pr_bidi_control.c: New file.
44116         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
44117         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
44118         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
44119         * lib/unictype/pr_bidi_european_digit.c: New file.
44120         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
44121         * lib/unictype/pr_bidi_left_to_right.c: New file.
44122         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
44123         * lib/unictype/pr_bidi_other_neutral.c: New file.
44124         * lib/unictype/pr_bidi_pdf.c: New file.
44125         * lib/unictype/pr_bidi_segment_separator.c: New file.
44126         * lib/unictype/pr_bidi_whitespace.c: New file.
44127         * lib/unictype/pr_byname.c: New file.
44128         * lib/unictype/pr_byname.gperf: New file.
44129         * lib/unictype/pr_combining.c: New file.
44130         * lib/unictype/pr_composite.c: New file.
44131         * lib/unictype/pr_currency_symbol.c: New file.
44132         * lib/unictype/pr_dash.c: New file.
44133         * lib/unictype/pr_decimal_digit.c: New file.
44134         * lib/unictype/pr_default_ignorable_code_point.c: New file.
44135         * lib/unictype/pr_deprecated.c: New file.
44136         * lib/unictype/pr_diacritic.c: New file.
44137         * lib/unictype/pr_extender.c: New file.
44138         * lib/unictype/pr_format_control.c: New file.
44139         * lib/unictype/pr_grapheme_base.c: New file.
44140         * lib/unictype/pr_grapheme_extend.c: New file.
44141         * lib/unictype/pr_grapheme_link.c: New file.
44142         * lib/unictype/pr_hex_digit.c: New file.
44143         * lib/unictype/pr_hyphen.c: New file.
44144         * lib/unictype/pr_id_continue.c: New file.
44145         * lib/unictype/pr_id_start.c: New file.
44146         * lib/unictype/pr_ideographic.c: New file.
44147         * lib/unictype/pr_ids_binary_operator.c: New file.
44148         * lib/unictype/pr_ids_trinary_operator.c: New file.
44149         * lib/unictype/pr_ignorable_control.c: New file.
44150         * lib/unictype/pr_iso_control.c: New file.
44151         * lib/unictype/pr_join_control.c: New file.
44152         * lib/unictype/pr_left_of_pair.c: New file.
44153         * lib/unictype/pr_line_separator.c: New file.
44154         * lib/unictype/pr_logical_order_exception.c: New file.
44155         * lib/unictype/pr_lowercase.c: New file.
44156         * lib/unictype/pr_math.c: New file.
44157         * lib/unictype/pr_non_break.c: New file.
44158         * lib/unictype/pr_not_a_character.c: New file.
44159         * lib/unictype/pr_numeric.c: New file.
44160         * lib/unictype/pr_other_alphabetic.c: New file.
44161         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
44162         * lib/unictype/pr_other_grapheme_extend.c: New file.
44163         * lib/unictype/pr_other_id_continue.c: New file.
44164         * lib/unictype/pr_other_id_start.c: New file.
44165         * lib/unictype/pr_other_lowercase.c: New file.
44166         * lib/unictype/pr_other_math.c: New file.
44167         * lib/unictype/pr_other_uppercase.c: New file.
44168         * lib/unictype/pr_paired_punctuation.c: New file.
44169         * lib/unictype/pr_paragraph_separator.c: New file.
44170         * lib/unictype/pr_pattern_syntax.c: New file.
44171         * lib/unictype/pr_pattern_white_space.c: New file.
44172         * lib/unictype/pr_private_use.c: New file.
44173         * lib/unictype/pr_punctuation.c: New file.
44174         * lib/unictype/pr_quotation_mark.c: New file.
44175         * lib/unictype/pr_radical.c: New file.
44176         * lib/unictype/pr_sentence_terminal.c: New file.
44177         * lib/unictype/pr_soft_dotted.c: New file.
44178         * lib/unictype/pr_space.c: New file.
44179         * lib/unictype/pr_terminal_punctuation.c: New file.
44180         * lib/unictype/pr_test.c: New file.
44181         * lib/unictype/pr_titlecase.c: New file.
44182         * lib/unictype/pr_unassigned_code_value.c: New file.
44183         * lib/unictype/pr_unified_ideograph.c: New file.
44184         * lib/unictype/pr_uppercase.c: New file.
44185         * lib/unictype/pr_variation_selector.c: New file.
44186         * lib/unictype/pr_white_space.c: New file.
44187         * lib/unictype/pr_xid_continue.c: New file.
44188         * lib/unictype/pr_xid_start.c: New file.
44189         * lib/unictype/pr_zero_width.c: New file.
44190         * lib/unictype/scripts.c: New file.
44191         * lib/unictype/sy_c_ident.c: New file.
44192         * lib/unictype/sy_c_whitespace.c: New file.
44193         * lib/unictype/sy_java_ident.c: New file.
44194         * lib/unictype/sy_java_whitespace.c: New file.
44195
44196         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
44197         Unicode 5.0.0.
44198         * lib/unictype/blocks.h: Likewise.
44199         * lib/unictype/categ_C.h: Likewise.
44200         * lib/unictype/categ_Cc.h: Likewise.
44201         * lib/unictype/categ_Cf.h: Likewise.
44202         * lib/unictype/categ_Cn.h: Likewise.
44203         * lib/unictype/categ_Co.h: Likewise.
44204         * lib/unictype/categ_Cs.h: Likewise.
44205         * lib/unictype/categ_L.h: Likewise.
44206         * lib/unictype/categ_Ll.h: Likewise.
44207         * lib/unictype/categ_Lm.h: Likewise.
44208         * lib/unictype/categ_Lo.h: Likewise.
44209         * lib/unictype/categ_Lt.h: Likewise.
44210         * lib/unictype/categ_Lu.h: Likewise.
44211         * lib/unictype/categ_M.h: Likewise.
44212         * lib/unictype/categ_Mc.h: Likewise.
44213         * lib/unictype/categ_Me.h: Likewise.
44214         * lib/unictype/categ_Mn.h: Likewise.
44215         * lib/unictype/categ_N.h: Likewise.
44216         * lib/unictype/categ_Nd.h: Likewise.
44217         * lib/unictype/categ_Nl.h: Likewise.
44218         * lib/unictype/categ_No.h: Likewise.
44219         * lib/unictype/categ_P.h: Likewise.
44220         * lib/unictype/categ_Pc.h: Likewise.
44221         * lib/unictype/categ_Pd.h: Likewise.
44222         * lib/unictype/categ_Pe.h: Likewise.
44223         * lib/unictype/categ_Pf.h: Likewise.
44224         * lib/unictype/categ_Pi.h: Likewise.
44225         * lib/unictype/categ_Po.h: Likewise.
44226         * lib/unictype/categ_Ps.h: Likewise.
44227         * lib/unictype/categ_S.h: Likewise.
44228         * lib/unictype/categ_Sc.h: Likewise.
44229         * lib/unictype/categ_Sk.h: Likewise.
44230         * lib/unictype/categ_Sm.h: Likewise.
44231         * lib/unictype/categ_So.h: Likewise.
44232         * lib/unictype/categ_Z.h: Likewise.
44233         * lib/unictype/categ_Zl.h: Likewise.
44234         * lib/unictype/categ_Zp.h: Likewise.
44235         * lib/unictype/categ_Zs.h: Likewise.
44236         * lib/unictype/categ_of.h: Likewise.
44237         * lib/unictype/combining.h: Likewise.
44238         * lib/unictype/ctype_alnum.h: Likewise.
44239         * lib/unictype/ctype_alpha.h: Likewise.
44240         * lib/unictype/ctype_blank.h: Likewise.
44241         * lib/unictype/ctype_cntrl.h: Likewise.
44242         * lib/unictype/ctype_digit.h: Likewise.
44243         * lib/unictype/ctype_graph.h: Likewise.
44244         * lib/unictype/ctype_lower.h: Likewise.
44245         * lib/unictype/ctype_print.h: Likewise.
44246         * lib/unictype/ctype_punct.h: Likewise.
44247         * lib/unictype/ctype_space.h: Likewise.
44248         * lib/unictype/ctype_upper.h: Likewise.
44249         * lib/unictype/ctype_xdigit.h: Likewise.
44250         * lib/unictype/decdigit.h: Likewise.
44251         * lib/unictype/digit.h: Likewise.
44252         * lib/unictype/mirror.h: Likewise.
44253         * lib/unictype/numeric.h: Likewise.
44254         * lib/unictype/pr_alphabetic.h: Likewise.
44255         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
44256         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
44257         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
44258         * lib/unictype/pr_bidi_block_separator.h: Likewise.
44259         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
44260         * lib/unictype/pr_bidi_common_separator.h: Likewise.
44261         * lib/unictype/pr_bidi_control.h: Likewise.
44262         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
44263         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
44264         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
44265         * lib/unictype/pr_bidi_european_digit.h: Likewise.
44266         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
44267         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
44268         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
44269         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
44270         * lib/unictype/pr_bidi_pdf.h: Likewise.
44271         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
44272         * lib/unictype/pr_bidi_whitespace.h: Likewise.
44273         * lib/unictype/pr_combining.h: Likewise.
44274         * lib/unictype/pr_composite.h: Likewise.
44275         * lib/unictype/pr_currency_symbol.h: Likewise.
44276         * lib/unictype/pr_dash.h: Likewise.
44277         * lib/unictype/pr_decimal_digit.h: Likewise.
44278         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
44279         * lib/unictype/pr_deprecated.h: Likewise.
44280         * lib/unictype/pr_diacritic.h: Likewise.
44281         * lib/unictype/pr_extender.h: Likewise.
44282         * lib/unictype/pr_format_control.h: Likewise.
44283         * lib/unictype/pr_grapheme_base.h: Likewise.
44284         * lib/unictype/pr_grapheme_extend.h: Likewise.
44285         * lib/unictype/pr_grapheme_link.h: Likewise.
44286         * lib/unictype/pr_hex_digit.h: Likewise.
44287         * lib/unictype/pr_hyphen.h: Likewise.
44288         * lib/unictype/pr_id_continue.h: Likewise.
44289         * lib/unictype/pr_id_start.h: Likewise.
44290         * lib/unictype/pr_ideographic.h: Likewise.
44291         * lib/unictype/pr_ids_binary_operator.h: Likewise.
44292         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
44293         * lib/unictype/pr_ignorable_control.h: Likewise.
44294         * lib/unictype/pr_iso_control.h: Likewise.
44295         * lib/unictype/pr_join_control.h: Likewise.
44296         * lib/unictype/pr_left_of_pair.h: Likewise.
44297         * lib/unictype/pr_line_separator.h: Likewise.
44298         * lib/unictype/pr_logical_order_exception.h: Likewise.
44299         * lib/unictype/pr_lowercase.h: Likewise.
44300         * lib/unictype/pr_math.h: Likewise.
44301         * lib/unictype/pr_non_break.h: Likewise.
44302         * lib/unictype/pr_not_a_character.h: Likewise.
44303         * lib/unictype/pr_numeric.h: Likewise.
44304         * lib/unictype/pr_other_alphabetic.h: Likewise.
44305         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
44306         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
44307         * lib/unictype/pr_other_id_continue.h: Likewise.
44308         * lib/unictype/pr_other_id_start.h: Likewise.
44309         * lib/unictype/pr_other_lowercase.h: Likewise.
44310         * lib/unictype/pr_other_math.h: Likewise.
44311         * lib/unictype/pr_other_uppercase.h: Likewise.
44312         * lib/unictype/pr_paired_punctuation.h: Likewise.
44313         * lib/unictype/pr_paragraph_separator.h: Likewise.
44314         * lib/unictype/pr_pattern_syntax.h: Likewise.
44315         * lib/unictype/pr_pattern_white_space.h: Likewise.
44316         * lib/unictype/pr_private_use.h: Likewise.
44317         * lib/unictype/pr_punctuation.h: Likewise.
44318         * lib/unictype/pr_quotation_mark.h: Likewise.
44319         * lib/unictype/pr_radical.h: Likewise.
44320         * lib/unictype/pr_sentence_terminal.h: Likewise.
44321         * lib/unictype/pr_soft_dotted.h: Likewise.
44322         * lib/unictype/pr_space.h: Likewise.
44323         * lib/unictype/pr_terminal_punctuation.h: Likewise.
44324         * lib/unictype/pr_titlecase.h: Likewise.
44325         * lib/unictype/pr_unassigned_code_value.h: Likewise.
44326         * lib/unictype/pr_unified_ideograph.h: Likewise.
44327         * lib/unictype/pr_uppercase.h: Likewise.
44328         * lib/unictype/pr_variation_selector.h: Likewise.
44329         * lib/unictype/pr_white_space.h: Likewise.
44330         * lib/unictype/pr_xid_continue.h: Likewise.
44331         * lib/unictype/pr_xid_start.h: Likewise.
44332         * lib/unictype/pr_zero_width.h: Likewise.
44333         * lib/unictype/scripts.h: Likewise.
44334         * lib/unictype/scripts_byname.gperf: Likewise.
44335         * lib/unictype/sy_c_ident.h: Likewise.
44336         * lib/unictype/sy_c_whitespace.h: Likewise.
44337         * lib/unictype/sy_java_ident.h: Likewise.
44338         * lib/unictype/sy_java_whitespace.h: Likewise.
44339
44340         * lib/unictype/Makefile: New file.
44341         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
44342         glibc.
44343         * lib/unictype/3level.h: New file, copied from glibc.
44344         * lib/unictype/3levelbit.h: New file.
44345
44346 2007-11-11  Bruno Haible  <bruno@clisp.org>
44347
44348         * modules/gperf: New file.
44349         * modules/iconv_open (Depends-on): Add it.
44350         (Makefile.am): Remove the GPERF definition.
44351
44352 2007-11-11  Bruno Haible  <bruno@clisp.org>
44353
44354         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
44355         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
44356
44357 2007-11-11  Bruno Haible  <bruno@clisp.org>
44358
44359         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
44360         (usage): Remove function.
44361
44362 2007-11-11  Bruno Haible  <bruno@clisp.org>
44363
44364         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
44365         gl_FUNC_CEILF_LIBS.
44366         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
44367         gl_FUNC_CEIL_LIBS.
44368         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
44369         gl_FUNC_CEILL_LIBS.
44370         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
44371         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
44372         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
44373
44374 2007-11-11  Bruno Haible  <bruno@clisp.org>
44375
44376         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
44377         roundf were declared but do not exist on functions.
44378         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
44379         roundl were declared but do not exist on functions.
44380         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
44381         HAVE_FLOORL_AND_CEILL, respectively.
44382         Needed for Sun C on Solaris 10.
44383
44384 2007-11-11  Bruno Haible  <bruno@clisp.org>
44385
44386         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
44387         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
44388         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
44389         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
44390         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
44391         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
44392         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
44393         HAVE_DECL_ROUNDF.
44394         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
44395         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
44396         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
44397         of HAVE_DECL_ROUND*.
44398         * modules/math (Makefile.am): Update.
44399
44400 2007-11-10  Bruno Haible  <bruno@clisp.org>
44401
44402         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
44403         ptrdiff_t as m4/intl.m4.
44404
44405 2007-11-10  Jim Meyering  <meyering@redhat.com>
44406
44407         Avoid link failure for the argmatch test.
44408         * tests/test-argmatch.c (usage): Define function to avoid a link
44409         failure: argmatch_die requires a usage function.
44410
44411 2007-11-09  Bruno Haible  <bruno@clisp.org>
44412
44413         * doc/functions/snprintf.texi: Mention BeOS deficiency.
44414         * doc/functions/vsnprintf.texi: Likewise.
44415         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
44416         with a size argument < 2.
44417
44418 2007-11-09  Bruno Haible  <bruno@clisp.org>
44419
44420         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
44421         buffer. Fixes an inefficiency introduced on 2007-11-03.
44422
44423 2007-11-09  Bruno Haible  <bruno@clisp.org>
44424
44425         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
44426         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
44427
44428 2007-11-08  Jim Meyering  <meyering@redhat.com>
44429
44430         Change cache variable name prefix "jm_" to "gl_" everywhere.
44431         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
44432         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
44433         * m4/uptime.m4: s/gl_/jm_/
44434
44435 2007-11-07  Bruno Haible  <bruno@clisp.org>
44436
44437         Update to GNU gettext 0.17.
44438         * m4/intl.m4: Update to GNU gettext 0.17.
44439         * m4/po.m4: Likewise.
44440         * modules/gettext (Files): Remove m4/ulonglong.m4.
44441         (configure.ac): Require gettext infrastructure from version 0.17.
44442
44443 2007-11-06  Bruno Haible  <bruno@clisp.org>
44444
44445         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
44446         symbolic values are not defined in a public header.
44447         * lib/freadable.c (freadable) [QNX]: Likewise.
44448         * lib/freadahead.c (freadahead) [QNX]: Likewise.
44449         * lib/freading.c (freading) [QNX]: Likewise.
44450         * lib/fseterr.c (fseterr) [QNX]: Likewise.
44451         * lib/fwritable.c (fwritable) [QNX]: Likewise.
44452         * lib/fwriting.c (fwriting) [QNX]: Likewise.
44453         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
44454         Reported by Alain Magloire.
44455
44456         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
44457
44458 2007-11-05  Bruno Haible  <bruno@clisp.org>
44459
44460         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
44461         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
44462         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
44463         Reported by Eric Blake.
44464
44465 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44466             Bruno Haible  <bruno@clisp.org>
44467
44468         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
44469         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
44470         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
44471         (malloc): Undefine also before including <stdlib.h>.
44472         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
44473         Needed on OSF/1 4.0.
44474
44475 2007-11-05  Jim Meyering  <meyering@redhat.com>
44476
44477         git-version-gen: sync from coreutils.
44478         * build-aux/git-version-gen: Add comments.
44479         Change the first '-' to '.' in the snapshot version string,
44480         e.g., 6.9-377-08144 -> 6.9.377-08144
44481         Remove first parameter.
44482         Don't declare a version "-dirty" merely because a time
44483         stamp has changed.
44484
44485 2007-11-04  Bruno Haible  <bruno@clisp.org>
44486
44487         * lib/lock.h: Protect all macro definitions containing an 'if'
44488         statement through a "do { ... } while (0)".
44489         * lib/tls.h: Likewise.
44490
44491 2007-11-04  Bruno Haible  <bruno@clisp.org>
44492
44493         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
44494
44495 2007-11-04  Bruno Haible  <bruno@clisp.org>
44496
44497         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
44498         * modules/fprintf-posix (Depends-on): Add nocrash.
44499         * modules/snprintf-posix (Depends-on): Likewise.
44500         * modules/sprintf-posix (Depends-on): Likewise.
44501         * modules/vasnprintf-posix (Depends-on): Likewise.
44502         * modules/vasprintf-posix (Depends-on): Likewise.
44503         * modules/vfprintf-posix (Depends-on): Likewise.
44504         * modules/vsnprintf-posix (Depends-on): Likewise.
44505         * modules/vsprintf-posix (Depends-on): Likewise.
44506         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
44507         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
44508         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
44509         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
44510         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
44511         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
44512         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
44513
44514 2007-11-04  Bruno Haible  <bruno@clisp.org>
44515
44516         * modules/nocrash: New file.
44517         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
44518         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
44519
44520 2007-11-04  Bruno Haible  <bruno@clisp.org>
44521
44522         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
44523         precision handling.
44524         * tests/test-vasprintf-posix.c (test_function): Likewise.
44525         * tests/test-snprintf-posix.h (test_function): Likewise.
44526         * tests/test-sprintf-posix.h (test_function): Likewise.
44527
44528         Fix *printf behaviour for large precisions on mingw and BeOS.
44529         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
44530         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
44531         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
44532         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
44533         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
44534         gl_PRINTF_PRECISION and test its result. Invoke
44535         gl_PREREQ_VASNPRINTF_PRECISION.
44536         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
44537         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44538         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44539         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44540         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44541         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44542         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44543         * doc/functions/fprintf.texi: Update.
44544         * doc/functions/printf.texi: Update.
44545         * doc/functions/snprintf.texi: Update.
44546         * doc/functions/sprintf.texi: Update.
44547         * doc/functions/vfprintf.texi: Update.
44548         * doc/functions/vprintf.texi: Update.
44549         * doc/functions/vsnprintf.texi: Update.
44550         * doc/functions/vsprintf.texi: Update.
44551
44552 2007-11-04  Bruno Haible  <bruno@clisp.org>
44553
44554         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
44555
44556 2007-11-04  Bruno Haible  <bruno@clisp.org>
44557
44558         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
44559         Reported by Sylvain Beucler <beuc@gnu.org>.
44560
44561 2007-11-03  Bruno Haible  <bruno@clisp.org>
44562
44563         * tests/test-fprintf-posix2.sh: New file.
44564         * tests/test-fprintf-posix2.c: New file.
44565         * modules/fprintf-posix-tests (Files): Add them.
44566         (TESTS): Add test-fprintf-posix2.sh.
44567         (configure.ac): Check for getrlimit and setrlimit.
44568         (check_PROGRAMS): Add test-fprintf-posix2.
44569
44570         * tests/test-printf-posix2.sh: New file.
44571         * tests/test-printf-posix2.c: New file.
44572         * modules/printf-posix-tests (Files): Add them.
44573         (TESTS): Add test-printf-posix2.sh.
44574         (configure.ac): Check for getrlimit and setrlimit.
44575         (check_PROGRAMS): Add test-printf-posix2.
44576
44577         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
44578         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
44579         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
44580         (decode_double): New function, copied from decode_long_double.
44581         (scale10_round_decimal_decoded): New function, extracted from
44582         scale10_round_decimal_long_double.
44583         (scale10_round_decimal_long_double): Use it.
44584         (scale10_round_decimal_double): New function.
44585         (floorlog10): New function.
44586         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
44587         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
44588         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
44589         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
44590         gl_PRINTF_ENOMEM and test its result. Invoke
44591         gl_PREREQ_VASNPRINTF_ENOMEM.
44592         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
44593         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44594         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44595         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44596         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44597         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44598         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44599         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
44600         * modules/snprintf-posix (Depends-on): Likewise.
44601         * modules/sprintf-posix (Depends-on): Likewise.
44602         * modules/vasnprintf-posix (Depends-on): Likewise.
44603         * modules/vasprintf-posix (Depends-on): Likewise.
44604         * modules/vfprintf-posix (Depends-on): Likewise.
44605         * modules/vsnprintf-posix (Depends-on): Likewise.
44606         * modules/vsprintf-posix (Depends-on): Likewise.
44607         * doc/functions/fprintf.texi: Update.
44608         * doc/functions/printf.texi: Update.
44609         * doc/functions/snprintf.texi: Update.
44610         * doc/functions/sprintf.texi: Update.
44611         * doc/functions/vfprintf.texi: Update.
44612         * doc/functions/vprintf.texi: Update.
44613         * doc/functions/vsnprintf.texi: Update.
44614         * doc/functions/vsprintf.texi: Update.
44615
44616 2007-11-03  Bruno Haible  <bruno@clisp.org>
44617
44618         * modules/frexp-nolibm-tests: New file.
44619
44620         * modules/frexp-nolibm: New file.
44621         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
44622
44623 2007-11-03  Bruno Haible  <bruno@clisp.org>
44624
44625         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
44626         value is C99 compliant.
44627         Needed for OSF/1 5.1.
44628
44629 2007-11-03  Bruno Haible  <bruno@clisp.org>
44630
44631         Fix out-of-memory handling of vasnprintf.
44632         * lib/printf-parse.c: Include <errno.h>.
44633         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
44634         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
44635         is already set.
44636
44637 2007-11-02  Eric Blake  <ebb9@byu.net>
44638
44639         Fix tests on cygwin.
44640         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
44641
44642 2007-11-01  Bruno Haible  <bruno@clisp.org>
44643
44644         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
44645         warning.
44646         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
44647         needed for POSIX compatibility.
44648
44649 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
44650
44651         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
44652         for compatibility with GNU.
44653
44654 2007-11-01  Bruno Haible  <bruno@clisp.org>
44655
44656         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
44657         (putenv): Renamed from rpl_putenv. Change argument type from
44658         'const char *' to 'char *'.
44659         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
44660         of defining putenv in config.h, just set REPLACE_PUTENV.
44661         * modules/putenv (Depends-on): Add stdlib.
44662         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44663         (Include): Use <stdlib.h>.
44664         * lib/stdlib.in.h (putenv): New declaration.
44665         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
44666         REPLACE_PUTENV.
44667         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
44668         REPLACE_PUTENV.
44669         Needed for MacOS X 10.5.0.
44670         Reported by Peter O'Gorman <peter@pogma.com>.
44671
44672 2007-11-01  Jim Meyering  <meyering@redhat.com>
44673
44674         Treat an empty date string exactly like "0".
44675         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
44676         if the remaining date string (to be parsed) is empty, use "0".
44677         Reported by Mischa Molhoek and discussed in this thread:
44678         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
44679
44680 2007-10-31  Bruno Haible  <bruno@clisp.org>
44681
44682         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
44683         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
44684         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
44685         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
44686         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
44687         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
44688
44689 2007-10-31  Bruno Haible  <bruno@clisp.org>
44690
44691         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
44692         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
44693         (AC_TYPE_LONG_LONG_INT): Use it.
44694         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
44695         it as well.
44696         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
44697         to m4/longlong.m4.
44698         * modules/stdint (Files): Remove m4/ulonglong.m4.
44699         * modules/strtoull (Files): Use m4/longlong.m4 instead of
44700         m4/ulonglong.m4.
44701         * modules/strtoumax (Files): Likewise.
44702
44703 2007-10-30  Bruno Haible  <bruno@clisp.org>
44704
44705         * modules/xvasprintf-posix: New file.
44706         Suggested by Eric Blake.
44707
44708 2007-10-30  Bruno Haible  <bruno@clisp.org>
44709
44710         * modules/xprintf-posix-tests: New file.
44711         * tests/test-xprintf-posix.sh: New file.
44712         * tests/test-xprintf-posix.c: New file.
44713         * tests/test-xfprintf-posix.c: New file.
44714
44715         * modules/xprintf-posix: New file.
44716
44717 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44718
44719         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
44720         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
44721         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
44722
44723 2007-10-29  Bruno Haible  <bruno@clisp.org>
44724
44725         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
44726         contain the special marker '_cv_'.
44727         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
44728         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
44729         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
44730         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
44731         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
44732         Reported by Ralf Wildenhues.
44733
44734 2007-10-29  Bruno Haible  <bruno@clisp.org>
44735
44736         * gnulib-tool (func_import): When --lgpl is not specified, set
44737         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
44738         GPLv3.
44739         Reported by Simon Josefsson.
44740
44741 2007-10-28  Bruno Haible  <bruno@clisp.org>
44742
44743         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
44744         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
44745         HAVE_DECL_ISFINITE.
44746         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
44747         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
44748         HAVE_DECL_ISFINITE.
44749
44750 2007-10-28  Bruno Haible  <bruno@clisp.org>
44751
44752         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
44753         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
44754
44755 2007-10-28  Bruno Haible  <bruno@clisp.org>
44756
44757         Fix link errors with Sun C 5.0 on Solaris 10.
44758         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
44759         function is declared but not present in the compiler's libm.
44760         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
44761         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
44762         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
44763         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
44764         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
44765         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
44766         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
44767         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
44768         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
44769         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
44770         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
44771         HAVE_DECL_FLOORL.
44772
44773 2007-10-28  Bruno Haible  <bruno@clisp.org>
44774
44775         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
44776         gl_FUNC_FLOORL. Cache the result.
44777         (gl_FUNC_FLOORL): Use it.
44778         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
44779         gl_FUNC_CEILL. Cache the result.
44780         (gl_FUNC_CEILL): Use it.
44781
44782         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
44783         gl_FUNC_FLOOR. Cache the result.
44784         (gl_FUNC_FLOOR): Use it.
44785         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
44786         gl_FUNC_CEIL. Cache the result.
44787         (gl_FUNC_CEIL): Use it.
44788
44789         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
44790         gl_FUNC_FLOORF. Cache the result.
44791         (gl_FUNC_FLOORF): Use it.
44792         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
44793         gl_FUNC_CEILF. Cache the result.
44794         (gl_FUNC_CEILF): Use it.
44795
44796 2007-10-28  Bruno Haible  <bruno@clisp.org>
44797
44798         * gnulib-tool: Allow specifying the LGPL version number through
44799         --lgpl=2 or --lgpl=3.
44800         (func_usage): Document --lgpl with argument.
44801         Handle --lgpl=... arguments.
44802         (func_import): Recognize also gl_LGPL calls with an argument. When
44803         --lgpl=2 is used and the module's license is just LGPL, report an
44804         error. Set sed_transform_lib_file according to the lgpl variable. In
44805         the generated files, use --lgpl or gl_LGPL invocations with argument,
44806         if necessary.
44807         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
44808         an LGPv2+ license.
44809         * doc/gnulib-tool.texi (Modified imports): Update explanation of
44810         gl_LGPL macro.
44811
44812 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44813             Bruno Haible  <bruno@clisp.org>
44814
44815         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
44816         (u16_uctomb_aux): Likewise.
44817         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
44818         !HAVE_INLINE.
44819         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
44820
44821 2007-10-28  Bruno Haible  <bruno@clisp.org>
44822
44823         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
44824         Invoke AM_GETTEXT_OPTION if it exists.
44825         * modules/vasprintf: Likewise.
44826         * modules/verror: Likewise.
44827         * modules/xprintf: Likewise.
44828         * modules/xvasprintf: Likewise.
44829
44830 2007-10-27  Ben Pfaff  <blp@gnu.org>
44831
44832         * lib/math.in.h: Define isfinite macro and prototypes for
44833         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
44834         implementations.
44835         * m4/math_h.m4: New substitutions for isfinite module.
44836         * lib/isfinite.c: New file.
44837         * m4/isfinite.m4: New file.
44838         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
44839         * modules/isfinite: New file.
44840         * modules/isfinite-tests: New file.
44841         * tests/tests-isfinite.c: New file.
44842         * doc/functions/isfinite.texi: Mention isfinite module.
44843         * MODULES.html.sh: Mention new module.
44844
44845 2007-10-27  Ben Pfaff  <blp@gnu.org>
44846
44847         Ralf Wildenhues reported that Tru64 4.0D declares the round
44848         functions but does not have definitions.
44849         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
44850         cannot be found in any library, set the output variable to
44851         "missing" instead of "".
44852         * m4/round.m4: Also use our substitute if we cannot find round in
44853         any library, even if it is declared.
44854         * m4/roundf.m4: Likewise for roundf.
44855         * m4/roundl.m4: Likewise for roundl.
44856         * lib/math.in.h: Undefine roundf, round, roundl before defining
44857         their replacements, to allow for hypothetical systems where these
44858         may be defined as macros but not available in libraries.
44859
44860 2007-10-27  Bruno Haible  <bruno@clisp.org>
44861
44862         * doc/gnulib.texi: Invoke @firstparagraphindent.
44863         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
44864         changes in gnulib.
44865         (Source changes): New section.
44866
44867 2007-10-26  Bruno Haible  <bruno@clisp.org>
44868
44869         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
44870         borrowed from autoconf.
44871
44872 2007-10-26  Bruno Haible  <bruno@clisp.org>
44873
44874         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
44875         strerror returned the empty string. Needed on HP-UX 11.00.
44876
44877 2007-10-24  Micah Cowan  <micah@cowan.name>
44878
44879         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
44880         * build-aux/bootstrap: Remove support for now-unnecessary option,
44881         --cvs-user, and envvars CVS_USER, CVS_RSH.
44882
44883 2007-10-24  Jim Meyering  <meyering@redhat.com>
44884
44885         Avoid diagnostics from sha1sum when there is no cached checksum.
44886         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
44887         if the po.s1 file hasn't been created yet.
44888
44889         * build-aux/bootstrap: Sync from coreutils:
44890         2007-10-24  Jim Meyering  <meyering@redhat.com>
44891         Get gnulib from the git repository, not from an obsolete cvs one.
44892         * build-aux/bootstrap: Suggestion from Micah Cowan.
44893         2007-10-04  Jim Meyering  <jim@meyering.net>
44894         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
44895         (update_po_files): Work also when there are no .po files in po/.
44896
44897 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
44898
44899         * README: Append ".git" to git and cg examples.
44900         Problem reported by Benoit Sigoure.
44901
44902 2007-10-23  Micah Cowan  <micah@cowan.name>
44903
44904         * users.txt: Add wget.
44905
44906 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44907
44908         Fix linking of some unistdio tests on FreeBSD.
44909         * modules/unistdio/u16-vsnprintf-tests
44910         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
44911         * modules/unistdio/u16-vsprintf-tests
44912         (test_u16_vsnprintf1_LDADD): Likewise.
44913         * modules/unistdio/u32-vsnprintf-tests
44914         (test_u32_vsnprintf1_LDADD): Likewise.
44915         * modules/unistdio/u32-vsprintf-tests
44916         (test_u32_vsprintf1_LDADD): Likewise.
44917         * modules/unistdio/u8-vsnprintf-tests
44918         (test_u8_vsnprintf1_LDADD): Likewise.
44919         * modules/unistdio/u8-vsprintf-tests
44920         (test_u8_vsprintf1_LDADD): Likewise.
44921         * modules/unistdio/ulc-vsnprintf-tests
44922         (test_ulc_vsnprintf1_LDADD): Likewise.
44923         * modules/unistdio/ulc-vsprintf-tests
44924         (test_ulc_vsprintf1_LDADD): Likewise.
44925
44926         Fix linking of some uniconv tests on FreeBSD.
44927         * modules/uniconv/u16-conv-from-enc-tests
44928         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
44929         * modules/uniconv/u16-conv-to-enc-tests
44930         (test_u16_conv_to_enc_LDADD): Likewise.
44931         * modules/uniconv/u16-strconv-from-enc-tests
44932         (test_u16_strconv_from_enc_LDADD): Likewise.
44933         * modules/uniconv/u16-strconv-to-enc-tests
44934         (test_u16_strconv_to_enc_LDADD): Likewise.
44935         * modules/uniconv/u32-conv-from-enc-tests
44936         (test_u32_conv_from_enc_LDADD): Likewise.
44937         * modules/uniconv/u32-conv-to-enc-tests
44938         (test_u32_conv_to_enc_LDADD): Likewise.
44939         * modules/uniconv/u32-strconv-from-enc-tests
44940         (test_u32_strconv_from_enc_LDADD): Likewise.
44941         * modules/uniconv/u32-strconv-to-enc-tests
44942         (test_u32_strconv_to_enc_LDADD): Likewise.
44943         * modules/uniconv/u8-conv-from-enc-tests
44944         (test_u8_conv_from_enc_LDADD): Likewise.
44945         * modules/uniconv/u8-conv-to-enc-tests
44946         (test_u8_conv_to_enc_LDADD): Likewise.
44947         * modules/uniconv/u8-strconv-from-enc-tests
44948         (test_u8_strconv_from_enc_LDADD): Likewise.
44949         * modules/uniconv/u8-strconv-to-enc-tests
44950         (test_u8_strconv_to_enc_LDADD): Likewise.
44951
44952 2007-10-22  Bruno Haible  <bruno@clisp.org>
44953
44954         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
44955         size.
44956
44957 2007-10-22  Eric Blake  <ebb9@byu.net>
44958
44959         Tweak x*printf documentation.
44960         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
44961         variable name and comments.
44962         Suggested by Bruno Haible.
44963
44964 2007-10-22  Bruno Haible  <bruno@clisp.org>
44965
44966         * lib/acl.c (copy_acl): Fix file name in comment.
44967
44968 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
44969
44970         Fix Tru64 problem with stdbool.h.
44971         * lib/stdbool.in.h (false, true):
44972         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
44973         Don't declare as an enum in this situation; it runs afoul of Tru64.
44974         Problem reported by Steven M. Schweda in
44975         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
44976
44977 2007-10-22  Eric Blake  <ebb9@byu.net>
44978
44979         Also wrap vf?printf.
44980         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
44981         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
44982         (xvprintf, xvfprintf): New functions.
44983
44984 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44985
44986         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
44987         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
44988
44989         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
44990         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
44991
44992 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
44993
44994         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
44995         by Bruno Haible.
44996
44997 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44998
44999         * lib/getloadavg.c
45000         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
45001         Undef `sys' after including sys/table.h, for Tru64 4.0D.
45002
45003         * tests/test-i-ring.c: Work for C89.
45004
45005 2007-10-22  Bruno Haible  <bruno@clisp.org>
45006
45007         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
45008         -1u, in preprocessor expression, so that we don't test for the bug
45009         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
45010         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
45011
45012 2007-10-22  Eric Blake  <ebb9@byu.net>
45013
45014         * tests/test-yesno.sh: Silence stderr during test.
45015
45016 2007-10-22  Simon Josefsson  <simon@josefsson.org>
45017
45018         * modules/crypto/gc-camellia: New file.
45019
45020         * m4/gc-camellia.m4: New file.
45021
45022         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
45023
45024         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
45025
45026 2007-10-22  Simon Josefsson  <simon@josefsson.org>
45027
45028         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
45029         --help to stdout.  Reported by sms@antinode.org (Steven
45030         M. Schweda).
45031
45032 2007-10-22  Simon Josefsson  <simon@josefsson.org>
45033
45034         * users.txt: Fix link to libksba.
45035
45036 2007-10-21  Ben Pfaff  <blp@gnu.org>
45037
45038         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
45039         round.c roundf implementation that depends on floorf and ceilf to
45040         be tested unconditionally.
45041
45042 2007-10-21  Ben Pfaff  <blp@gnu.org>
45043
45044         * m4/check-libm-func.m4: Removed.
45045         * m4/check-math-lib.m4: New file.
45046         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
45047         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
45048         definition and lack of AC_LIBOBJ([roundf]).
45049         * m4/roundl.m4: Ditto, and similarly for roundl.
45050         * modules/round: Reference new m4 file.
45051         * modules/roundf: Ditto.
45052         * modules/roundl: Ditto.
45053         * tests/test-round2.c (main): Use ROUND instead of round.
45054         Bug report from Bruno Haible.
45055
45056 2007-10-21  Bruno Haible  <bruno@clisp.org>
45057
45058         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
45059         context.
45060
45061 2007-10-21  Bruno Haible  <bruno@clisp.org>
45062
45063         * tests/test-wcwidth.c (main): Allow negative result for some control
45064         characters.
45065
45066         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
45067         Needed on OSF/1 5.1.
45068
45069 2007-10-21  Bruno Haible  <bruno@clisp.org>
45070
45071         * tests/test-floorf1.c: Include isnanf.h.
45072         (main): Use isnanf() instead of isnan().
45073         * tests/test-ceilf1.c: Include isnanf.h.
45074         (main): Use isnanf() instead of isnan().
45075         * tests/test-truncf1.c: Include isnanf.h.
45076         (main): Use isnanf() instead of isnan().
45077         * tests/test-roundf1.c: Include isnanf.h.
45078         (main): Use isnanf() instead of isnan().
45079
45080 2007-10-21  Eric Blake  <ebb9@byu.net>
45081
45082         * users.txt: Update URL for m4.
45083
45084 2007-10-21  Bruno Haible  <bruno@clisp.org>
45085
45086         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
45087
45088 2007-10-21  Bruno Haible  <bruno@clisp.org>
45089
45090         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
45091         Git's management files if the CVS files are not present.
45092
45093 2007-10-20  Bruno Haible  <bruno@clisp.org>
45094
45095         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
45096         gcc-3.4.x.
45097
45098 2007-10-20  Ben Pfaff  <blp@gnu.org>
45099
45100         * lib/math.in.h: Declare round, roundf, roundl if we are providing
45101         implementations.
45102         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
45103         * lib/round.c: New file.
45104         * lib/roundf.c: New file.
45105         * lib/roundl.c: New file.
45106         * m4/round.m4: New file.
45107         * m4/roundf.m4: New file.
45108         * m4/roundl.m4: New file.
45109         * m4/check-libm-func-m4: New file.
45110         * modules/math: Replace round, roundf, roundl related @VARS@ in
45111         math.in.h.
45112         * modules/round: New file.
45113         * modules/round-tests: New file.
45114         * modules/roundf: New file.
45115         * modules/roundf-tests: New file.
45116         * modules/roundl: New file.
45117         * modules/roundl-tests: New file.
45118         * tests/test-round1.c: New file.
45119         * tests/test-round2.c: New file.
45120         * tests/test-roundf1.c: New file.
45121         * tests/test-roundf2.c: New file.
45122         * tests/test-roundl.c: New file.
45123         * doc/functions/round.texi: Mention round module.
45124         * doc/functions/roundf.texi: Mention roundf module.
45125         * doc/functions/roundl.texi: Mention roundl module.
45126         * MODULES.html.sh: Mention new modules.
45127         Thanks to Bruno Haible for suggestions.
45128
45129 2007-10-20  Jim Meyering  <meyering@redhat.com>
45130
45131         * lib/xprintf.c: Include <config.h> unconditionally.
45132
45133         Change xprintf's license to GPL.
45134         * modules/xprintf (License): s/LGPL/GPL/, since this module
45135         depends on modules (exit and exitfail) which are GPL.
45136         Suggestion from Bruno Haible.
45137
45138         xprintf fixes.
45139         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
45140         Use a clearer diagnostic.
45141         Patch from Bruno Haible.
45142
45143 2007-10-20  Bruno Haible  <bruno@clisp.org>
45144
45145         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
45146         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
45147         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45148
45149 2007-10-20  Bruno Haible  <bruno@clisp.org>
45150
45151         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
45152         precision in the comparison result > x - 1 or similar.
45153         * tests/test-ceilf2.c (correct_result_p): Likewise.
45154         * tests/test-truncf2.c (correct_result_p): Likewise.
45155         * tests/test-trunc2.c (correct_result_p): Likewise.
45156         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
45157
45158 2007-10-20  Bruno Haible  <bruno@clisp.org>
45159
45160         * modules/ceil: New file.
45161         * m4/ceil.m4: New file.
45162         * doc/functions/ceil.texi: Mention the 'ceil' module.
45163
45164 2007-10-20  Bruno Haible  <bruno@clisp.org>
45165
45166         * modules/floor: New file.
45167         * m4/floor.m4: New file.
45168         * doc/functions/floor.texi: Mention the 'floor' module.
45169
45170 2007-10-20  Bruno Haible  <bruno@clisp.org>
45171
45172         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
45173         of %a.
45174         * modules/floorf-tests (Depends-on): Likewise.
45175         * modules/truncf-tests (Depends-on): Likewise.
45176         * modules/trunc-tests (Depends-on): Likewise.
45177         Reported by Ben Pfaff.
45178
45179 2007-10-19  Jim Meyering  <meyering@redhat.com>
45180
45181         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
45182         Don't bother testing specific errno values.  Just test ferror.
45183
45184         New module: xprintf
45185         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
45186
45187 2007-10-19  Bruno Haible  <bruno@clisp.org>
45188
45189         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
45190         syntax.
45191         * modules/javaexec (Makefile.am): Likewise.
45192         * modules/relocatable-prog (Makefile.am): Likewise.
45193         Suggested by Jim Meyering.
45194
45195 2007-10-18  Bruno Haible  <bruno@clisp.org>
45196
45197         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
45198         Reported by Jim Meyering.
45199
45200 2007-10-18  Eric Blake  <ebb9@byu.net>
45201
45202         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
45203
45204 2007-10-18  Bruno Haible  <bruno@clisp.org>
45205
45206         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
45207         the format string into writable memory. Needed in Fortify conditions.
45208
45209 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
45210             Bruno Haible  <bruno@clisp.org>
45211
45212         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
45213         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
45214         * modules/trim (Depends-on): Add mbchar.
45215         (configure.ac): Add gl_FUNC_MBRTOWC.
45216         (Makefile.am): Augment lib_SOURCES.
45217
45218 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
45219
45220         Modify glob.c to use fstatat and dirfd, to simplify it.
45221         Suggested by Eric Blake.
45222         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
45223         Don't include <stdbool.h>; not used.
45224         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
45225         (link_exists_p): Simplify implementation, since we can now assume
45226         dirfd and fstatat.
45227         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
45228
45229 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45230
45231         * gnulib-tool (func_get_dependencies): Fix sed script to
45232         match only tests.
45233
45234 2007-10-17  Bruno Haible  <bruno@clisp.org>
45235
45236         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
45237         allow locale names without encoding suffix.
45238         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
45239         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
45240
45241 2007-10-16  Bruno Haible  <bruno@clisp.org>
45242
45243         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
45244         * lib/getgroups.c (getgroups): Likewise.
45245         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
45246
45247 2007-10-16  Bruno Haible  <bruno@clisp.org>
45248
45249         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
45250         * modules/malloc-posix (License): Likewise.
45251         * modules/realloc-posix (License): Likewise.
45252         * modules/calloc-posix (License): Likewise.
45253         * modules/intprops (License): Change from GPL to LGPL, with
45254         Paul Eggert's approval.
45255
45256 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
45257
45258         Merge glibc changes into lib/glob.c.
45259
45260         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
45261         2007-10-15 04:59:03 UTC.  Here are the changes:
45262
45263         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
45264
45265         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
45266
45267         * lib/glob.c: Add some branch prediction throughout.
45268
45269         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
45270
45271         [BZ #5103]
45272         * lib/glob.c (glob): Recognize patterns starting \/.
45273
45274         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
45275
45276         [BZ #3996]
45277         * lib/glob.c (attribute_hidden): Define if not defined.
45278         (glob): Unescape dirname, filename or username when needed and not
45279         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
45280         is NULL.  Handle unescaped [ in pattern without closing ].
45281         Don't pass GLOB_CHECK down to recursive glob for directories.
45282         (__glob_pattern_type): New function.
45283         (__glob_pattern_p): Implement using __glob_pattern_type.
45284         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
45285         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
45286         Remove unreachable code.
45287
45288         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
45289
45290         * lib/glob.c (glob_in_dir): Add some comments and asserts to
45291         explain why there are no leaks.
45292
45293         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
45294
45295         [BZ #3253]
45296         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
45297         time, rather allocate increasingly bigger arrays of pointers, if
45298         possible with alloca, if too large with malloc.
45299
45300 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
45301
45302         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
45303         Problem reported by H.Merijn Brand in
45304         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
45305         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
45306         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
45307
45308 2007-10-15  Bruno Haible  <bruno@clisp.org>
45309
45310         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
45311         with explicit rpl_ prefix.
45312         * lib/fopen.c (fopen): Likewise.
45313         * lib/freopen.c (freopen): Likewise.
45314         * lib/iconv.c (iconv): Likewise.
45315         * lib/iconv_close.c (iconv_close): Likewise.
45316
45317 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45318
45319         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
45320
45321 2007-10-15  Bruno Haible  <bruno@clisp.org>
45322
45323         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
45324         <stddef.h> instead of <stdlib.h> since we only need NULL.
45325         Reported by Ben Pfaff <blp@cs.stanford.edu>.
45326
45327 2007-10-15  Bruno Haible  <bruno@clisp.org>
45328
45329         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
45330         Replace paragraph talking about LIBOBJS.
45331         Reported by Colin Watson <cjwatson@debian.org>.
45332
45333 2007-10-15  Bruno Haible  <bruno@clisp.org>
45334
45335         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
45336         <stdlib.h> before using NULL.
45337
45338 2007-10-15  Simon Josefsson  <simon@josefsson.org>
45339
45340         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
45341         Reported by Albert Chin <china@thewrittenword.com>.
45342
45343 2007-10-14  Bruno Haible  <bruno@clisp.org>
45344
45345         * modules/iconv_open-utf-tests: New file.
45346         * tests/test-iconv-utf.c: New file.
45347
45348         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
45349         * modules/iconv_open-utf: New file.
45350         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
45351         (iconv, iconv_close): New declarations.
45352         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
45353         be defined.
45354         (iconv_open): Add special handling of conversion between UTF-8 and
45355         UTF-{16,32}{BE,LE}.
45356         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
45357         * lib/iconv_close.c: New file.
45358         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
45359         gl_FUNC_ICONV_OPEN.
45360         (gl_FUNC_ICONV_OPEN): Use it.
45361         (gl_FUNC_ICONV_OPEN_UTF): New macro.
45362         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
45363         and REPLACE_ICONV_UTF.
45364         * modules/iconv_open (Depends-on): Add c-strcase.
45365         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
45366         ICONV_CONST.
45367         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
45368
45369 2007-10-13  Albert Chin  <china@thewrittenword.com>
45370             Bruno Haible  <bruno@clisp.org>
45371
45372         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
45373         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
45374
45375 2007-10-13  Bruno Haible  <bruno@clisp.org>
45376
45377         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
45378         defined, use the ISO C99 inline semantics.
45379         * lib/argp.h (ARGP_EI): Likewise.
45380
45381 2007-10-13  Bruno Haible  <bruno@clisp.org>
45382
45383         Handle 'inline' change in gcc 4.3.0.
45384         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
45385         argp_fmtstream_write, argp_fmtstream_set_lmargin,
45386         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
45387         argp_fmtstream_point): Disable 'extern' declaration if the function
45388         definition is going to be provided inline.
45389         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
45390         semantics, not the ISO C99 inline semantics.
45391         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
45392         'extern' declaration if the function definition is going to be provided
45393         inline.
45394         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
45395         the GNU C inline semantics, not the ISO C99 inline semantics. With
45396         GCC 4.2, avoid a warning.
45397
45398 2007-10-13  Bruno Haible  <bruno@clisp.org>
45399
45400         * lib/freading.h (freading): Enable the use of __freading for
45401         glibc >= 2.7.
45402         * lib/freading.c (freading): Likewise.
45403
45404 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
45405
45406         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
45407         "warning: C99 inline functions are not supported; using GNU89".
45408
45409 2007-10-12  Bruno Haible  <bruno@clisp.org>
45410
45411         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
45412         of 2.
45413         * tests/test-ceilf2.c: New file.
45414         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
45415
45416         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
45417         * modules/ceilf-tests: Update.
45418
45419 2007-10-12  Bruno Haible  <bruno@clisp.org>
45420
45421         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
45422         of 2.
45423         * tests/test-floorf2.c: New file.
45424         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
45425
45426         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
45427         * modules/floorf-tests: Update.
45428
45429 2007-10-12  Bruno Haible  <bruno@clisp.org>
45430
45431         * tests/test-trunc2.c: New file.
45432         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
45433
45434         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
45435         * modules/trunc-tests: Update.
45436
45437 2007-10-12  Bruno Haible  <bruno@clisp.org>
45438
45439         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
45440         of 2.
45441         * tests/test-truncf2.c: New file.
45442         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
45443
45444         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
45445         * modules/truncf-tests: Update.
45446
45447 2007-10-11  Eric Blake  <ebb9@byu.net>
45448
45449         Don't claim strerror is broken on Interix.
45450         * doc/functions/strerror.texi (strerror): Known broken systems are
45451         now Solaris 8, and not Interix.
45452         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
45453         Interix on cross-compile.
45454         Reported by Martin Koeppe in
45455         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
45456
45457 2007-10-11  Bruno Haible  <bruno@clisp.org>
45458
45459         * modules/i-ring-tests: New file.
45460         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
45461         instead of assert.
45462
45463 2007-10-11  Bruno Haible  <bruno@clisp.org>
45464
45465         * modules/filenamecat-tests: New file.
45466         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
45467         * lib/filenamecat.c: Remove test code.
45468
45469 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
45470
45471         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
45472
45473         * lib/strerror.c: Include <string.h> always, to test interface,
45474         and to remove the need for the dummy.
45475         Include intprops.h to compute width instead of doing it ourselves
45476         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
45477         (strerror): Define it to return NULL if there's no system strerror.
45478         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
45479         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
45480         ancient pre-strerror Unix systems well any more.  Saying "unknown
45481         system error" is enough.
45482         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
45483         simpler strerror.c implementation.
45484         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
45485         Simplify the tests to reflect the simpler strerror implementation.
45486         * modules/strerror (Depends-on): Add intprops.
45487
45488 2007-10-09  Eric Blake  <ebb9@byu.net>
45489
45490         Silence test-fpending.
45491         * modules/fpending-tests (Files): Add wrapper script.
45492         * tests/test-fpending.sh: New file.
45493
45494 2007-10-09  Bruno Haible  <bruno@clisp.org>
45495
45496         * MODULES.html.sh (func_module): Don't create a hyperlink for
45497         function names like 'printf_frexp'.
45498         (Misc): Add crc, memxor.
45499         (Characteristics of floating types): New section.
45500         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
45501         isnanf-nolibm, signbit, trunc, truncf, truncl.
45502         (Enhancements for ISO C 99 functions): New subsection Input/output.
45503         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
45504         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
45505         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
45506         (Compatibility checks for POSIX:2001 functions): Add clock-time.
45507         (Enhancements for POSIX:2001 functions): Add chdir-long.
45508         (File system functions): Add areadlink, chdir-safer, read-file.
45509         Remove cycle-check.
45510         (File system as inode set): New section.
45511         (Date and time): Add gethrxtime.
45512         (Multithreading): Add openmp.
45513         (Internationalization functions): Add localename.
45514         (Unicode string functions): Add unistr/u*-mbsnlen.
45515         (Support for maintaining and releasing projects): Add git-version-gen.
45516         (Lone files): Remove directories.
45517
45518 2007-10-08  Ben Pfaff  <blp@gnu.org>
45519
45520         * lib/xmalloca.h: Fix typo in comment.
45521
45522 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
45523
45524         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
45525         when avoiding problems with integer overflow.  Use a portable test
45526         instead.
45527
45528 2007-10-08  Simon Josefsson  <simon@josefsson.org>
45529
45530         * modules/dummy (License): Change to LGPLv2+.
45531         * modules/float (License): Likewise
45532         * modules/realloc (License): Likewise
45533         * modules/stdlib (License): Likewise
45534
45535 2007-10-07  Bruno Haible  <bruno@clisp.org>
45536
45537         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
45538         * floor.c (TWO_MANT_DIG): Likewise.
45539         * ceil.c (TWO_MANT_DIG): Likewise.
45540         Reported by Ben Pfaff.
45541
45542 2007-10-07  Bruno Haible  <bruno@clisp.org>
45543
45544         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
45545         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
45546         * lib/frexp.c (FUNC): Likewise.
45547         * lib/printf-frexp.h (printf_frexp): Likewise.
45548         * lib/printf-frexpl.h (printf_frexpl): Likewise.
45549         * lib/printf-frexp.c (FUNC): Likewise.
45550         Suggested by Jim Meyering.
45551
45552 2007-10-07  Jim Meyering  <meyering@redhat.com>
45553
45554         Make xnanosleep's integer overflow test more robust.
45555         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
45556         so that gcc-4.3.0 doesn't optimize away this test for overflow.
45557
45558 2007-10-07  Bruno Haible  <bruno@clisp.org>
45559
45560         * NEWS: Mention the license change.
45561
45562         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
45563         abbreviations in the modules files.
45564
45565         Change copyright notice from GPLv2+ to GPLv3+.
45566         * README: Change copyright notice.
45567         * MODULES.html.sh: Likewise.
45568         * build-aux/bootstrap.conf: Likewise.
45569         * build-aux/config.libpath: Likewise.
45570         * build-aux/csharpcomp.sh.in: Likewise.
45571         * build-aux/csharpexec.sh.in: Likewise.
45572         * build-aux/install-reloc: Likewise.
45573         * build-aux/javacomp.sh.in: Likewise.
45574         * build-aux/javaexec.sh.in: Likewise.
45575         * build-aux/ldd.sh.in: Likewise.
45576         * build-aux/reloc-ldflags: Likewise.
45577         * build-aux/relocatable.sh.in: Likewise.
45578         * build-aux/x-to-1.in: Likewise.
45579         * check-module: Likewise.
45580         * config/srclistvars.sh: Likewise.
45581         * gnulib-tool: Likewise.
45582         * lib/acl-internal.h: Likewise.
45583         * lib/acl.c: Likewise.
45584         * lib/acl.h: Likewise.
45585         * lib/acl_entries.c: Likewise.
45586         * lib/areadlink-with-size.c: Likewise.
45587         * lib/areadlink.c: Likewise.
45588         * lib/areadlink.h: Likewise.
45589         * lib/argmatch.c: Likewise.
45590         * lib/argmatch.h: Likewise.
45591         * lib/argp-ba.c: Likewise.
45592         * lib/argp-eexst.c: Likewise.
45593         * lib/argp-fmtstream.c: Likewise.
45594         * lib/argp-fmtstream.h: Likewise.
45595         * lib/argp-fs-xinl.c: Likewise.
45596         * lib/argp-help.c: Likewise.
45597         * lib/argp-namefrob.h: Likewise.
45598         * lib/argp-parse.c: Likewise.
45599         * lib/argp-pin.c: Likewise.
45600         * lib/argp-pv.c: Likewise.
45601         * lib/argp-pvh.c: Likewise.
45602         * lib/argp-xinl.c: Likewise.
45603         * lib/argp.h: Likewise.
45604         * lib/at-func.c: Likewise.
45605         * lib/atanl.c: Likewise.
45606         * lib/backupfile.c: Likewise.
45607         * lib/backupfile.h: Likewise.
45608         * lib/basename.c: Likewise.
45609         * lib/binary-io.h: Likewise.
45610         * lib/byteswap.in.h: Likewise.
45611         * lib/c-stack.c: Likewise.
45612         * lib/c-stack.h: Likewise.
45613         * lib/c-strcasestr.c: Likewise.
45614         * lib/c-strcasestr.h: Likewise.
45615         * lib/c-strstr.c: Likewise.
45616         * lib/c-strstr.h: Likewise.
45617         * lib/c-strtod.c: Likewise.
45618         * lib/calloc.c: Likewise.
45619         * lib/canon-host.c: Likewise.
45620         * lib/canon-host.h: Likewise.
45621         * lib/canonicalize-lgpl.c: Likewise.
45622         * lib/canonicalize.c: Likewise.
45623         * lib/canonicalize.h: Likewise.
45624         * lib/ceil.c: Likewise.
45625         * lib/ceilf.c: Likewise.
45626         * lib/ceill.c: Likewise.
45627         * lib/chdir-long.c: Likewise.
45628         * lib/chdir-long.h: Likewise.
45629         * lib/chdir-safer.c: Likewise.
45630         * lib/chdir-safer.h: Likewise.
45631         * lib/chown.c: Likewise.
45632         * lib/classpath.c: Likewise.
45633         * lib/classpath.h: Likewise.
45634         * lib/clean-temp.c: Likewise.
45635         * lib/clean-temp.h: Likewise.
45636         * lib/cloexec.c: Likewise.
45637         * lib/close-stream.c: Likewise.
45638         * lib/closein.c: Likewise.
45639         * lib/closein.h: Likewise.
45640         * lib/closeout.c: Likewise.
45641         * lib/closeout.h: Likewise.
45642         * lib/concat-filename.c: Likewise.
45643         * lib/copy-file.c: Likewise.
45644         * lib/copy-file.h: Likewise.
45645         * lib/count-one-bits.h: Likewise.
45646         * lib/crc.c: Likewise.
45647         * lib/crc.h: Likewise.
45648         * lib/creat-safer.c: Likewise.
45649         * lib/csharpcomp.c: Likewise.
45650         * lib/csharpcomp.h: Likewise.
45651         * lib/csharpexec.c: Likewise.
45652         * lib/csharpexec.h: Likewise.
45653         * lib/cycle-check.c: Likewise.
45654         * lib/cycle-check.h: Likewise.
45655         * lib/diacrit.c: Likewise.
45656         * lib/diacrit.h: Likewise.
45657         * lib/diffseq.h: Likewise.
45658         * lib/dirchownmod.c: Likewise.
45659         * lib/dirent.in.h: Likewise.
45660         * lib/dirfd.c: Likewise.
45661         * lib/dirfd.h: Likewise.
45662         * lib/dirname.c: Likewise.
45663         * lib/dirname.h: Likewise.
45664         * lib/dummy.c: Likewise.
45665         * lib/dup-safer.c: Likewise.
45666         * lib/dup2.c: Likewise.
45667         * lib/eealloc.h: Likewise.
45668         * lib/error.c: Likewise.
45669         * lib/error.h: Likewise.
45670         * lib/euidaccess.c: Likewise.
45671         * lib/exclude.c: Likewise.
45672         * lib/exclude.h: Likewise.
45673         * lib/execute.c: Likewise.
45674         * lib/execute.h: Likewise.
45675         * lib/exitfail.c: Likewise.
45676         * lib/exitfail.h: Likewise.
45677         * lib/expl.c: Likewise.
45678         * lib/fatal-signal.c: Likewise.
45679         * lib/fatal-signal.h: Likewise.
45680         * lib/fbufmode.c: Likewise.
45681         * lib/fbufmode.h: Likewise.
45682         * lib/fchdir.c: Likewise.
45683         * lib/fchmodat.c: Likewise.
45684         * lib/fchownat.c: Likewise.
45685         * lib/fcntl--.h: Likewise.
45686         * lib/fcntl-safer.h: Likewise.
45687         * lib/fcntl.in.h: Likewise.
45688         * lib/fd-safer.c: Likewise.
45689         * lib/fflush.c: Likewise.
45690         * lib/file-has-acl.c: Likewise.
45691         * lib/file-set.c: Likewise.
45692         * lib/file-type.c: Likewise.
45693         * lib/file-type.h: Likewise.
45694         * lib/fileblocks.c: Likewise.
45695         * lib/filemode.c: Likewise.
45696         * lib/filemode.h: Likewise.
45697         * lib/filename.h: Likewise.
45698         * lib/filenamecat.c: Likewise.
45699         * lib/filenamecat.h: Likewise.
45700         * lib/findprog.c: Likewise.
45701         * lib/findprog.h: Likewise.
45702         * lib/float.in.h: Likewise.
45703         * lib/floor.c: Likewise.
45704         * lib/floorf.c: Likewise.
45705         * lib/floorl.c: Likewise.
45706         * lib/fopen-safer.c: Likewise.
45707         * lib/fopen.c: Likewise.
45708         * lib/fpending.c: Likewise.
45709         * lib/fpending.h: Likewise.
45710         * lib/fprintf.c: Likewise.
45711         * lib/fprintftime.h: Likewise.
45712         * lib/fpucw.h: Likewise.
45713         * lib/fpurge.c: Likewise.
45714         * lib/fpurge.h: Likewise.
45715         * lib/freadable.c: Likewise.
45716         * lib/freadable.h: Likewise.
45717         * lib/freadahead.c: Likewise.
45718         * lib/freadahead.h: Likewise.
45719         * lib/freading.c: Likewise.
45720         * lib/freading.h: Likewise.
45721         * lib/free.c: Likewise.
45722         * lib/freopen.c: Likewise.
45723         * lib/frexp.c: Likewise.
45724         * lib/frexpl.c: Likewise.
45725         * lib/fseek.c: Likewise.
45726         * lib/fseterr.c: Likewise.
45727         * lib/fseterr.h: Likewise.
45728         * lib/fstatat.c: Likewise.
45729         * lib/fstrcmp.c: Likewise.
45730         * lib/fstrcmp.h: Likewise.
45731         * lib/fsusage.c: Likewise.
45732         * lib/fsusage.h: Likewise.
45733         * lib/ftell.c: Likewise.
45734         * lib/ftello.c: Likewise.
45735         * lib/fts-cycle.c: Likewise.
45736         * lib/fts.c: Likewise.
45737         * lib/fts_.h: Likewise.
45738         * lib/full-read.c: Likewise.
45739         * lib/full-read.h: Likewise.
45740         * lib/full-write.c: Likewise.
45741         * lib/full-write.h: Likewise.
45742         * lib/fwritable.c: Likewise.
45743         * lib/fwritable.h: Likewise.
45744         * lib/fwriteerror.c: Likewise.
45745         * lib/fwriteerror.h: Likewise.
45746         * lib/fwriting.c: Likewise.
45747         * lib/fwriting.h: Likewise.
45748         * lib/gcd.c: Likewise.
45749         * lib/gcd.h: Likewise.
45750         * lib/getcwd.c: Likewise.
45751         * lib/getdate.h: Likewise.
45752         * lib/getdate.y: Likewise.
45753         * lib/getdomainname.c: Likewise.
45754         * lib/getdomainname.h: Likewise.
45755         * lib/getgroups.c: Likewise.
45756         * lib/gethostname.c: Likewise.
45757         * lib/gethrxtime.c: Likewise.
45758         * lib/gethrxtime.h: Likewise.
45759         * lib/getloadavg.c: Likewise.
45760         * lib/getndelim2.c: Likewise.
45761         * lib/getndelim2.h: Likewise.
45762         * lib/getnline.c: Likewise.
45763         * lib/getnline.h: Likewise.
45764         * lib/getopt.c: Likewise.
45765         * lib/getopt.in.h: Likewise.
45766         * lib/getopt1.c: Likewise.
45767         * lib/getopt_int.h: Likewise.
45768         * lib/getpagesize.h: Likewise.
45769         * lib/getsubopt.c: Likewise.
45770         * lib/gettime.c: Likewise.
45771         * lib/getugroups.c: Likewise.
45772         * lib/getugroups.h: Likewise.
45773         * lib/getusershell.c: Likewise.
45774         * lib/gl_anyavltree_list1.h: Likewise.
45775         * lib/gl_anyavltree_list2.h: Likewise.
45776         * lib/gl_anyhash_list1.h: Likewise.
45777         * lib/gl_anyhash_list2.h: Likewise.
45778         * lib/gl_anylinked_list1.h: Likewise.
45779         * lib/gl_anylinked_list2.h: Likewise.
45780         * lib/gl_anyrbtree_list1.h: Likewise.
45781         * lib/gl_anyrbtree_list2.h: Likewise.
45782         * lib/gl_anytree_list1.h: Likewise.
45783         * lib/gl_anytree_list2.h: Likewise.
45784         * lib/gl_anytree_oset.h: Likewise.
45785         * lib/gl_anytreehash_list1.h: Likewise.
45786         * lib/gl_anytreehash_list2.h: Likewise.
45787         * lib/gl_array_list.c: Likewise.
45788         * lib/gl_array_list.h: Likewise.
45789         * lib/gl_array_oset.c: Likewise.
45790         * lib/gl_array_oset.h: Likewise.
45791         * lib/gl_avltree_list.c: Likewise.
45792         * lib/gl_avltree_list.h: Likewise.
45793         * lib/gl_avltree_oset.c: Likewise.
45794         * lib/gl_avltree_oset.h: Likewise.
45795         * lib/gl_avltreehash_list.c: Likewise.
45796         * lib/gl_avltreehash_list.h: Likewise.
45797         * lib/gl_carray_list.c: Likewise.
45798         * lib/gl_carray_list.h: Likewise.
45799         * lib/gl_linked_list.c: Likewise.
45800         * lib/gl_linked_list.h: Likewise.
45801         * lib/gl_linkedhash_list.c: Likewise.
45802         * lib/gl_linkedhash_list.h: Likewise.
45803         * lib/gl_list.c: Likewise.
45804         * lib/gl_list.h: Likewise.
45805         * lib/gl_oset.c: Likewise.
45806         * lib/gl_oset.h: Likewise.
45807         * lib/gl_rbtree_list.c: Likewise.
45808         * lib/gl_rbtree_list.h: Likewise.
45809         * lib/gl_rbtree_oset.c: Likewise.
45810         * lib/gl_rbtree_oset.h: Likewise.
45811         * lib/gl_rbtreehash_list.c: Likewise.
45812         * lib/gl_rbtreehash_list.h: Likewise.
45813         * lib/gl_sublist.c: Likewise.
45814         * lib/gl_sublist.h: Likewise.
45815         * lib/group-member.c: Likewise.
45816         * lib/group-member.h: Likewise.
45817         * lib/hard-locale.c: Likewise.
45818         * lib/hard-locale.h: Likewise.
45819         * lib/hash-pjw.c: Likewise.
45820         * lib/hash-pjw.h: Likewise.
45821         * lib/hash-triple.c: Likewise.
45822         * lib/hash.c: Likewise.
45823         * lib/hash.h: Likewise.
45824         * lib/human.c: Likewise.
45825         * lib/human.h: Likewise.
45826         * lib/i-ring.c: Likewise.
45827         * lib/i-ring.h: Likewise.
45828         * lib/idcache.c: Likewise.
45829         * lib/imaxabs.c: Likewise.
45830         * lib/imaxdiv.c: Likewise.
45831         * lib/inet_pton.c: Likewise.
45832         * lib/inet_pton.h: Likewise.
45833         * lib/intprops.h: Likewise.
45834         * lib/inttostr.c: Likewise.
45835         * lib/inttostr.h: Likewise.
45836         * lib/inttypes.in.h: Likewise.
45837         * lib/isapipe.c: Likewise.
45838         * lib/isdir.c: Likewise.
45839         * lib/isnan.c: Likewise.
45840         * lib/isnan.h: Likewise.
45841         * lib/isnanf.c: Likewise.
45842         * lib/isnanf.h: Likewise.
45843         * lib/isnanl-nolibm.h: Likewise.
45844         * lib/isnanl.c: Likewise.
45845         * lib/isnanl.h: Likewise.
45846         * lib/javacomp.c: Likewise.
45847         * lib/javacomp.h: Likewise.
45848         * lib/javaexec.c: Likewise.
45849         * lib/javaexec.h: Likewise.
45850         * lib/javaversion.c: Likewise.
45851         * lib/javaversion.h: Likewise.
45852         * lib/javaversion.java: Likewise.
45853         * lib/lbrkprop.h: Likewise.
45854         * lib/lchmod.h: Likewise.
45855         * lib/lchown.c: Likewise.
45856         * lib/ldexpl.c: Likewise.
45857         * lib/linebreak.c: Likewise.
45858         * lib/linebreak.h: Likewise.
45859         * lib/linebuffer.c: Likewise.
45860         * lib/linebuffer.h: Likewise.
45861         * lib/locale.in.h: Likewise.
45862         * lib/logl.c: Likewise.
45863         * lib/long-options.c: Likewise.
45864         * lib/long-options.h: Likewise.
45865         * lib/lstat.c: Likewise.
45866         * lib/lstat.h: Likewise.
45867         * lib/math.in.h: Likewise.
45868         * lib/mbchar.c: Likewise.
45869         * lib/mbchar.h: Likewise.
45870         * lib/mbfile.h: Likewise.
45871         * lib/mbiter.h: Likewise.
45872         * lib/mbscasecmp.c: Likewise.
45873         * lib/mbscasestr.c: Likewise.
45874         * lib/mbschr.c: Likewise.
45875         * lib/mbscspn.c: Likewise.
45876         * lib/mbslen.c: Likewise.
45877         * lib/mbsncasecmp.c: Likewise.
45878         * lib/mbsnlen.c: Likewise.
45879         * lib/mbspbrk.c: Likewise.
45880         * lib/mbspcasecmp.c: Likewise.
45881         * lib/mbsrchr.c: Likewise.
45882         * lib/mbssep.c: Likewise.
45883         * lib/mbsspn.c: Likewise.
45884         * lib/mbsstr.c: Likewise.
45885         * lib/mbstok_r.c: Likewise.
45886         * lib/mbswidth.c: Likewise.
45887         * lib/mbswidth.h: Likewise.
45888         * lib/mbuiter.h: Likewise.
45889         * lib/memcasecmp.c: Likewise.
45890         * lib/memcasecmp.h: Likewise.
45891         * lib/memchr.c: Likewise.
45892         * lib/memcmp.c: Likewise.
45893         * lib/memcoll.c: Likewise.
45894         * lib/memcoll.h: Likewise.
45895         * lib/memcpy.c: Likewise.
45896         * lib/memrchr.c: Likewise.
45897         * lib/mkancesdirs.c: Likewise.
45898         * lib/mkdir-p.c: Likewise.
45899         * lib/mkdir-p.h: Likewise.
45900         * lib/mkdir.c: Likewise.
45901         * lib/mkdirat.c: Likewise.
45902         * lib/mkdtemp.c: Likewise.
45903         * lib/mkstemp-safer.c: Likewise.
45904         * lib/mkstemp.c: Likewise.
45905         * lib/modechange.c: Likewise.
45906         * lib/modechange.h: Likewise.
45907         * lib/mountlist.c: Likewise.
45908         * lib/mountlist.h: Likewise.
45909         * lib/mpsort.c: Likewise.
45910         * lib/nanosleep.c: Likewise.
45911         * lib/obstack.c: Likewise.
45912         * lib/obstack.h: Likewise.
45913         * lib/open-safer.c: Likewise.
45914         * lib/open.c: Likewise.
45915         * lib/openat-die.c: Likewise.
45916         * lib/openat-priv.h: Likewise.
45917         * lib/openat-proc.c: Likewise.
45918         * lib/openat.c: Likewise.
45919         * lib/openat.h: Likewise.
45920         * lib/pagealign_alloc.c: Likewise.
45921         * lib/pagealign_alloc.h: Likewise.
45922         * lib/physmem.c: Likewise.
45923         * lib/physmem.h: Likewise.
45924         * lib/pipe-safer.c: Likewise.
45925         * lib/pipe.c: Likewise.
45926         * lib/pipe.h: Likewise.
45927         * lib/posixtm.c: Likewise.
45928         * lib/posixtm.h: Likewise.
45929         * lib/posixver.c: Likewise.
45930         * lib/printf-frexp.c: Likewise.
45931         * lib/printf-frexp.h: Likewise.
45932         * lib/printf-frexpl.c: Likewise.
45933         * lib/printf-frexpl.h: Likewise.
45934         * lib/printf.c: Likewise.
45935         * lib/progname.c: Likewise.
45936         * lib/progname.h: Likewise.
45937         * lib/progreloc.c: Likewise.
45938         * lib/putenv.c: Likewise.
45939         * lib/quote.c: Likewise.
45940         * lib/quote.h: Likewise.
45941         * lib/quotearg.c: Likewise.
45942         * lib/quotearg.h: Likewise.
45943         * lib/raise.c: Likewise.
45944         * lib/readline.c: Likewise.
45945         * lib/readline.h: Likewise.
45946         * lib/readlink.c: Likewise.
45947         * lib/readtokens.c: Likewise.
45948         * lib/readtokens.h: Likewise.
45949         * lib/readtokens0.c: Likewise.
45950         * lib/readtokens0.h: Likewise.
45951         * lib/readutmp.c: Likewise.
45952         * lib/readutmp.h: Likewise.
45953         * lib/realloc.c: Likewise.
45954         * lib/relocwrapper.c: Likewise.
45955         * lib/rename-dest-slash.c: Likewise.
45956         * lib/rename.c: Likewise.
45957         * lib/rmdir.c: Likewise.
45958         * lib/rpmatch.c: Likewise.
45959         * lib/safe-read.c: Likewise.
45960         * lib/safe-read.h: Likewise.
45961         * lib/safe-write.c: Likewise.
45962         * lib/safe-write.h: Likewise.
45963         * lib/same-inode.h: Likewise.
45964         * lib/same.c: Likewise.
45965         * lib/same.h: Likewise.
45966         * lib/save-cwd.c: Likewise.
45967         * lib/save-cwd.h: Likewise.
45968         * lib/savedir.c: Likewise.
45969         * lib/savedir.h: Likewise.
45970         * lib/savewd.c: Likewise.
45971         * lib/savewd.h: Likewise.
45972         * lib/search.in.h: Likewise.
45973         * lib/setenv.c: Likewise.
45974         * lib/setenv.h: Likewise.
45975         * lib/settime.c: Likewise.
45976         * lib/sh-quote.c: Likewise.
45977         * lib/sh-quote.h: Likewise.
45978         * lib/sig2str.c: Likewise.
45979         * lib/sig2str.h: Likewise.
45980         * lib/signal.in.h: Likewise.
45981         * lib/signbitd.c: Likewise.
45982         * lib/signbitf.c: Likewise.
45983         * lib/signbitl.c: Likewise.
45984         * lib/sigprocmask.c: Likewise.
45985         * lib/sincosl.c: Likewise.
45986         * lib/sleep.c: Likewise.
45987         * lib/sprintf.c: Likewise.
45988         * lib/sqrtl.c: Likewise.
45989         * lib/stat-time.h: Likewise.
45990         * lib/stdio--.h: Likewise.
45991         * lib/stdio-safer.h: Likewise.
45992         * lib/stdlib--.h: Likewise.
45993         * lib/stdlib-safer.h: Likewise.
45994         * lib/stdlib.in.h: Likewise.
45995         * lib/stpcpy.c: Likewise.
45996         * lib/stpncpy.c: Likewise.
45997         * lib/strchrnul.c: Likewise.
45998         * lib/strcspn.c: Likewise.
45999         * lib/strerror.c: Likewise.
46000         * lib/strftime.c: Likewise.
46001         * lib/strftime.h: Likewise.
46002         * lib/striconveh.c: Likewise.
46003         * lib/striconveh.h: Likewise.
46004         * lib/striconveha.c: Likewise.
46005         * lib/striconveha.h: Likewise.
46006         * lib/stripslash.c: Likewise.
46007         * lib/strnlen1.c: Likewise.
46008         * lib/strnlen1.h: Likewise.
46009         * lib/strtod.c: Likewise.
46010         * lib/strtoimax.c: Likewise.
46011         * lib/strtok_r.c: Likewise.
46012         * lib/strtol.c: Likewise.
46013         * lib/strtoll.c: Likewise.
46014         * lib/strtoul.c: Likewise.
46015         * lib/strtoull.c: Likewise.
46016         * lib/sysexits.in.h: Likewise.
46017         * lib/tempname.c: Likewise.
46018         * lib/tempname.h: Likewise.
46019         * lib/timespec.h: Likewise.
46020         * lib/tls.c: Likewise.
46021         * lib/tls.h: Likewise.
46022         * lib/tmpdir.c: Likewise.
46023         * lib/tmpdir.h: Likewise.
46024         * lib/tmpfile-safer.c: Likewise.
46025         * lib/tmpfile.c: Likewise.
46026         * lib/trigl.c: Likewise.
46027         * lib/trigl.h: Likewise.
46028         * lib/trim.c: Likewise.
46029         * lib/trim.h: Likewise.
46030         * lib/trunc.c: Likewise.
46031         * lib/truncf.c: Likewise.
46032         * lib/truncl.c: Likewise.
46033         * lib/tsearch.c: Likewise.
46034         * lib/unicodeio.c: Likewise.
46035         * lib/unicodeio.h: Likewise.
46036         * lib/unistd--.h: Likewise.
46037         * lib/unistd-safer.h: Likewise.
46038         * lib/unistdio/ulc-fprintf.c: Likewise.
46039         * lib/unistdio/ulc-vfprintf.c: Likewise.
46040         * lib/unlinkdir.c: Likewise.
46041         * lib/unlinkdir.h: Likewise.
46042         * lib/unlocked-io.h: Likewise.
46043         * lib/unsetenv.c: Likewise.
46044         * lib/userspec.c: Likewise.
46045         * lib/utime.c: Likewise.
46046         * lib/utimecmp.c: Likewise.
46047         * lib/utimecmp.h: Likewise.
46048         * lib/utimens.c: Likewise.
46049         * lib/verify.h: Likewise.
46050         * lib/verror.c: Likewise.
46051         * lib/verror.h: Likewise.
46052         * lib/version-etc-fsf.c: Likewise.
46053         * lib/version-etc.c: Likewise.
46054         * lib/version-etc.h: Likewise.
46055         * lib/vfprintf.c: Likewise.
46056         * lib/vprintf.c: Likewise.
46057         * lib/vsprintf.c: Likewise.
46058         * lib/w32spawn.h: Likewise.
46059         * lib/wait-process.c: Likewise.
46060         * lib/wait-process.h: Likewise.
46061         * lib/wcwidth.c: Likewise.
46062         * lib/write-any-file.c: Likewise.
46063         * lib/xalloc-die.c: Likewise.
46064         * lib/xalloc.h: Likewise.
46065         * lib/xasprintf.c: Likewise.
46066         * lib/xgetcwd.c: Likewise.
46067         * lib/xgetcwd.h: Likewise.
46068         * lib/xgetdomainname.c: Likewise.
46069         * lib/xgetdomainname.h: Likewise.
46070         * lib/xgethostname.c: Likewise.
46071         * lib/xmalloc.c: Likewise.
46072         * lib/xmalloca.c: Likewise.
46073         * lib/xmalloca.h: Likewise.
46074         * lib/xmemcoll.c: Likewise.
46075         * lib/xnanosleep.c: Likewise.
46076         * lib/xreadlink.c: Likewise.
46077         * lib/xreadlink.h: Likewise.
46078         * lib/xsetenv.c: Likewise.
46079         * lib/xsetenv.h: Likewise.
46080         * lib/xstriconv.c: Likewise.
46081         * lib/xstriconv.h: Likewise.
46082         * lib/xstrndup.c: Likewise.
46083         * lib/xstrndup.h: Likewise.
46084         * lib/xstrtod.c: Likewise.
46085         * lib/xstrtod.h: Likewise.
46086         * lib/xstrtol-error.c: Likewise.
46087         * lib/xstrtol.c: Likewise.
46088         * lib/xstrtol.h: Likewise.
46089         * lib/xtime.h: Likewise.
46090         * lib/xvasprintf.c: Likewise.
46091         * lib/xvasprintf.h: Likewise.
46092         * lib/yesno.c: Likewise.
46093         * lib/yesno.h: Likewise.
46094         * posix-modules: Likewise.
46095         * tests/test-alloca-opt.c: Likewise.
46096         * tests/test-arcfour.c: Likewise.
46097         * tests/test-arctwo.c: Likewise.
46098         * tests/test-argmatch.c: Likewise.
46099         * tests/test-argp-2.sh: Likewise.
46100         * tests/test-argp.c: Likewise.
46101         * tests/test-arpa_inet.c: Likewise.
46102         * tests/test-array_list.c: Likewise.
46103         * tests/test-array_oset.c: Likewise.
46104         * tests/test-atexit.c: Likewise.
46105         * tests/test-avltree_list.c: Likewise.
46106         * tests/test-avltree_oset.c: Likewise.
46107         * tests/test-avltreehash_list.c: Likewise.
46108         * tests/test-base64.c: Likewise.
46109         * tests/test-binary-io.c: Likewise.
46110         * tests/test-byteswap.c: Likewise.
46111         * tests/test-c-ctype.c: Likewise.
46112         * tests/test-c-strcasecmp.c: Likewise.
46113         * tests/test-c-strcasestr.c: Likewise.
46114         * tests/test-c-strncasecmp.c: Likewise.
46115         * tests/test-c-strstr.c: Likewise.
46116         * tests/test-canonicalize-lgpl.c: Likewise.
46117         * tests/test-canonicalize.c: Likewise.
46118         * tests/test-carray_list.c: Likewise.
46119         * tests/test-ceilf.c: Likewise.
46120         * tests/test-ceill.c: Likewise.
46121         * tests/test-count-one-bits.c: Likewise.
46122         * tests/test-crc.c: Likewise.
46123         * tests/test-dirname.c: Likewise.
46124         * tests/test-fbufmode.c: Likewise.
46125         * tests/test-fcntl.c: Likewise.
46126         * tests/test-fflush.c: Likewise.
46127         * tests/test-floorf.c: Likewise.
46128         * tests/test-floorl.c: Likewise.
46129         * tests/test-fopen.c: Likewise.
46130         * tests/test-fprintf-posix.c: Likewise.
46131         * tests/test-fprintf-posix.h: Likewise.
46132         * tests/test-fpurge.c: Likewise.
46133         * tests/test-freadable.c: Likewise.
46134         * tests/test-freadahead.c: Likewise.
46135         * tests/test-freading.c: Likewise.
46136         * tests/test-freopen.c: Likewise.
46137         * tests/test-frexp.c: Likewise.
46138         * tests/test-frexpl.c: Likewise.
46139         * tests/test-fseek.c: Likewise.
46140         * tests/test-fseeko.c: Likewise.
46141         * tests/test-fseterr.c: Likewise.
46142         * tests/test-fstrcmp.c: Likewise.
46143         * tests/test-ftell.c: Likewise.
46144         * tests/test-ftello.c: Likewise.
46145         * tests/test-fwritable.c: Likewise.
46146         * tests/test-fwriting.c: Likewise.
46147         * tests/test-getaddrinfo.c: Likewise.
46148         * tests/test-getpass.c: Likewise.
46149         * tests/test-gettimeofday.c: Likewise.
46150         * tests/test-hmac-md5.c: Likewise.
46151         * tests/test-hmac-sha1.c: Likewise.
46152         * tests/test-iconv.c: Likewise.
46153         * tests/test-iconvme.c: Likewise.
46154         * tests/test-inttypes.c: Likewise.
46155         * tests/test-isnan.c: Likewise.
46156         * tests/test-isnanf.c: Likewise.
46157         * tests/test-isnanl-nolibm.c: Likewise.
46158         * tests/test-isnanl.c: Likewise.
46159         * tests/test-isnanl.h: Likewise.
46160         * tests/test-ldexpl.c: Likewise.
46161         * tests/test-linked_list.c: Likewise.
46162         * tests/test-linkedhash_list.c: Likewise.
46163         * tests/test-locale.c: Likewise.
46164         * tests/test-localename.c: Likewise.
46165         * tests/test-lock.c: Likewise.
46166         * tests/test-lseek.c: Likewise.
46167         * tests/test-malloca.c: Likewise.
46168         * tests/test-math.c: Likewise.
46169         * tests/test-mbscasecmp.c: Likewise.
46170         * tests/test-mbscasestr1.c: Likewise.
46171         * tests/test-mbscasestr2.c: Likewise.
46172         * tests/test-mbscasestr3.c: Likewise.
46173         * tests/test-mbscasestr4.c: Likewise.
46174         * tests/test-mbschr.c: Likewise.
46175         * tests/test-mbscspn.c: Likewise.
46176         * tests/test-mbsncasecmp.c: Likewise.
46177         * tests/test-mbspbrk.c: Likewise.
46178         * tests/test-mbspcasecmp.c: Likewise.
46179         * tests/test-mbsrchr.c: Likewise.
46180         * tests/test-mbsspn.c: Likewise.
46181         * tests/test-mbsstr1.c: Likewise.
46182         * tests/test-mbsstr2.c: Likewise.
46183         * tests/test-mbsstr3.c: Likewise.
46184         * tests/test-md5.c: Likewise.
46185         * tests/test-memmem.c: Likewise.
46186         * tests/test-netinet_in.c: Likewise.
46187         * tests/test-open.c: Likewise.
46188         * tests/test-printf-frexp.c: Likewise.
46189         * tests/test-printf-frexpl.c: Likewise.
46190         * tests/test-printf-posix.c: Likewise.
46191         * tests/test-printf-posix.h: Likewise.
46192         * tests/test-rbtree_list.c: Likewise.
46193         * tests/test-rbtree_oset.c: Likewise.
46194         * tests/test-rbtreehash_list.c: Likewise.
46195         * tests/test-read-file.c: Likewise.
46196         * tests/test-rijndael.c: Likewise.
46197         * tests/test-search.c: Likewise.
46198         * tests/test-signbit.c: Likewise.
46199         * tests/test-sleep.c: Likewise.
46200         * tests/test-snprintf-posix.c: Likewise.
46201         * tests/test-snprintf-posix.h: Likewise.
46202         * tests/test-snprintf.c: Likewise.
46203         * tests/test-sprintf-posix.c: Likewise.
46204         * tests/test-sprintf-posix.h: Likewise.
46205         * tests/test-stat-time.c: Likewise.
46206         * tests/test-stdbool.c: Likewise.
46207         * tests/test-stdint.c: Likewise.
46208         * tests/test-stdio.c: Likewise.
46209         * tests/test-stdlib.c: Likewise.
46210         * tests/test-stpncpy.c: Likewise.
46211         * tests/test-strcasestr.c: Likewise.
46212         * tests/test-striconv.c: Likewise.
46213         * tests/test-striconveh.c: Likewise.
46214         * tests/test-striconveha.c: Likewise.
46215         * tests/test-string.c: Likewise.
46216         * tests/test-sys_select.c: Likewise.
46217         * tests/test-sys_socket.c: Likewise.
46218         * tests/test-sys_stat.c: Likewise.
46219         * tests/test-sys_time.c: Likewise.
46220         * tests/test-sysexits.c: Likewise.
46221         * tests/test-time.c: Likewise.
46222         * tests/test-tls.c: Likewise.
46223         * tests/test-trunc.c: Likewise.
46224         * tests/test-truncf.c: Likewise.
46225         * tests/test-truncl.c: Likewise.
46226         * tests/test-unistd.c: Likewise.
46227         * tests/test-vasnprintf-posix.c: Likewise.
46228         * tests/test-vasnprintf-posix2.c: Likewise.
46229         * tests/test-vasnprintf.c: Likewise.
46230         * tests/test-vasprintf-posix.c: Likewise.
46231         * tests/test-vasprintf.c: Likewise.
46232         * tests/test-verify.c: Likewise.
46233         * tests/test-vfprintf-posix.c: Likewise.
46234         * tests/test-vprintf-posix.c: Likewise.
46235         * tests/test-vsnprintf-posix.c: Likewise.
46236         * tests/test-vsnprintf.c: Likewise.
46237         * tests/test-vsprintf-posix.c: Likewise.
46238         * tests/test-wchar.c: Likewise.
46239         * tests/test-wctype.c: Likewise.
46240         * tests/test-wcwidth.c: Likewise.
46241         * tests/test-xstrtol.c: Likewise.
46242         * tests/test-xvasprintf.c: Likewise.
46243         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
46244         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
46245         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
46246         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
46247         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
46248         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
46249         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
46250         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
46251         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
46252         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
46253         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
46254         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
46255         * tests/uniname/test-uninames.c: Likewise.
46256         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
46257         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
46258         * tests/unistdio/test-u16-printf1.h: Likewise.
46259         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
46260         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
46261         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
46262         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
46263         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
46264         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
46265         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
46266         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
46267         * tests/unistdio/test-u32-printf1.h: Likewise.
46268         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
46269         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
46270         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
46271         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
46272         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
46273         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
46274         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
46275         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
46276         * tests/unistdio/test-u8-printf1.h: Likewise.
46277         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
46278         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
46279         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
46280         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
46281         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
46282         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
46283         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
46284         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
46285         * tests/unistdio/test-ulc-printf1.h: Likewise.
46286         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
46287         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
46288         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
46289         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
46290         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
46291         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
46292         * tests/uniwidth/test-u16-strwidth.c: Likewise.
46293         * tests/uniwidth/test-u16-width.c: Likewise.
46294         * tests/uniwidth/test-u32-strwidth.c: Likewise.
46295         * tests/uniwidth/test-u32-width.c: Likewise.
46296         * tests/uniwidth/test-u8-strwidth.c: Likewise.
46297         * tests/uniwidth/test-u8-width.c: Likewise.
46298         * tests/uniwidth/test-uc_width.c: Likewise.
46299         * config/srclist-update: Likewise.
46300         (fixlicense): Update to GPLv3+.
46301
46302         Change copyright notice from LGPLv2.1+ to LGPLv3+.
46303         * tests/test-tsearch.c: Change copyright notice.
46304
46305         Change copyright notice from LGPLv2.0+ to LGPLv3+.
46306         * lib/c-strcaseeq.h: Change copyright notice.
46307         * lib/streq.h: Likewise.
46308         * lib/uniconv.h: Likewise.
46309         * lib/uniconv/u-conv-from-enc.h: Likewise.
46310         * lib/uniconv/u-conv-to-enc.h: Likewise.
46311         * lib/uniconv/u-strconv-from-enc.h: Likewise.
46312         * lib/uniconv/u-strconv-to-enc.h: Likewise.
46313         * lib/uniconv/u16-conv-from-enc.c: Likewise.
46314         * lib/uniconv/u16-conv-to-enc.c: Likewise.
46315         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
46316         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
46317         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
46318         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
46319         * lib/uniconv/u32-conv-from-enc.c: Likewise.
46320         * lib/uniconv/u32-conv-to-enc.c: Likewise.
46321         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
46322         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
46323         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
46324         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
46325         * lib/uniconv/u8-conv-from-enc.c: Likewise.
46326         * lib/uniconv/u8-conv-to-enc.c: Likewise.
46327         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
46328         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
46329         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
46330         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
46331         * lib/uniname.h: Likewise.
46332         * lib/uniname/uniname.c: Likewise.
46333         * lib/unistdio.h: Likewise.
46334         * lib/unistdio/u-asnprintf.h: Likewise.
46335         * lib/unistdio/u-asprintf.h: Likewise.
46336         * lib/unistdio/u-printf-args.c: Likewise.
46337         * lib/unistdio/u-printf-args.h: Likewise.
46338         * lib/unistdio/u-printf-parse.h: Likewise.
46339         * lib/unistdio/u-snprintf.h: Likewise.
46340         * lib/unistdio/u-sprintf.h: Likewise.
46341         * lib/unistdio/u-vasprintf.h: Likewise.
46342         * lib/unistdio/u-vsnprintf.h: Likewise.
46343         * lib/unistdio/u-vsprintf.h: Likewise.
46344         * lib/unistdio/u16-asnprintf.c: Likewise.
46345         * lib/unistdio/u16-asprintf.c: Likewise.
46346         * lib/unistdio/u16-printf-parse.c: Likewise.
46347         * lib/unistdio/u16-snprintf.c: Likewise.
46348         * lib/unistdio/u16-sprintf.c: Likewise.
46349         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
46350         * lib/unistdio/u16-u16-asprintf.c: Likewise.
46351         * lib/unistdio/u16-u16-snprintf.c: Likewise.
46352         * lib/unistdio/u16-u16-sprintf.c: Likewise.
46353         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
46354         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
46355         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
46356         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
46357         * lib/unistdio/u16-vasnprintf.c: Likewise.
46358         * lib/unistdio/u16-vasprintf.c: Likewise.
46359         * lib/unistdio/u16-vsnprintf.c: Likewise.
46360         * lib/unistdio/u16-vsprintf.c: Likewise.
46361         * lib/unistdio/u32-asnprintf.c: Likewise.
46362         * lib/unistdio/u32-asprintf.c: Likewise.
46363         * lib/unistdio/u32-printf-parse.c: Likewise.
46364         * lib/unistdio/u32-snprintf.c: Likewise.
46365         * lib/unistdio/u32-sprintf.c: Likewise.
46366         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
46367         * lib/unistdio/u32-u32-asprintf.c: Likewise.
46368         * lib/unistdio/u32-u32-snprintf.c: Likewise.
46369         * lib/unistdio/u32-u32-sprintf.c: Likewise.
46370         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
46371         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
46372         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
46373         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
46374         * lib/unistdio/u32-vasnprintf.c: Likewise.
46375         * lib/unistdio/u32-vasprintf.c: Likewise.
46376         * lib/unistdio/u32-vsnprintf.c: Likewise.
46377         * lib/unistdio/u32-vsprintf.c: Likewise.
46378         * lib/unistdio/u8-asnprintf.c: Likewise.
46379         * lib/unistdio/u8-asprintf.c: Likewise.
46380         * lib/unistdio/u8-printf-parse.c: Likewise.
46381         * lib/unistdio/u8-snprintf.c: Likewise.
46382         * lib/unistdio/u8-sprintf.c: Likewise.
46383         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
46384         * lib/unistdio/u8-u8-asprintf.c: Likewise.
46385         * lib/unistdio/u8-u8-snprintf.c: Likewise.
46386         * lib/unistdio/u8-u8-sprintf.c: Likewise.
46387         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
46388         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
46389         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
46390         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
46391         * lib/unistdio/u8-vasnprintf.c: Likewise.
46392         * lib/unistdio/u8-vasprintf.c: Likewise.
46393         * lib/unistdio/u8-vsnprintf.c: Likewise.
46394         * lib/unistdio/u8-vsprintf.c: Likewise.
46395         * lib/unistdio/ulc-asnprintf.c: Likewise.
46396         * lib/unistdio/ulc-asprintf.c: Likewise.
46397         * lib/unistdio/ulc-printf-parse.c: Likewise.
46398         * lib/unistdio/ulc-snprintf.c: Likewise.
46399         * lib/unistdio/ulc-sprintf.c: Likewise.
46400         * lib/unistdio/ulc-vasnprintf.c: Likewise.
46401         * lib/unistdio/ulc-vasprintf.c: Likewise.
46402         * lib/unistdio/ulc-vsnprintf.c: Likewise.
46403         * lib/unistdio/ulc-vsprintf.c: Likewise.
46404         * lib/unistr.h: Likewise.
46405         * lib/unistr/u-cpy-alloc.h: Likewise.
46406         * lib/unistr/u-cpy.h: Likewise.
46407         * lib/unistr/u-endswith.h: Likewise.
46408         * lib/unistr/u-move.h: Likewise.
46409         * lib/unistr/u-set.h: Likewise.
46410         * lib/unistr/u-startswith.h: Likewise.
46411         * lib/unistr/u-stpcpy.h: Likewise.
46412         * lib/unistr/u-stpncpy.h: Likewise.
46413         * lib/unistr/u-strcat.h: Likewise.
46414         * lib/unistr/u-strcpy.h: Likewise.
46415         * lib/unistr/u-strcspn.h: Likewise.
46416         * lib/unistr/u-strdup.h: Likewise.
46417         * lib/unistr/u-strlen.h: Likewise.
46418         * lib/unistr/u-strncat.h: Likewise.
46419         * lib/unistr/u-strncpy.h: Likewise.
46420         * lib/unistr/u-strnlen.h: Likewise.
46421         * lib/unistr/u-strpbrk.h: Likewise.
46422         * lib/unistr/u-strspn.h: Likewise.
46423         * lib/unistr/u-strstr.h: Likewise.
46424         * lib/unistr/u-strtok.h: Likewise.
46425         * lib/unistr/u16-check.c: Likewise.
46426         * lib/unistr/u16-chr.c: Likewise.
46427         * lib/unistr/u16-cmp.c: Likewise.
46428         * lib/unistr/u16-cpy-alloc.c: Likewise.
46429         * lib/unistr/u16-cpy.c: Likewise.
46430         * lib/unistr/u16-endswith.c: Likewise.
46431         * lib/unistr/u16-mblen.c: Likewise.
46432         * lib/unistr/u16-mbsnlen.c: Likewise.
46433         * lib/unistr/u16-mbtouc-aux.c: Likewise.
46434         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
46435         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
46436         * lib/unistr/u16-mbtouc.c: Likewise.
46437         * lib/unistr/u16-mbtoucr.c: Likewise.
46438         * lib/unistr/u16-move.c: Likewise.
46439         * lib/unistr/u16-next.c: Likewise.
46440         * lib/unistr/u16-prev.c: Likewise.
46441         * lib/unistr/u16-set.c: Likewise.
46442         * lib/unistr/u16-startswith.c: Likewise.
46443         * lib/unistr/u16-stpcpy.c: Likewise.
46444         * lib/unistr/u16-stpncpy.c: Likewise.
46445         * lib/unistr/u16-strcat.c: Likewise.
46446         * lib/unistr/u16-strchr.c: Likewise.
46447         * lib/unistr/u16-strcmp.c: Likewise.
46448         * lib/unistr/u16-strcpy.c: Likewise.
46449         * lib/unistr/u16-strcspn.c: Likewise.
46450         * lib/unistr/u16-strdup.c: Likewise.
46451         * lib/unistr/u16-strlen.c: Likewise.
46452         * lib/unistr/u16-strmblen.c: Likewise.
46453         * lib/unistr/u16-strmbtouc.c: Likewise.
46454         * lib/unistr/u16-strncat.c: Likewise.
46455         * lib/unistr/u16-strncmp.c: Likewise.
46456         * lib/unistr/u16-strncpy.c: Likewise.
46457         * lib/unistr/u16-strnlen.c: Likewise.
46458         * lib/unistr/u16-strpbrk.c: Likewise.
46459         * lib/unistr/u16-strrchr.c: Likewise.
46460         * lib/unistr/u16-strspn.c: Likewise.
46461         * lib/unistr/u16-strstr.c: Likewise.
46462         * lib/unistr/u16-strtok.c: Likewise.
46463         * lib/unistr/u16-to-u32.c: Likewise.
46464         * lib/unistr/u16-to-u8.c: Likewise.
46465         * lib/unistr/u16-uctomb-aux.c: Likewise.
46466         * lib/unistr/u16-uctomb.c: Likewise.
46467         * lib/unistr/u32-check.c: Likewise.
46468         * lib/unistr/u32-chr.c: Likewise.
46469         * lib/unistr/u32-cmp.c: Likewise.
46470         * lib/unistr/u32-cpy-alloc.c: Likewise.
46471         * lib/unistr/u32-cpy.c: Likewise.
46472         * lib/unistr/u32-endswith.c: Likewise.
46473         * lib/unistr/u32-mblen.c: Likewise.
46474         * lib/unistr/u32-mbsnlen.c: Likewise.
46475         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
46476         * lib/unistr/u32-mbtouc.c: Likewise.
46477         * lib/unistr/u32-mbtoucr.c: Likewise.
46478         * lib/unistr/u32-move.c: Likewise.
46479         * lib/unistr/u32-next.c: Likewise.
46480         * lib/unistr/u32-prev.c: Likewise.
46481         * lib/unistr/u32-set.c: Likewise.
46482         * lib/unistr/u32-startswith.c: Likewise.
46483         * lib/unistr/u32-stpcpy.c: Likewise.
46484         * lib/unistr/u32-stpncpy.c: Likewise.
46485         * lib/unistr/u32-strcat.c: Likewise.
46486         * lib/unistr/u32-strchr.c: Likewise.
46487         * lib/unistr/u32-strcmp.c: Likewise.
46488         * lib/unistr/u32-strcpy.c: Likewise.
46489         * lib/unistr/u32-strcspn.c: Likewise.
46490         * lib/unistr/u32-strdup.c: Likewise.
46491         * lib/unistr/u32-strlen.c: Likewise.
46492         * lib/unistr/u32-strmblen.c: Likewise.
46493         * lib/unistr/u32-strmbtouc.c: Likewise.
46494         * lib/unistr/u32-strncat.c: Likewise.
46495         * lib/unistr/u32-strncmp.c: Likewise.
46496         * lib/unistr/u32-strncpy.c: Likewise.
46497         * lib/unistr/u32-strnlen.c: Likewise.
46498         * lib/unistr/u32-strpbrk.c: Likewise.
46499         * lib/unistr/u32-strrchr.c: Likewise.
46500         * lib/unistr/u32-strspn.c: Likewise.
46501         * lib/unistr/u32-strstr.c: Likewise.
46502         * lib/unistr/u32-strtok.c: Likewise.
46503         * lib/unistr/u32-to-u16.c: Likewise.
46504         * lib/unistr/u32-to-u8.c: Likewise.
46505         * lib/unistr/u32-uctomb.c: Likewise.
46506         * lib/unistr/u8-check.c: Likewise.
46507         * lib/unistr/u8-chr.c: Likewise.
46508         * lib/unistr/u8-cmp.c: Likewise.
46509         * lib/unistr/u8-cpy-alloc.c: Likewise.
46510         * lib/unistr/u8-cpy.c: Likewise.
46511         * lib/unistr/u8-endswith.c: Likewise.
46512         * lib/unistr/u8-mblen.c: Likewise.
46513         * lib/unistr/u8-mbsnlen.c: Likewise.
46514         * lib/unistr/u8-mbtouc-aux.c: Likewise.
46515         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
46516         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
46517         * lib/unistr/u8-mbtouc.c: Likewise.
46518         * lib/unistr/u8-mbtoucr.c: Likewise.
46519         * lib/unistr/u8-move.c: Likewise.
46520         * lib/unistr/u8-next.c: Likewise.
46521         * lib/unistr/u8-prev.c: Likewise.
46522         * lib/unistr/u8-set.c: Likewise.
46523         * lib/unistr/u8-startswith.c: Likewise.
46524         * lib/unistr/u8-stpcpy.c: Likewise.
46525         * lib/unistr/u8-stpncpy.c: Likewise.
46526         * lib/unistr/u8-strcat.c: Likewise.
46527         * lib/unistr/u8-strchr.c: Likewise.
46528         * lib/unistr/u8-strcmp.c: Likewise.
46529         * lib/unistr/u8-strcpy.c: Likewise.
46530         * lib/unistr/u8-strcspn.c: Likewise.
46531         * lib/unistr/u8-strdup.c: Likewise.
46532         * lib/unistr/u8-strlen.c: Likewise.
46533         * lib/unistr/u8-strmblen.c: Likewise.
46534         * lib/unistr/u8-strmbtouc.c: Likewise.
46535         * lib/unistr/u8-strncat.c: Likewise.
46536         * lib/unistr/u8-strncmp.c: Likewise.
46537         * lib/unistr/u8-strncpy.c: Likewise.
46538         * lib/unistr/u8-strnlen.c: Likewise.
46539         * lib/unistr/u8-strpbrk.c: Likewise.
46540         * lib/unistr/u8-strrchr.c: Likewise.
46541         * lib/unistr/u8-strspn.c: Likewise.
46542         * lib/unistr/u8-strstr.c: Likewise.
46543         * lib/unistr/u8-strtok.c: Likewise.
46544         * lib/unistr/u8-to-u16.c: Likewise.
46545         * lib/unistr/u8-to-u32.c: Likewise.
46546         * lib/unistr/u8-uctomb-aux.c: Likewise.
46547         * lib/unistr/u8-uctomb.c: Likewise.
46548         * lib/unitypes.h: Likewise.
46549         * lib/uniwidth.h: Likewise.
46550         * lib/uniwidth/cjk.h: Likewise.
46551         * lib/uniwidth/u16-strwidth.c: Likewise.
46552         * lib/uniwidth/u16-width.c: Likewise.
46553         * lib/uniwidth/u32-strwidth.c: Likewise.
46554         * lib/uniwidth/u32-width.c: Likewise.
46555         * lib/uniwidth/u8-strwidth.c: Likewise.
46556         * lib/uniwidth/u8-width.c: Likewise.
46557         * lib/uniwidth/width.c: Likewise.
46558
46559 2007-10-07  Bruno Haible  <bruno@clisp.org>
46560
46561         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
46562         The file is still under LGPL (see modules/inttypes).
46563
46564 2007-10-06  Bruno Haible  <bruno@clisp.org>
46565
46566         * modules/trunc (Dependencies): Add 'extensions'.
46567         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
46568         Reported by Ben Pfaff <blp@gnu.org>.
46569
46570 2007-10-06  Bruno Haible  <bruno@clisp.org>
46571
46572         * modules/freopen-tests: New file.
46573         * tests/test-freopen.c: New file.
46574
46575         * modules/fopen-tests: New file.
46576         * tests/test-fopen.c: New file.
46577
46578         * modules/fopen: New file.
46579         * lib/fopen.c: New file.
46580         * m4/fopen.m4: New file.
46581         * modules/freopen: New file.
46582         * lib/freopen.c: New file.
46583         * m4/freopen.m4: New file.
46584         * lib/stdio.in.h (fopen, freopen): New declarations.
46585         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
46586         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
46587         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
46588         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
46589         * doc/functions/fopen.texi: Mention the 'fopen' module.
46590         * doc/functions/freopen.texi: Mention the 'freopen' module.
46591
46592 2007-10-06  Bruno Haible  <bruno@clisp.org>
46593
46594         * modules/open-tests: New file.
46595         * tests/test-open.c: New file.
46596
46597         * modules/open: New file.
46598         * lib/open.c: New file.
46599         * m4/open.m4: New file.
46600         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
46601         lib/open.c does.
46602         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
46603         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
46604         macros.
46605         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
46606         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
46607         REPLACE_OPEN.
46608         * doc/functions/open.texi: Mention the 'open' module.
46609
46610 2007-10-04  Bruno Haible  <bruno@clisp.org>
46611
46612         * modules/ceill-tests: New file.
46613         * tests/test-ceill.c: New file.
46614
46615         * modules/ceill: New file.
46616         * lib/ceill.c: Replace entire file.
46617         * m4/ceill.m4: New file.
46618         * lib/math.in.h (ceill): Replace declaration.
46619         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
46620         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
46621         * doc/functions/ceill.texi: Mention the 'ceill' module.
46622         * modules/mathl (Files): Remove lib/ceill.c.
46623         (Depends-on): Add ceill.
46624
46625 2007-10-04  Bruno Haible  <bruno@clisp.org>
46626
46627         * modules/ceilf-tests: New file.
46628         * tests/test-ceilf.c: New file.
46629
46630         * modules/ceilf: New file.
46631         * lib/ceil.c: New file.
46632         * lib/ceilf.c: New file.
46633         * m4/ceilf.m4: New file.
46634         * lib/math.in.h (ceilf): New declaration.
46635         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
46636         HAVE_DECL_CEILF.
46637         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
46638         HAVE_DECL_CEILF.
46639         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
46640
46641 2007-10-04  Bruno Haible  <bruno@clisp.org>
46642
46643         * modules/floorl-tests: New file.
46644         * tests/test-floorl.c: New file.
46645
46646         * modules/floorl: New file.
46647         * lib/floorl.c: Replace entire file.
46648         * m4/floorl.m4: New file.
46649         * lib/math.in.h (floorl): Replace declaration.
46650         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
46651         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
46652         * doc/functions/floorl.texi: Mention the 'floorl' module.
46653         * modules/mathl (Files): Remove lib/floorl.c.
46654         (Depends-on): Add floorl.
46655
46656 2007-10-04  Bruno Haible  <bruno@clisp.org>
46657
46658         * modules/floorf-tests: New file.
46659         * tests/test-floorf.c: New file.
46660
46661         * modules/floorf: New file.
46662         * lib/floor.c: New file.
46663         * lib/floorf.c: New file.
46664         * m4/floorf.m4: New file.
46665         * lib/math.in.h (floorf): New declaration.
46666         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
46667         HAVE_DECL_FLOORF.
46668         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
46669         HAVE_DECL_FLOORF.
46670         * doc/functions/floorf.texi: Mention the 'floorf' module.
46671
46672 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
46673             Bruno Haible  <bruno@clisp.org>
46674
46675         Advertise for the Git server instead of the CVS server.
46676         * doc/gnulib-intro.texi (Steady Development): Mention the Git
46677         repository instead of the CVS one.
46678         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
46679         about all VCS systems generically.
46680         * doc/gnulib.texi (Introduction): Capitalize `Git'.
46681
46682 2007-10-04  Bruno Haible  <bruno@clisp.org>
46683
46684         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
46685         means.
46686         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
46687
46688 2007-10-04  Bruno Haible  <bruno@clisp.org>
46689
46690         * modules/truncl-tests: New file.
46691         * tests/test-truncl.c: New file.
46692
46693         * modules/truncl: New file.
46694         * lib/truncl.c: New file.
46695         * m4/truncl.m4: New file.
46696         * lib/math.in.h (truncl): New declaration.
46697         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
46698         HAVE_DECL_TRUNCL.
46699         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
46700         HAVE_DECL_TRUNCL.
46701         * doc/functions/truncl.texi: Mention the 'truncl' module.
46702
46703 2007-10-04  Bruno Haible  <bruno@clisp.org>
46704
46705         * modules/truncf-tests: New file.
46706         * tests/test-truncf.c: New file.
46707
46708         * modules/truncf: New file.
46709         * lib/trunc.c: Make paramerizable through USE_* macros.
46710         * lib/truncf.c: New file.
46711         * m4/truncf.m4: New file.
46712         * lib/math.in.h (truncf): New declaration.
46713         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
46714         HAVE_DECL_TRUNCF.
46715         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
46716         HAVE_DECL_TRUNCF.
46717         * doc/functions/truncf.texi: Mention the 'truncf' module.
46718
46719 2007-10-03  Bruno Haible  <bruno@clisp.org>
46720
46721         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
46722         augmentation also for tests modules.
46723         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
46724         * modules/atexit-tests (Makefile.am): Likewise.
46725         * modules/binary-io-tests (Makefile.am): Likewise.
46726         * modules/c-strcase-tests (Makefile.am): Likewise.
46727         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
46728         * modules/canonicalize-tests (Makefile.am): Likewise.
46729         * modules/closein-tests (Makefile.am): Likewise.
46730         * modules/fprintf-posix-tests (Makefile.am): Likewise.
46731         * modules/freadahead-tests (Makefile.am): Likewise.
46732         * modules/fseek-tests (Makefile.am): Likewise.
46733         * modules/fseeko-tests (Makefile.am): Likewise.
46734         * modules/ftell-tests (Makefile.am): Likewise.
46735         * modules/ftello-tests (Makefile.am): Likewise.
46736         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
46737         * modules/isnanl-tests (Makefile.am): Likewise.
46738         * modules/lseek-tests (Makefile.am): Likewise.
46739         * modules/mbscasecmp-tests (Makefile.am): Likewise.
46740         * modules/mbscasestr-tests (Makefile.am): Likewise.
46741         * modules/mbschr-tests (Makefile.am): Likewise.
46742         * modules/mbscspn-tests (Makefile.am): Likewise.
46743         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
46744         * modules/mbspbrk-tests (Makefile.am): Likewise.
46745         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
46746         * modules/mbsrchr-tests (Makefile.am): Likewise.
46747         * modules/mbsspn-tests (Makefile.am): Likewise.
46748         * modules/mbsstr-tests (Makefile.am): Likewise.
46749         * modules/printf-posix-tests (Makefile.am): Likewise.
46750         * modules/snprintf-posix-tests (Makefile.am): Likewise.
46751         * modules/sprintf-posix-tests (Makefile.am): Likewise.
46752         * modules/tsearch-tests (Makefile.am): Likewise.
46753         * modules/uniname/uniname-tests (Makefile.am): Likewise.
46754         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
46755         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
46756         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
46757         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
46758         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
46759         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
46760         * modules/vprintf-posix-tests (Makefile.am): Likewise.
46761         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
46762         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
46763         * modules/xstrtoimax-tests (Makefile.am): Likewise.
46764         * modules/xstrtol-tests (Makefile.am): Likewise.
46765         * modules/xstrtoumax-tests (Makefile.am): Likewise.
46766         * modules/yesno-tests (Makefile.am): Likewise.
46767
46768 2007-10-03  Bruno Haible  <bruno@clisp.org>
46769
46770         * modules/trunc-tests: New file.
46771         * tests/test-trunc.c: New file.
46772
46773         * modules/trunc: New file.
46774         * lib/trunc.c: New file.
46775         * m4/trunc.m4: New file.
46776         * lib/math.in.h (trunc): New declaration.
46777         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
46778         HAVE_DECL_TRUNC.
46779         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
46780         HAVE_DECL_TRUNC.
46781         * doc/functions/trunc.texi: Mention the 'trunc' module.
46782
46783 2007-10-03  Bruno Haible  <bruno@clisp.org>
46784
46785         * tests/test-fpending.c: New file, mostly copied
46786         from coreutils/lib/t-fpending.c.
46787         * modules/fpending-tests: New file.
46788
46789 2007-10-03  Bruno Haible  <bruno@clisp.org>
46790
46791         Port the stdio extensions to QNX (untested).
46792         * lib/fseterr.c (fseterr): Add support for QNX.
46793         * lib/fbufmode.c (fbufmode): Likewise.
46794         * lib/freadable.c (freadable): Likewise.
46795         * lib/fwritable.c (fwritable): Likewise.
46796         * lib/freading.c (freading): Likewise.
46797         * lib/fwriting.c (fwriting): Likewise.
46798         * lib/freadahead.c (freadahed): Likewise.
46799         * lib/fpurge.c (fpurge): Likewise.
46800         * lib/fseeko.c (rpl_fseeko): Likewise.
46801
46802 2007-10-03  Bruno Haible  <bruno@clisp.org>
46803             Jim Meyering  <jim@meyering.net>
46804             Eric Blake  <ebb9@byu.net>
46805
46806         * doc/relocatable.texi: Use @command instead of @program.
46807
46808 2007-10-02  Jim Meyering  <jim@meyering.net>
46809
46810         Perform one more "_.h" -> ".in.h" substitution.
46811         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
46812         instead of unistd_.h here, too.
46813
46814 2007-10-01  Bruno Haible  <bruno@clisp.org>
46815
46816         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
46817         Needed for the alloca-opt module.
46818
46819 2007-09-30  Bruno Haible  <bruno@clisp.org>
46820
46821         * lib/alloca.in.h: Renamed from lib/alloca_.h.
46822         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
46823         alloca_.h.
46824         * lib/argz.in.h: Renamed from lib/argz_.h.
46825         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
46826         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
46827         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
46828         byteswap_.h.
46829         * lib/dirent.in.h: Renamed from lib/dirent_.h.
46830         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
46831         dirent_.h.
46832         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
46833         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
46834         fcntl_.h.
46835         * lib/float.in.h: Renamed from lib/float_.h.
46836         * modules/float (Files, Makefile.am): Use float.in.h instead of
46837         float_.h.
46838         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
46839         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
46840         fnmatch_.h.
46841         * lib/getopt.in.h: Renamed from lib/getopt_.h.
46842         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
46843         getopt_.h.
46844         * lib/glob.in.h: Renamed from lib/glob_.h.
46845         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
46846         * lib/iconv.in.h: Renamed from lib/iconv_.h.
46847         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
46848         iconv_.h.
46849         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
46850         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
46851         inttypes_.h.
46852         * lib/locale.in.h: Renamed from lib/locale_.h.
46853         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
46854         locale_.h.
46855         * lib/math.in.h: Renamed from lib/math_.h.
46856         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
46857         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
46858         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
46859         of netinet_in_.h. Add dependency.
46860         * lib/poll.in.h: Renamed from lib/poll_.h.
46861         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
46862         * lib/search.in.h: Renamed from lib/search_.h.
46863         * modules/search (Files, Makefile.am): Use search.in.h instead of
46864         search_.h.
46865         * lib/signal.in.h: Renamed from lib/signal_.h.
46866         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
46867         _signal.h.
46868         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
46869         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
46870         stdbool_.h.
46871         * lib/stdint.in.h: Renamed from lib/stdint_.h.
46872         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
46873         stdint_.h.
46874         * lib/stdio.in.h: Renamed from lib/stdio_.h.
46875         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
46876         stdio_.h.
46877         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
46878         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
46879         stdlib_.h.
46880         * lib/string.in.h: Renamed from lib/string_.h.
46881         * modules/string (Files, Makefile.am): Use string.in.h instead of
46882         string_.h.
46883         * doc/gnulib-tool.texi (Initial import): Update.
46884         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
46885         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
46886         of sys_select_.h. Add dependency.
46887         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
46888         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
46889         of sys_socket_.h.
46890         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
46891         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
46892         sys_stat_.h.
46893         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
46894         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
46895         sys_time_.h.
46896         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
46897         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
46898         sysexits_.h.
46899         * lib/time.in.h: Renamed from lib/time_.h.
46900         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
46901         * lib/unistd.in.h: Renamed from lib/unistd_.h.
46902         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
46903         unistd_.h.
46904         * lib/wchar.in.h: Renamed from lib/wchar_.h.
46905         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
46906         wchar_.h.
46907         * lib/wctype.in.h: Renamed from lib/wctype_.h.
46908         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
46909         wctype_.h.
46910         * build-aux/bootstrap (slurp): Update.
46911         * lib/.cppi-disable: Update.
46912
46913 2007-09-30  Bruno Haible  <bruno@clisp.org>
46914
46915         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
46916         Needed on BeOS.
46917
46918 2007-09-30  Bruno Haible  <bruno@clisp.org>
46919
46920         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
46921
46922 2007-09-29  Bruno Haible  <bruno@clisp.org>
46923
46924         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
46925
46926 2007-09-29  Bruno Haible  <bruno@clisp.org>
46927
46928         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
46929         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
46930         * build-aux/install-reloc: Compile also areadlink.c.
46931         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
46932
46933 2007-09-29  Bruno Haible  <bruno@clisp.org>
46934
46935         * gnulib-tool (func_emit_initmacro_done): Indentation.
46936
46937 2007-09-29  Bruno Haible  <bruno@clisp.org>
46938
46939         * README: Add CVS checkout update instructions.
46940         Info from Bob Proulx <bob@proulx.com>.
46941
46942 2007-09-28  Eric Blake  <ebb9@byu.net>
46943
46944         Provide move-if-change.
46945         * build-aux/move-if-change: New file, based on best practice
46946         rather than any canonical upstream location.
46947
46948 2007-09-28  Jim Meyering  <jim@meyering.net>
46949
46950         Fix canonicalize loop-detection corner case.
46951         Do not attempt to stat the symlink values stored via seen_triple.
46952         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
46953         on linux-2.6.18, (but not 2.6.22).
46954         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
46955         triple_compare.  The former compares dev,ino,filename, while the latter
46956         would actually stat dirname(filename) when dev and ino were equal.
46957         * lib/hash-triple.c: Install <string.h>.
46958         (STREQ): Define.
46959         (triple_compare_ino_str): New function.
46960         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
46961
46962 2007-09-28  Eric Blake  <ebb9@byu.net>
46963
46964         Enforce that AC_REPLACE_FUNCS files exist.
46965         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
46966         override check for typos.
46967
46968         Fix test-closein on Solaris 10.
46969         * tests/test-closein.c (main): Don't assume stdin can be inherited
46970         closed on all systems.
46971         * tests/test-closein.sh: Likewise.
46972         Reported by Piotr Tarnowski.
46973
46974 2007-09-28  Jim Meyering  <jim@meyering.net>
46975
46976         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
46977
46978 2007-09-27  Jim Meyering  <jim@meyering.net>
46979
46980         canonicalize: Avoid a false-positive cycle failure.
46981         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
46982         Sort.  Remove cycle-check.
46983         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
46984         not cycle-check.h.
46985         (seen_triple): New function.
46986         (canonicalize_filename_mode): Use it instead of cycle-check.
46987         * tests/test-canonicalize.c: Add a test for this bug.
46988         * tests/test-canonicalize.sh: Set up and run the test.
46989
46990         New module, file-set, from coreutils.
46991         * modules/file-set: Define it.
46992         * lib/file-set.c, lib/file-set.h: Implement.
46993
46994         New module, hash-triple, from coreutils.
46995         * modules/hash-triple: Define it.
46996         * lib/hash-triple.c, lib/hash-triple.h: Implement.
46997
46998 2007-09-25  Eric Blake  <ebb9@byu.net>
46999
47000         Fix strerror on Interix.
47001         * lib/string_.h (strerror): Declare replacement.
47002         * doc/functions/strerror.texi (strerror): Document the Interix
47003         shortcoming.
47004         * modules/string (Makefile.am): Support new hooks.
47005         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
47006         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
47007         gl_FUNC_STRERROR_SEPARATE.
47008         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
47009         * lib/strerror.c (rpl_strerror): Provide replacement.
47010         * modules/strerror (Depends-on): Add string.
47011         (configure.ac): Detect use of module.
47012         * tests/test-strerror.c: New file.
47013         * modules/strerror-tests: New test module.
47014         * modules/argp (Depends-on): Add strerror.
47015         * modules/error (Depends-on): Likewise.
47016         Reported by Martin Koeppe.
47017
47018 2007-09-24  Bruno Haible  <bruno@clisp.org>
47019
47020         * README: Update git instructions.
47021
47022 2007-09-24  Eric Blake  <ebb9@byu.net>
47023
47024         Revert fpending breakage from 2007-09-08.
47025         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
47026         __fpending.c.
47027
47028 2007-09-24  Jim Meyering  <jim@meyering.net>
47029
47030         filenamecat.c: Add a test.
47031         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
47032         showing how the function works when DIR is the empty string.
47033
47034 2007-09-21  Simon Josefsson  <simon@josefsson.org>
47035
47036         * tests/test-canonicalize.sh: Turn on executable bit.
47037
47038 2007-09-19  Eric Blake  <ebb9@byu.net>
47039
47040         * README: Update CVS instructions.
47041
47042 2007-09-18  Bruno Haible  <bruno@clisp.org>
47043
47044         * modules/areadlink: New file.
47045         * lib/areadlink.h (areadlink): New declaration.
47046         * lib/areadlink.c: New file, based on lib/xreadlink.c.
47047
47048 2007-09-17  Jim Meyering  <jim@meyering.net>
47049
47050         * lib/savewd.c (ESTALE) [!defined]: Define.
47051         Reported to be required on Interix by Martin Koeppe.
47052
47053 2007-09-17  Bruno Haible  <bruno@clisp.org>
47054
47055         * gnulib-tool (func_version): Use $version.
47056
47057 2007-09-16  Bruno Haible  <bruno@clisp.org>
47058
47059         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
47060         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
47061         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
47062         Reported by Greg Schafer <gschafer@zip.com.au>.
47063
47064 2007-09-15  Bruno Haible  <bruno@clisp.org>
47065
47066         * gnulib-tool (sed): Try a little harder to make bash understand the
47067         alias.
47068         Reported by Bruce Korb <bruce.korb@gmail.com>.
47069
47070 2007-09-13  Eric Blake  <ebb9@byu.net>
47071
47072         * ChangeLog: Remove conflict markers.
47073
47074 2007-09-13  Simon Josefsson  <simon@josefsson.org>
47075
47076         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
47077         Reported by Bruno Haible <bruno@clisp.org>.
47078
47079 2007-09-12  Bruno Haible  <bruno@clisp.org>
47080
47081         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
47082         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
47083         is not defined.
47084
47085 2007-09-12  Eric Blake  <ebb9@byu.net>
47086
47087         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
47088         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
47089         Autoconf definition.
47090         * modules/euidaccess (Depends-on): Add extensions, for
47091         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
47092         * modules/fnmatch (Depends-on): Likewise.
47093         * modules/getaddrinfo (Depends-on): Likewise.
47094         * modules/getdelim (Depends-on): Likewise.
47095         * modules/getline (Depends-on): Likewise.
47096         * modules/getsubopt (Depends-on): Likewise.
47097         * modules/gettext (Depends-on): Likewise.
47098         * modules/group-member (Depends-on): Likewise.
47099         * modules/mbchar (Depends-on): Likewise.
47100         * modules/memmem (Depends-on): Likewise.
47101         * modules/mempcpy (Depends-on): Likewise.
47102         * modules/memrchr (Depends-on): Likewise.
47103         * modules/pagealign_alloc (Depends-on): Likewise.
47104         * modules/readutmp (Depends-on): Likewise.
47105         * modules/stpcpy (Depends-on): Likewise.
47106         * modules/stpncpy (Depends-on): Likewise.
47107         * modules/strchrnul (Depends-on): Likewise.
47108         * modules/strndup (Depends-on): Likewise.
47109         * modules/strsep (Depends-on): Likewise.
47110         * modules/strverscmp (Depends-on): Likewise.
47111         * modules/vasprintf (Depends-on): Likewise.
47112         * modules/wcwidth (Depends-on): Likewise.
47113         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
47114         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
47115         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
47116         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
47117         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
47118         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
47119         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
47120         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
47121         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
47122         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
47123         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
47124         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
47125         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
47126         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
47127         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
47128         * m4/readutmp.m4 (gl_READUTMP): Likewise.
47129         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
47130         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
47131         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
47132         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
47133         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
47134         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
47135         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
47136         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
47137         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
47138         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
47139         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
47140         so that lock.m4 can be used in gettext without extensions module.
47141
47142 2007-09-11  Bruno Haible  <bruno@clisp.org>
47143
47144         * m4/isc-posix.m4: Remove file.
47145         Suggested by Eric Blake.
47146
47147 2007-09-11  Eric Blake  <ebb9@byu.net>
47148
47149         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
47150
47151 2007-09-10  Bruno Haible  <bruno@clisp.org>
47152
47153         * posix-modules: Fix typo in error message.
47154         Reported by Matt <mkraai@beckman.com>.
47155
47156 2007-09-09  Bruno Haible  <bruno@clisp.org>
47157
47158         * doc/functions/getdelim.texi: Update list of platforms lacking the
47159         function.
47160         * doc/functions/getline.texi: Likewise.
47161
47162 2007-09-09  Jim Meyering  <jim@meyering.net>
47163
47164         * lib/hash.c (hash_initialize): Detect calloc failure.
47165         Reported by Bruno Haible.
47166
47167 2007-09-09  Bruno Haible  <bruno@clisp.org>
47168
47169         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
47170         malloc or realloc fails.
47171
47172 2007-09-09  Bruno Haible  <bruno@clisp.org>
47173
47174         * modules/getcwd (Depends-on): Add malloc-posix.
47175         * modules/glob (Depends-on): Likewise.
47176         * modules/putenv (Depends-on): Likewise.
47177         * modules/strdup (Depends-on): Likewise.
47178         * modules/getdelim (Depends-on): Add realloc-posix.
47179         * modules/read-file (Depends-on): Likewise.
47180
47181 2007-09-09  Bruno Haible  <bruno@clisp.org>
47182
47183         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
47184         (gl_FUNC_MALLOC_POSIX): Require it.
47185         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
47186         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
47187         * modules/realloc (Files): Add m4/malloc.m4.
47188         * modules/calloc (Files): Likewise.
47189
47190 2007-09-09  Bruno Haible  <bruno@clisp.org>
47191
47192         * modules/malloc-posix: New file.
47193         * modules/malloc (Depends-on): Add malloc-posix.
47194         * lib/malloc.c: Include errno.h.
47195         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
47196         and a POSIX-compatible malloc into a single function. Set ENOMEM
47197         when returning NULL.
47198         * m4/malloc.m4: New file.
47199         * doc/functions/malloc.texi: Mention the malloc-posix module.
47200         * lib/stdlib_.h (malloc): New declaration.
47201         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
47202         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
47203         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
47204         and HAVE_MALLOC_POSIX.
47205
47206 2007-09-09  Bruno Haible  <bruno@clisp.org>
47207
47208         * modules/realloc-posix: New file.
47209         * modules/realloc (Depends-on): Add realloc-posix.
47210         * lib/realloc.c: Include errno.h.
47211         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
47212         and a POSIX-compatible realloc into a single function. Set ENOMEM
47213         when returning NULL.
47214         * m4/realloc.m4: New file.
47215         * doc/functions/realloc.texi: Mention the realloc-posix module.
47216         * lib/stdlib_.h (realloc): New declaration.
47217         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
47218         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
47219         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
47220         and HAVE_REALLOC_POSIX.
47221
47222 2007-09-09  Bruno Haible  <bruno@clisp.org>
47223
47224         * modules/calloc-posix: New file.
47225         * modules/calloc (Depends-on): Add calloc-posix.
47226         * lib/calloc.c: Include errno.h.
47227         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
47228         and a POSIX-compatible calloc into a single function. Set ENOMEM
47229         when returning NULL.
47230         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
47231         * doc/functions/calloc.texi: Mention the calloc-posix module.
47232         * lib/stdlib_.h (calloc): New declaration.
47233         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
47234         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
47235         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
47236         and HAVE_CALLOC_POSIX.
47237
47238 2007-09-09  Bruno Haible  <bruno@clisp.org>
47239
47240         Allow for modules to show an arbitrary notice.
47241         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
47242         * gnulib-tool: New option --extract-notice.
47243         (func_usage): Document it.
47244         (sed_extract_prog): Update.
47245         (func_get_notice): New function.
47246         (func_modules_notice): New function.
47247         (func_import, func_create_testdir): Invoke it.
47248         Suggested by Jim Meyering.
47249
47250 2007-09-09  Bruno Haible  <bruno@clisp.org>
47251
47252         * gnulib-tool: New options --verbose, --quiet.
47253         (func_usage): Document them.
47254         (verbose): New variable.
47255         (func_execute_command): New function.
47256         (func_import): Don't show the module list and the file list if
47257         $verbose < 0.
47258         (func_create_testdir): Likewise. Use func_execute_command.
47259         (func_create_megatestdir): Use func_execute_command.
47260
47261 2007-09-08  Bruno Haible  <bruno@clisp.org>
47262
47263         * gnulib-tool (func_import): Prefer rsync over wget when available,
47264         for fetching the PO files.
47265
47266 2007-09-08  Bruno Haible  <bruno@clisp.org>
47267
47268         * posix-modules: New file. Portions copied from gnulib-tool.
47269         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
47270
47271 2007-09-08  Jim Meyering  <jim@meyering.net>
47272
47273         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
47274         * lib/fpending.h: Rename from __fpending.h.
47275         * lib/fpending.c: Rename from __fpending.c.
47276         Include "fpending.h", not "__fpending.h".
47277         * lib/__fpending.h, lib/__fpending.c: Remove files.
47278         * modules/fpending (Files): Reflect new file names.
47279         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
47280
47281 2007-09-08  Bruno Haible  <bruno@clisp.org>
47282
47283         * m4/inttypes-h.m4: Remove stub file.
47284
47285 2007-09-07  Simon Josefsson  <simon@josefsson.org>
47286
47287         * doc/headers/stdint.texi: Discuss #include_next issue.
47288
47289 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
47290
47291         * build-aux/bootstrap: Remove obsolete comment about wget --help.
47292
47293 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47294
47295         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
47296         in variable name.
47297
47298 2007-09-03  Jim Meyering  <jim@meyering.net>
47299
47300         New module: git-version-gen.
47301         * modules/git-version-gen: New file.
47302
47303         Import changes from coreutils for bootstrap script.
47304
47305         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
47306
47307         bootstrap: uses rsync to download the .po files
47308         * build-aux/bootstrap (po_download_command_format): New global.
47309         (download_po_files): Use rsync.
47310         (update_po_files): Don't remove .po files after download,
47311         so future rsync runs can take advantage of the copies.
47312
47313         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
47314
47315         Solve the unnecessary-.po-file-regeneration problem once and for all.
47316         * build-aux/bootstrap (download_po_files): New function, renamed from
47317         get_translations.  Now, downloads, but doesn't update LINGUAS.
47318         (update_po_files): New function.
47319
47320         bootstrap: Ignore more.
47321         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
47322         uniwidth to e.g., lib/.gitignore.
47323         (slurp): Handle the sys_stat_.h -> sys mapping, too.
47324
47325         * build-aux/bootstrap: New setting: vc_ignore.
47326         (insert_sorted_if_absent): Create $file if absent.
47327         Adapt to new, possibly empty, list: $vc_ignore.
47328
47329         bootstrap: generate more ignorable names
47330         * build-aux/bootstrap (slurp): When generating ignorable names,
47331         also map .sin to .sed, .gperf to .c, and .y to .c.
47332
47333 2007-09-03  Jim Meyering  <jim@meyering.net>
47334
47335         * build-aux/git-version-gen: New file, from coreutils.  For details, see
47336         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
47337
47338 2007-09-02  Bruno Haible  <bruno@clisp.org>
47339
47340         Fix mis-recognition of 'mcs' on QNX 6.
47341         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
47342         output contains the string "Mono".
47343         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
47344         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
47345
47346 2007-09-01  Bruno Haible  <bruno@clisp.org>
47347
47348         Fix collision between uniwidth/* and linebreak modules.
47349         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
47350         u32_width): Remove declarations.
47351         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
47352         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
47353         streq3, streq2, streq1, streq0): Remove functions.
47354         (STREQ): Remove macro.
47355         (is_cjk_encoding): Remove function.
47356         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
47357         (uc_width, u8_width, u16_width, u32_width): Remove functions.
47358         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
47359         * NEWS: Document the change.
47360
47361 2007-09-01  Bruno Haible  <bruno@clisp.org>
47362
47363         * lib/streq.h: Add double-inclusion guard.
47364
47365 2007-09-01  Karl Berry  <karl@gnu.org>
47366
47367         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
47368
47369 2007-08-28  Jim Meyering  <jim@meyering.net>
47370
47371         Rename mreadlink_with_size to areadlink_with_size.
47372         * NEWS: Document the change.
47373         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
47374         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
47375         * lib/mreadlink.h: Rename this to...
47376         * lib/areadlink.h: ...this.
47377         * modules/mreadlink-with-size: Rename this to...
47378         * modules/areadlink-with-size: ...this.
47379         * lib/canonicalize.c: Reflect the renaming.
47380         * modules/canonicalize: Likewise.
47381
47382 2007-08-26  Bruno Haible  <bruno@clisp.org>
47383
47384         * gnulib-tool (func_import): When deciding which files to remove,
47385         consider also dangling symbolic links.
47386         Reported by Eric Blake.
47387
47388 2007-08-26  Bruno Haible  <bruno@clisp.org>
47389
47390         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
47391
47392 2007-08-23  Simon Josefsson  <simon@josefsson.org>
47393
47394         * lib/readline.c: Don't include getline.h, the prototype is now
47395         found in stdio.h.
47396
47397 2007-08-23  Jim Meyering  <jim@meyering.net>
47398
47399         Getdelim touchup.
47400         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
47401         around the funlockfile call, since funlockfile never sets errno.
47402         Don't set errno upon failed realloc.
47403
47404 2007-08-22  Eric Blake  <ebb9@byu.net>
47405
47406         Getline touchups.
47407         * lib/getdelim.c (getdelim): Revert regression that required *n to
47408         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
47409         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
47410         getdelim, rather than whether implementation is missing.
47411         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
47412         * lib/stdio_.h (getline): Also declare if replacement is
47413         required.
47414         * doc/functions/getdelim.texi: New file.
47415         * doc/functions/getline.texi: Likewise.
47416         * doc/gnulib.texi (Function Substitutes): Add new files.
47417         Reported by Bruno Haible.
47418
47419 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
47420
47421         * users.txt: Add Guile.
47422
47423 2007-08-22  Eric Blake  <ebb9@byu.net>
47424
47425         * tests/test-getdelim.c (main): Use remove, not unlink.
47426         * tests/test-getline.c (main): Likewise.
47427
47428         Move getline and getdelim into stdio.h, per POSIX 200x.
47429         * modules/getline (Files): Remove getline.h.
47430         (Depends-on): Add stdio.
47431         (configure.ac): Add module indicator.
47432         * modules/getdelim (Files): Remove getdelim.h.
47433         (Depends-on): Add stdio.
47434         (configure.ac): Add module indicator.
47435         * modules/stdio (Makefile.am): Work with new indicators.
47436         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
47437         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
47438         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
47439         * lib/getdelim.h: Delete.
47440         * lib/getline.h: Delete.
47441         * lib/stdio_.h (getdelim, getline): Declare.
47442         * modules/getdelim-tests: New module.
47443         * modules/getline-tests: Likewise.
47444         * tests/test-getdelim.c: New file.
47445         * tests/test-getline.c: Likewise.
47446         * NEWS: Document the change.
47447         * lib/getline.c: Update choice of header.
47448         * lib/csharpcomp.c: Likewise.
47449         * lib/getpass.c: Likewise.
47450         * lib/javacomp.c: Likewise.
47451         * lib/javaversion.c: Likewise.
47452         * lib/yesno.c: Likewise.
47453         * lib/getdelim.c: Likewise.
47454         (getdelim): Set errno on failure, and avoid memory leak.
47455
47456 2007-08-19  Bruno Haible  <bruno@clisp.org>
47457
47458         * modules/closein (Depends-on): Add freadahead.
47459         * lib/closein.c: Include freadahead.h.
47460         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
47461         is zero.
47462
47463 2007-08-19  Bruno Haible  <bruno@clisp.org>
47464
47465         * modules/freadahead-tests: New file.
47466         * tests/test-freadahead.sh: New file.
47467         * tests/test-freadahead.c: New file.
47468
47469         * modules/freadahead: New file.
47470         * lib/freadahead.h: New file.
47471         * lib/freadahead.c: New file.
47472         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
47473         fbufmode, fpurge, freadable, fwritable.
47474
47475 2007-08-19  Eric Blake  <ebb9@byu.net>
47476
47477         Test yesno in combination with closein.
47478         * lib/yesno.c (yesno): Document use of stdin.
47479         * modules/yesno-tests (Files): New module.
47480         * tests/test-yesno.c (main): New file.
47481         * tests/test-yesno.sh: Likewise.
47482
47483 2007-08-19  Bruno Haible  <bruno@clisp.org>
47484
47485         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
47486         * lib/fseeko.c (rpl_fseeko): Likewise.
47487         * lib/fseterr.c (fseterr): Likewise.
47488
47489 2007-08-19  Bruno Haible  <bruno@clisp.org>
47490
47491         * tests/test-lseek.c (main): Disable a test for BeOS.
47492         * doc/functions/lseek.texi: Document the BeOS bug.
47493
47494 2007-08-19  Bruno Haible  <bruno@clisp.org>
47495             Eric Blake  <ebb9@byu.net>
47496
47497         * lib/lseek.c: Include <sys/stat.h>.
47498         (rpl_lseek): Add workaround code also for Unix platforms.
47499         Needed for BeOS.
47500         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
47501         * doc/functions/lseek.texi: Document BeOS definiency.
47502
47503 2007-08-18  Bruno Haible  <bruno@clisp.org>
47504
47505         * modules/fstrcmp-tests: New file.
47506         * tests/test-fstrcmp.c: New file.
47507
47508 2007-08-18  Bruno Haible  <bruno@clisp.org>
47509
47510         * modules/fstrcmp: New file, from GNU gettext with modifications.
47511         * lib/fstrcmp.h: New file, from GNU gettext.
47512         * lib/fstrcmp.c: New file, from GNU gettext.
47513         * MODULES.html.sh (String handling): Add fstrcmp.
47514
47515 2007-08-18  Bruno Haible  <bruno@clisp.org>
47516
47517         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
47518         'bool'.
47519         (diag, compareseq): Remove const from the ctxt argument.
47520         (USE_HEURISTIC): Undefine at the end.
47521
47522 2007-08-18  Jim Meyering  <jim@meyering.net>
47523
47524         New file: lib/idcache.h
47525         * NEWS: Mention the addition.
47526         * modules/idcache (Files): Add lib/idcache.h
47527         * lib/idcache.c: Include "idcache.h".
47528         Don't include <sys/types.h>.
47529         Add a FIXME comment.
47530         Move file-scoped "static" declarations to the top.
47531         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
47532
47533 2007-08-17  Bruno Haible  <bruno@clisp.org>
47534         and Paul Eggert  <eggert@cs.ucla.edu>
47535
47536         * MODULES.html.sh: Add diffseq.
47537         * modules/diffseq: New file.
47538         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
47539         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
47540
47541 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
47542
47543         Import changes from coreutils for bootstrap script.
47544
47545         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
47546
47547         * build-aux/bootstrap (slurp): Work even in environments where
47548         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
47549         current code does not slurp files whose names start with ".", and
47550         this looks like it might be a troublesome area.
47551
47552         2007-07-11  Jim Meyering  <jim@meyering.net>
47553
47554         If there's a GPL vN copyright comment, require that N == 3.
47555
47556         2007-07-08  Jim Meyering  <jim@meyering.net>
47557
47558         Run the coreutils-specific code only if tests/Makefile.am.in exists.
47559         * build-aux/bootstrap (mam_template): Move definition out of loop.
47560
47561         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
47562
47563         * build-aux/bootstrap (symlink_to_dir): Rename function from
47564         symlink_to_gnulib.  Add a directory parameter.  Update all
47565         callers.
47566         (cp_mark_as_generated): Also check for -- and link to -- files in
47567         gl/.
47568
47569         2007-07-08  Jim Meyering  <jim@meyering.net>
47570
47571         Adapt to deeper hierarchy in gnulib.
47572         * build-aux/bootstrap (symlink_to_dir): If the destination
47573         directory doesn't exist, create it. This is required at least for
47574         "lib/uniwidth/cjk.h".
47575
47576         2007-05-15  Jim Meyering  <jim@meyering.net>
47577
47578         * build-aux/bootstrap: Now that generated Makefile.am files
47579         are no longer under version control, they must be created at
47580         bootstrap time.
47581
47582 2007-08-14  Ben Pfaff  <blp@gnu.org>
47583
47584         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
47585
47586 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
47587
47588         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
47589         given the changes below.
47590         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
47591         even on hosts that have padding bits beyond the supported 64.
47592
47593 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
47594
47595         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
47596         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
47597         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
47598         depends on it.
47599         (xstrtol_error): Remove.
47600         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
47601         but with a different signature.
47602         (ATTRIBUTE_NORETURN, __attribute__): New macros.
47603         * lib/xstrtol-error.c: Include exitfail.h.
47604         (xstrtol_fatal): New function, with a different signature from the
47605         old xstrtol_error, so that the caller need not worry about passing
47606         in an exit status, or about storage management of the option argument.
47607         (xstrtol_error): Now a static function.  Redo signature to
47608         implement xstrtol_fatal.  Output the correct number of hyphens in
47609         front of the option so that the caller need not worry about
47610         storage management.
47611         (N_): New macro.
47612         (_): Remove; not used now.
47613         * modules/xstrtol: Depend on getopt.
47614         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
47615         of old STRTOL_FATAL_ERROR macro.
47616         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
47617         of test program.
47618         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
47619         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
47620
47621 2007-08-08  Eric Blake  <ebb9@byu.net>
47622
47623         * lib/xstrtol-error.c: Add missing include.
47624
47625         Move xstrtol messages into gnulib domain, when --pobase is used.
47626         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
47627         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
47628         * modules/xstrtol (Files): Distribute new file.
47629         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
47630         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
47631         * tests/test-xstrtol.c: ...into new file.
47632         * tests/test-xstrtoul.c: Also test xstrtoul.
47633         * tests/test-xstrtoimax.c: Also test xstrtoimax.
47634         * tests/test-xstrtoumax.c: Also test xstrtoumax.
47635         * tests/test-xstrtol.sh: Drive the tests.
47636         * tests/test-xstrtoimax.sh: Likewise.
47637         * tests/test-xstrtoumax.sh: Likewise.
47638         * modules/xstrtol-tests: New module.
47639         * modules/xstrtoimax-tests: Likewise.
47640         * modules/xstrtoumax-tests: Likewise.
47641
47642 2007-08-08  Jim Meyering  <jim@meyering.net>
47643
47644         New function: mfile_name_concat.
47645         * lib/filenamecat.c (mfile_name_concat): New function, just like
47646         file_name_concat, but return NULL upon failure rather than exiting
47647         with a diagnostic.
47648         * lib/filenamecat.h: Declare it.
47649
47650 2007-08-07  Bruno Haible  <bruno@clisp.org>
47651
47652         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
47653         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
47654         warning from gcc.
47655         Reported by Eric Blake.
47656
47657 2007-08-07  Simon Josefsson  <simon@josefsson.org>
47658
47659         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
47660         * modules/crypto/arcfour (License): Likewise.
47661         * modules/crypto/des-tests (License): Likewise.
47662         * modules/crypto/gc-arctwo-tests (License): Likewise.
47663         * modules/crypto/gc-des-tests (License): Likewise.
47664         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
47665         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
47666         * modules/crypto/gc-md2-tests (License): Likewise.
47667         * modules/crypto/gc-md4-tests (License): Likewise.
47668         * modules/crypto/gc-md5-tests (License): Likewise.
47669         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
47670         * modules/crypto/gc-rijndael-tests (License): Likewise.
47671         * modules/crypto/gc-sha1-tests (License): Likewise.
47672         * modules/crypto/gc-tests (License): Likewise.
47673         * modules/crypto/hmac-md5 (License): Likewise.
47674         * modules/crypto/hmac-sha1 (License): Likewise.
47675         * modules/crypto/md2-tests (License): Likewise.
47676         * modules/crypto/md4-tests (License): Likewise.
47677         * modules/crypto/md5 (License): Likewise.
47678         * modules/crypto/rijndael (License): Likewise.
47679         * modules/crypto/sha1 (License): Likewise.
47680         * modules/memxor (License): Likewise.
47681
47682 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
47683         and Bruno Haible  <bruno@clisp.org>
47684
47685         * NEWS: Describe interface changes to human, xstrtol.
47686         * lib/human.h: Include <xstrtol.h>.
47687         (human_options): Return enum strtol_error, not int.  Remove
47688         bool arg; take int * instead.
47689         * lib/human.c: Don't include "gettext.h".
47690         (_): Remove; no longer used.
47691         Don't include <xstrtol.h>, since human.h does it.
47692         (human_options): Adjust to abovementioned interface changes.
47693         Do not report error to stderr; that's now the caller's
47694         responsibility.
47695         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
47696         interface change.
47697         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
47698         Str, Argument_type_string.  All uses changed.  Put " argument"
47699         in diagnostics to make them clearer.  Change wording of suffix
47700         message for clarity.
47701         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
47702         Argument_type_string.
47703         (STRTOL_FATAL_WARN): Remove; no longer used.
47704         * modules/human (Depends-on): Remove gettext-h.
47705
47706 2007-08-06  Simon Josefsson  <simon@josefsson.org>
47707
47708         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
47709
47710 2007-07-31  Bruno Haible  <bruno@clisp.org>
47711
47712         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
47713         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
47714         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
47715
47716 2007-07-31  Bruno Haible  <bruno@clisp.org>
47717
47718         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
47719         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
47720
47721 2007-07-30  Bruno Haible  <bruno@clisp.org>
47722
47723         * modules/base64 (License): Use the synonymous term "LGPLv2+".
47724         * modules/c-ctype (License): Likewise.
47725         * modules/c-strcase (License): Likewise.
47726         * modules/check-version (License): Likewise.
47727         * modules/iconv (License): Likewise.
47728         * modules/iconv_open (License): Likewise.
47729         * modules/read-file (License): Likewise.
47730         * modules/striconv (License): Likewise.
47731         * modules/strverscmp (License): Likewise.
47732         * modules/vasprintf (License): Likewise.
47733         * modules/crypto/des (License): Likewise.
47734         * modules/crypto/gc (License): Likewise.
47735         * modules/crypto/gc-arcfour (License): Likewise.
47736         * modules/crypto/gc-arctwo (License): Likewise.
47737         * modules/crypto/gc-des (License): Likewise.
47738         * modules/crypto/gc-hmac-md5 (License): Likewise.
47739         * modules/crypto/gc-hmac-sha1 (License): Likewise.
47740         * modules/crypto/gc-md2 (License): Likewise.
47741         * modules/crypto/gc-md4 (License): Likewise.
47742         * modules/crypto/gc-md5 (License): Likewise.
47743         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
47744         * modules/crypto/gc-random (License): Likewise.
47745         * modules/crypto/gc-rijndael (License): Likewise.
47746         * modules/crypto/gc-sha1 (License): Likewise.
47747         * modules/crypto/md2 (License): Likewise.
47748         * modules/crypto/md4 (License): Likewise.
47749
47750 2007-07-30  Jim Meyering  <jim@meyering.net>
47751
47752         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
47753         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
47754         it has valid stat data.  This bug would cause du not to count the
47755         sizes of inaccessible directories.
47756         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
47757         in <http://bugzilla.redhat.com/250077>.
47758
47759 2007-07-25  Peter O'Gorman  <peter@pogma.com>
47760             Bruno Haible  <bruno@clisp.org>
47761
47762         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
47763         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
47764         #include_next, gives a diagnostic about it, but reports no error in
47765         the exit code.
47766         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
47767
47768 2007-07-24  Ben Pfaff  <blp@gnu.org>
47769
47770         Improve name: "count-one-bits" is better than "popcount".
47771         * MODULES.html.sh: Update name.
47772         * lib/popcount.h: Renamed lib/count-one-bits.h.
47773         (popcount): Renamed count_one_bits.
47774         (popcountl): Renamed count_one_bits_l.
47775         (popcountll): Renamed count_one_bits_ll.
47776         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
47777         * modules/popcount: Renamed module/count-one-bits.
47778         * modules/popcount-tests: Renamed module/count-one-bits-tests.
47779         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
47780
47781 2007-07-23  Ben Pfaff  <blp@gnu.org>
47782
47783         * lib/popcount.h (popcount32): Reduce size of constants, to allow
47784         better code generation, and add U to large constants to avoid
47785         warnings, in non-GCC case.
47786         Suggested by Bruno Haible.
47787
47788 2007-07-23  Ben Pfaff  <blp@gnu.org>
47789
47790         * lib/popcount.h: Use verify_true instead of if...abort.
47791         * modules/popcount: Depend on verify module.
47792         Suggested by Jim Meyering.
47793
47794 2007-07-23  Bruno Haible  <bruno@clisp.org>
47795
47796         * gnulib-tool (func_import): Create a .cvsignore file also when the
47797         directory is not yet in CVS but the toplevel directory is. When
47798         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
47799         Reported by Karl Berry.
47800
47801 2007-07-22  Ben Pfaff  <blp@gnu.org>
47802
47803         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
47804         case.
47805         Suggested by Eric Blake.
47806
47807 2007-07-22  Ben Pfaff  <blp@gnu.org>
47808
47809         New module: popcount.
47810         * MODULES.html.sh: Add popcount.
47811         * modules/popcount: New file.
47812         * modules/popcount-tests: New file.
47813         * tests/test-popcount.c: New file.
47814         * lib/popcount.h: New file.
47815         * m4/popcount.m4: New file.
47816
47817 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
47818
47819         * build-aux/announce-gen: Update to GPLv3.
47820
47821         * build-aux/config.guess: Update from config.
47822
47823 2007-07-21  Bruno Haible  <bruno@clisp.org>
47824
47825         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
47826         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
47827
47828 2007-07-20  Jim Meyering  <jim@meyering.net>
47829
47830         * check-module: Diagnose a self-dependency.
47831
47832 2007-07-19  Bruno Haible  <bruno@clisp.org>
47833
47834         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
47835         empty.
47836         Reported by Eric Blake.
47837
47838 2007-07-18  Bruno Haible  <bruno@clisp.org>
47839
47840         * gnulib-tool: New options --po-base, --po-domain.
47841         (func_usage): Document them.
47842         (pobase, po_domain): New variables.
47843         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
47844         DEFAULT_TEXT_DOMAIN.
47845         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
47846         (func_import): Consider pobase and po_domain. Create a po/ directory.
47847         (func_create_testdir): Set pobase and po_domain to empty.
47848         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
47849         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
47850
47851 2007-07-18  Bruno Haible  <bruno@clisp.org>
47852
47853         * gnulib-tool (func_get_automake_snippet): Synthesize also an
47854         EXTRA_DIST augmentation for files in build-aux/.
47855
47856 2007-07-16  Bruno Haible  <bruno@clisp.org>
47857
47858         * modules/lseek (License): Use the synonymous term "LGPLv2+".
47859         * modules/getdelim (License): Likewise.
47860
47861 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
47862
47863         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
47864         * modules/d-type (License): Likewise.
47865         * modules/extensions (License): Likewise.
47866         * modules/fnmatch (License): Likewise.
47867         * modules/fseeko (License): Likewise.
47868         * modules/getaddrinfo (License): Likewise.
47869         * modules/getline (License): Likewise.
47870         * modules/getlogin_r (License): Likewise.
47871         * modules/getpass (License): Likewise.
47872         * modules/gettimeofday (License): Likewise.
47873         * modules/glob (License): Likewise.
47874         * modules/inet_ntop (License): Likewise.
47875         * modules/malloc (License): Likewise.
47876         * modules/malloca (License): Likewise.
47877         * modules/memmem (License): Likewise.
47878         * modules/mempcpy (License): Likewise.
47879         * modules/memset (License): Likewise.
47880         * modules/minmax (License): Likewise.
47881         * modules/mktime (License): Likewise.
47882         * modules/netinet_in (License): Likewise.
47883         * modules/pathmax (License): Likewise.
47884         * modules/poll (License): Likewise.
47885         * modules/regex (License): Likewise.
47886         * modules/snprintf (License): Likewise.
47887         * modules/stdbool (License): Likewise.
47888         * modules/stdint (License): Likewise.
47889         * modules/stdio (License): Likewise.
47890         * modules/strcase (License): Likewise.
47891         * modules/strcasestr (License): Likewise.
47892         * modules/strdup (License): Likewise.
47893         * modules/string (License): Likewise.
47894         * modules/strndup (License): Likewise.
47895         * modules/strnlen (License): Likewise.
47896         * modules/strpbrk (License): Likewise.
47897         * modules/strptime (License): Likewise.
47898         * modules/strsep (License): Likewise.
47899         * modules/sys_select (License): Likewise.
47900         * modules/sys_socket (License): Likewise.
47901         * modules/sys_stat (License): Likewise.
47902         * modules/sys_time (License): Likewise.
47903         * modules/time (License): Likewise.
47904         * modules/time_r (License): Likewise.
47905         * modules/timegm (License): Likewise.
47906         * modules/unistd (License): Likewise.
47907         * modules/vsnprintf (License): Likewise.
47908         * modules/wctype (License): Likewise.
47909
47910 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47911
47912         * modules/argz (License): LGPLv2+.
47913
47914 2007-07-15  Karl Berry  <karl@gnu.org>
47915
47916         * doc/gnulib.texi: revise node structure per new fdl.texi.
47917
47918 2007-07-14  Bruno Haible  <bruno@clisp.org>
47919
47920         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
47921         the output file.
47922         * lib/uniname/uninames.h: Regenerated.
47923
47924 2007-07-14  Karl Berry  <karl@gnu.org>
47925
47926         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
47927         omitting sectioning and index commands.
47928
47929 2007-07-13  Bruno Haible  <bruno@clisp.org>
47930
47931         New gnulib-tool option --more-symlinks.
47932         * gnulib-tool (func_usage): Document --more-symlinks.
47933         (do_copyrights): New variable.
47934         Recognize option --more-symlinks.
47935         (func_import): Don't add a copyright notice transform to
47936         sed_transform_lib_file if do_copyrights is empty.
47937
47938 2007-07-13  Bruno Haible  <bruno@clisp.org>
47939
47940         * lib/vasnprintf.c (decimal_point_char): Define also if
47941         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
47942         && !NEED_PRINTF_DIRECTIVE_A.
47943         Reported by Clemens Koller <clemens.koller@anagramm.de> via
47944         Gary V. Vaughan <gary@gnu.org>.
47945
47946 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
47947
47948         * lib/inttypes_.h: Undo previous change, since it was fixed
47949         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
47950
47951 2007-07-13  Bruno Haible  <bruno@clisp.org>
47952
47953         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
47954         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
47955
47956 2007-07-13  Jim Meyering  <jim@meyering.net>
47957
47958         df: Don't fail for Tru64's "file-on-file mount".
47959         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
47960         so we fall through and use statfs instead.  Details here:
47961         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
47962         Reported by Albert Chin.
47963
47964 2007-07-13  Bruno Haible  <bruno@clisp.org>
47965
47966         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
47967         * modules/configmake (License): Likewise.
47968         * modules/gettext (License): Likewise.
47969         * modules/gettext-h (License): Likewise.
47970         * modules/include_next (License): Likewise.
47971         * modules/link-warning (License): Likewise.
47972         * modules/localcharset (License): Likewise.
47973         * modules/localename (License): Likewise.
47974         * modules/lock (License): Likewise.
47975         * modules/relocatable-lib-lgpl (License): Likewise.
47976         * modules/size_max (License): Likewise.
47977         * modules/vasnprintf (License): Likewise.
47978         * modules/wchar (License): Likewise.
47979         * modules/xsize (License): Likewise.
47980
47981 2007-07-13  Bruno Haible  <bruno@clisp.org>
47982
47983         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
47984         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
47985
47986 2007-07-12  Bruno Haible  <bruno@clisp.org>
47987
47988         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
47989         in the modules files.
47990
47991 2007-07-11  Karl Berry  <karl@gnu.org>
47992
47993         * MODULES.html.sh (func_module): use
47994          sed -e '\|^'"${includefile}"'$|d'
47995          instead of /.../d, to avoid errors on $includefile's containing /.
47996
47997 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
47998
47999         * gnulib-tool (func_import): Avoid duplication of --avoid
48000         statements
48001         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
48002         names to `_' in variable names.
48003
48004 2007-07-10  Eric Blake  <ebb9@byu.net>
48005
48006         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
48007         * NEWS: Document this change.
48008
48009 2007-07-08  Bruno Haible  <bruno@clisp.org>
48010
48011         Update to Unicode 5.0.
48012         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
48013         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
48014         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
48015         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
48016         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
48017         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
48018         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
48019         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
48020         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
48021         U+10A3F, U+1D242..U+1D244.
48022         (nonspacing_table_ind): Update.
48023         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
48024         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
48025
48026 2007-07-08  Bruno Haible  <bruno@clisp.org>
48027
48028         Update to Unicode 5.0.
48029         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
48030         code transform. Extend the name index field of unicode_name_to_code and
48031         unicode_code_to_name from 16 to 24 bits.
48032         * lib/uniname/uniname.c (unicode_character_name,
48033         unicode_name_character): Add the range 0x12xxx to the code transform.
48034         * lib/uniname/uninames.h: Regenerated.
48035         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
48036
48037 2007-07-07  Bruno Haible  <bruno@clisp.org>
48038
48039         * modules/wcwidth-tests: New file.
48040         * tests/test-wcwidth.c: New file.
48041
48042         Work around MacOS X wcwidth() bug.
48043         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
48044         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
48045         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
48046         original wcwidth in non-UTF-8 locales.
48047         * modules/wcwidth (Depends-on): Add localcharset, streq,
48048         uniwidth/width.
48049         * doc/functions/wcwidth.texi: Update.
48050
48051 2007-07-07  Bruno Haible  <bruno@clisp.org>
48052
48053         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
48054         (wcwidth): New declaration.
48055         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
48056         macros.
48057         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
48058         here. Prepare for creating <wchar.h> unconditionally.
48059         * modules/wchar (Depends-on): Add link-warning.
48060         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
48061         REPLACE_WCWIDTH, and GL_LINK_WARNING.
48062         * lib/wcwidth.h: Remove file.
48063         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
48064         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
48065         * modules/wcwidth (Files): Remove lib/wcwidth.h.
48066         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
48067         (Include): Replace wcwidth.h with <wchar.h>.
48068         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
48069         * lib/mbchar.h: Don't include wcwidth.h.
48070         * lib/mbswidth.c: Likewise.
48071         * NEWS: Mention the change.
48072
48073 2007-07-07  Bruno Haible  <bruno@clisp.org>
48074
48075         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
48076         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
48077         definition with an external declaration.
48078         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
48079         defined as a function. Remove AC_C_INLINE requirement.
48080         * modules/wcwidth (Files): Add lib/wcwidth.c.
48081         (Makefile.am): Remove redundant statement.
48082
48083 2007-07-07  Bruno Haible  <bruno@clisp.org>
48084
48085         * MODULES.html.sh (Unicode string functions): Add the new modules.
48086
48087         * tests/uniwidth/test-u32-strwidth.c: New file.
48088         * modules/uniwidth/u32-strwidth-tests: New file.
48089
48090         * lib/uniwidth/u32-strwidth.c: New file.
48091         * modules/uniwidth/u32-strwidth: New file.
48092
48093         * tests/uniwidth/test-u16-strwidth.c: New file.
48094         * modules/uniwidth/u16-strwidth-tests: New file.
48095
48096         * lib/uniwidth/u16-strwidth.c: New file.
48097         * modules/uniwidth/u16-strwidth: New file.
48098
48099         * tests/uniwidth/test-u8-strwidth.c: New file.
48100         * modules/uniwidth/u8-strwidth-tests: New file.
48101
48102         * lib/uniwidth/u8-strwidth.c: New file.
48103         * modules/uniwidth/u8-strwidth: New file.
48104
48105         * tests/uniwidth/test-u32-width.c: New file.
48106         * modules/uniwidth/u32-width-tests: New file.
48107
48108         * lib/uniwidth/u32-width.c: New file.
48109         * modules/uniwidth/u32-width: New file.
48110
48111         * tests/uniwidth/test-u16-width.c: New file.
48112         * modules/uniwidth/u16-width-tests: New file.
48113
48114         * lib/uniwidth/u16-width.c: New file.
48115         * modules/uniwidth/u16-width: New file.
48116
48117         * tests/uniwidth/test-u8-width.c: New file.
48118         * modules/uniwidth/u8-width-tests: New file.
48119
48120         * lib/uniwidth/u8-width.c: New file.
48121         * modules/uniwidth/u8-width: New file.
48122
48123         * tests/uniwidth/test-uc_width.c: New file.
48124         * modules/uniwidth/width-tests: New file.
48125
48126         * lib/uniwidth/width.c: New file, from GNU libiconv.
48127         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
48128         * modules/uniwidth/width: New file.
48129
48130         * lib/uniwidth.h: New file, from GNU libiconv.
48131         * modules/uniwidth/base: New file.
48132
48133 2007-07-07  Bruno Haible  <bruno@clisp.org>
48134
48135         * lib/uniname.h: New file, from GNU gettext.
48136         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
48137         * lib/uniname/uninames.h: New file, from GNU gettext.
48138         * lib/uniname/uniname.c: New file, from GNU gettext.
48139         * tests/uniname/test-uninames.sh: New file.
48140         * tests/uniname/test-uninames.c: New file, from GNU gettext.
48141         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
48142         * modules/uniname/base: New file.
48143         * modules/uniname/uniname: New file.
48144         * modules/uniname/uniname-tests: New file.
48145         * MODULES.html.sh (Unicode string functions): Add the new modules.
48146
48147 2007-07-06  Bruno Haible  <bruno@clisp.org>
48148
48149         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
48150
48151 2007-07-06  Bruno Haible  <bruno@clisp.org>
48152
48153         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
48154         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
48155         includes <cygwin/sys_time.h> which includes <sys/select.h> which
48156         include <sys/time.h>.
48157         Reported by Eric Blake.
48158
48159 2007-07-06  Eric Blake  <ebb9@byu.net>
48160
48161         Fix testing canonicalize on cygwin.
48162         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
48163         Revert patch from 2007-06-19.
48164         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
48165         canonicalize module is also in use.
48166         * tests/test-canonicalize.c: New file.
48167         * tests/test-canonicalize.sh: Likewise.
48168         * modules/canonicalize-tests: Likewise.
48169
48170 2007-07-06  Jim Meyering  <jim@meyering.net>
48171
48172         * lib/getugroups.c (getugroups): Detect getgrent failure.
48173         Adjust comment to reflect reality: this function may return -1.
48174
48175 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
48176
48177         * build-aux/bootstrap (TP_URL,get_translations): Update to use
48178         the new TP address.
48179         (usage): Fix typo
48180         (gnulib_mk): New variable.
48181
48182 2007-07-05  Jim Meyering  <jim@meyering.net>
48183
48184         Don't let endgrent clobber errno, no matter how improbable.
48185         * lib/getugroups.c (getugroups): Save and restore errno around
48186         endgrent call.
48187
48188         Close the group DB even when failing with 2^31 or more members.
48189         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
48190
48191 2007-07-04  Jim Meyering  <jim@meyering.net>
48192
48193         * lib/getugroups.h: New file.
48194         * lib/getugroups.c: Include "getugroups.h".
48195         Remove uses of "register" keyword.
48196         Move local variable, "cp", down into scope where used.
48197         Give "username" parameter the "const" attribute.
48198         * modules/getugroups (Files): Add lib/getugroups.h
48199
48200 2007-07-04  Karl Berry  <karl@gnu.org>
48201
48202         * MODULES.html.sh (func_all_modules): Complete rename of
48203         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
48204
48205 2007-07-02  Bruno Haible  <bruno@clisp.org>
48206
48207         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
48208         mode, when inttypes.h comes from gnulib.
48209         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
48210
48211 2007-07-02  Simon Josefsson  <simon@josefsson.org>
48212
48213         * NEWS: Mention lgpl module name change.
48214
48215         * modules/lgpl-2.1: Renamed from lgpl.
48216
48217         * NEWS: Mention gpl module name change.
48218
48219         * modules/gpl-3.0: New file, based on gpl-2.0.
48220
48221         * modules/gpl-2.0: Renamed from gpl.
48222
48223         * modules/gpl: Fix filename, doc/gpl.texi is now found at
48224         doc/gpl-2.0.texi.
48225
48226 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
48227
48228         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
48229         #define __STDC_LIMIT_MACROS temporarily while including
48230         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
48231         Problem reported by Joel E. Denny in
48232         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
48233
48234 2007-07-01  Bruno Haible  <bruno@clisp.org>
48235
48236         * lib/unistdio.h: New file.
48237         * lib/unistdio/u-asnprintf.h: New file.
48238         * lib/unistdio/u-asprintf.h: New file.
48239         * lib/unistdio/u-printf-args.c: New file.
48240         * lib/unistdio/u-printf-args.h: New file.
48241         * lib/unistdio/u-printf-parse.h: New file.
48242         * lib/unistdio/u-snprintf.h: New file.
48243         * lib/unistdio/u-sprintf.h: New file.
48244         * lib/unistdio/u-vasprintf.h: New file.
48245         * lib/unistdio/u-vsnprintf.h: New file.
48246         * lib/unistdio/u-vsprintf.h: New file.
48247         * lib/unistdio/ulc-asnprintf.c: New file.
48248         * lib/unistdio/ulc-asprintf.c: New file.
48249         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
48250         * lib/unistdio/ulc-printf-parse.c: New file.
48251         * lib/unistdio/ulc-snprintf.c: New file.
48252         * lib/unistdio/ulc-sprintf.c: New file.
48253         * lib/unistdio/ulc-vasnprintf.c: New file.
48254         * lib/unistdio/ulc-vasprintf.c: New file.
48255         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
48256         * lib/unistdio/ulc-vsnprintf.c: New file.
48257         * lib/unistdio/ulc-vsprintf.c: New file.
48258         * lib/unistdio/u8-asnprintf.c: New file.
48259         * lib/unistdio/u8-asprintf.c: New file.
48260         * lib/unistdio/u8-printf-parse.c: New file.
48261         * lib/unistdio/u8-snprintf.c: New file.
48262         * lib/unistdio/u8-sprintf.c: New file.
48263         * lib/unistdio/u8-vasnprintf.c: New file.
48264         * lib/unistdio/u8-vasprintf.c: New file.
48265         * lib/unistdio/u8-vsnprintf.c: New file.
48266         * lib/unistdio/u8-vsprintf.c: New file.
48267         * lib/unistdio/u8-u8-asnprintf.c: New file.
48268         * lib/unistdio/u8-u8-asprintf.c: New file.
48269         * lib/unistdio/u8-u8-snprintf.c: New file.
48270         * lib/unistdio/u8-u8-sprintf.c: New file.
48271         * lib/unistdio/u8-u8-vasnprintf.c: New file.
48272         * lib/unistdio/u8-u8-vasprintf.c: New file.
48273         * lib/unistdio/u8-u8-vsnprintf.c: New file.
48274         * lib/unistdio/u8-u8-vsprintf.c: New file.
48275         * lib/unistdio/u16-asnprintf.c: New file.
48276         * lib/unistdio/u16-asprintf.c: New file.
48277         * lib/unistdio/u16-printf-parse.c: New file.
48278         * lib/unistdio/u16-snprintf.c: New file.
48279         * lib/unistdio/u16-sprintf.c: New file.
48280         * lib/unistdio/u16-vasnprintf.c: New file.
48281         * lib/unistdio/u16-vasprintf.c: New file.
48282         * lib/unistdio/u16-vsnprintf.c: New file.
48283         * lib/unistdio/u16-vsprintf.c: New file.
48284         * lib/unistdio/u16-u16-asnprintf.c: New file.
48285         * lib/unistdio/u16-u16-asprintf.c: New file.
48286         * lib/unistdio/u16-u16-snprintf.c: New file.
48287         * lib/unistdio/u16-u16-sprintf.c: New file.
48288         * lib/unistdio/u16-u16-vasnprintf.c: New file.
48289         * lib/unistdio/u16-u16-vasprintf.c: New file.
48290         * lib/unistdio/u16-u16-vsnprintf.c: New file.
48291         * lib/unistdio/u16-u16-vsprintf.c: New file.
48292         * lib/unistdio/u32-asnprintf.c: New file.
48293         * lib/unistdio/u32-asprintf.c: New file.
48294         * lib/unistdio/u32-printf-parse.c: New file.
48295         * lib/unistdio/u32-snprintf.c: New file.
48296         * lib/unistdio/u32-sprintf.c: New file.
48297         * lib/unistdio/u32-vasnprintf.c: New file.
48298         * lib/unistdio/u32-vasprintf.c: New file.
48299         * lib/unistdio/u32-vsnprintf.c: New file.
48300         * lib/unistdio/u32-vsprintf.c: New file.
48301         * lib/unistdio/u32-u32-asnprintf.c: New file.
48302         * lib/unistdio/u32-u32-asprintf.c: New file.
48303         * lib/unistdio/u32-u32-snprintf.c: New file.
48304         * lib/unistdio/u32-u32-sprintf.c: New file.
48305         * lib/unistdio/u32-u32-vasnprintf.c: New file.
48306         * lib/unistdio/u32-u32-vasprintf.c: New file.
48307         * lib/unistdio/u32-u32-vsnprintf.c: New file.
48308         * lib/unistdio/u32-u32-vsprintf.c: New file.
48309         * tests/unistdio/test-ulc-asnprintf1.c: New file.
48310         * tests/unistdio/test-ulc-asnprintf1.h: New file.
48311         * tests/unistdio/test-ulc-printf1.h: New file.
48312         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
48313         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
48314         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
48315         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
48316         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
48317         * tests/unistdio/test-ulc-vasprintf1.c: New file.
48318         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
48319         * tests/unistdio/test-ulc-vsprintf1.c: New file.
48320         * tests/unistdio/test-u8-asnprintf1.c: New file.
48321         * tests/unistdio/test-u8-asnprintf1.h: New file.
48322         * tests/unistdio/test-u8-printf1.h: New file.
48323         * tests/unistdio/test-u8-vasnprintf1.c: New file.
48324         * tests/unistdio/test-u8-vasnprintf2.c: New file.
48325         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
48326         * tests/unistdio/test-u8-vasnprintf3.c: New file.
48327         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
48328         * tests/unistdio/test-u8-vasprintf1.c: New file.
48329         * tests/unistdio/test-u8-vsnprintf1.c: New file.
48330         * tests/unistdio/test-u8-vsprintf1.c: New file.
48331         * tests/unistdio/test-u16-asnprintf1.c: New file.
48332         * tests/unistdio/test-u16-asnprintf1.h: New file.
48333         * tests/unistdio/test-u16-printf1.h: New file.
48334         * tests/unistdio/test-u16-vasnprintf1.c: New file.
48335         * tests/unistdio/test-u16-vasnprintf2.c: New file.
48336         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
48337         * tests/unistdio/test-u16-vasnprintf3.c: New file.
48338         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
48339         * tests/unistdio/test-u16-vasprintf1.c: New file.
48340         * tests/unistdio/test-u16-vsnprintf1.c: New file.
48341         * tests/unistdio/test-u16-vsprintf1.c: New file.
48342         * tests/unistdio/test-u32-asnprintf1.c: New file.
48343         * tests/unistdio/test-u32-asnprintf1.h: New file.
48344         * tests/unistdio/test-u32-printf1.h: New file.
48345         * tests/unistdio/test-u32-vasnprintf1.c: New file.
48346         * tests/unistdio/test-u32-vasnprintf2.c: New file.
48347         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
48348         * tests/unistdio/test-u32-vasnprintf3.c: New file.
48349         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
48350         * tests/unistdio/test-u32-vasprintf1.c: New file.
48351         * tests/unistdio/test-u32-vsnprintf1.c: New file.
48352         * tests/unistdio/test-u32-vsprintf1.c: New file.
48353         * modules/unistdio/base: New file.
48354         * modules/unistdio/u-printf-args: New file.
48355         * modules/unistdio/ulc-asnprintf: New file.
48356         * modules/unistdio/ulc-asprintf: New file.
48357         * modules/unistdio/ulc-fprintf: New file.
48358         * modules/unistdio/ulc-printf-parse: New file.
48359         * modules/unistdio/ulc-snprintf: New file.
48360         * modules/unistdio/ulc-sprintf: New file.
48361         * modules/unistdio/ulc-vasnprintf: New file.
48362         * modules/unistdio/ulc-vasprintf: New file.
48363         * modules/unistdio/ulc-vfprintf: New file.
48364         * modules/unistdio/ulc-vsnprintf: New file.
48365         * modules/unistdio/ulc-vsprintf: New file.
48366         * modules/unistdio/u8-asnprintf: New file.
48367         * modules/unistdio/u8-asprintf: New file.
48368         * modules/unistdio/u8-printf-parse: New file.
48369         * modules/unistdio/u8-snprintf: New file.
48370         * modules/unistdio/u8-sprintf: New file.
48371         * modules/unistdio/u8-vasnprintf: New file.
48372         * modules/unistdio/u8-vasprintf: New file.
48373         * modules/unistdio/u8-vsnprintf: New file.
48374         * modules/unistdio/u8-vsprintf: New file.
48375         * modules/unistdio/u8-u8-asnprintf: New file.
48376         * modules/unistdio/u8-u8-asprintf: New file.
48377         * modules/unistdio/u8-u8-snprintf: New file.
48378         * modules/unistdio/u8-u8-sprintf: New file.
48379         * modules/unistdio/u8-u8-vasnprintf: New file.
48380         * modules/unistdio/u8-u8-vasprintf: New file.
48381         * modules/unistdio/u8-u8-vsnprintf: New file.
48382         * modules/unistdio/u8-u8-vsprintf: New file.
48383         * modules/unistdio/u16-asnprintf: New file.
48384         * modules/unistdio/u16-asprintf: New file.
48385         * modules/unistdio/u16-printf-parse: New file.
48386         * modules/unistdio/u16-snprintf: New file.
48387         * modules/unistdio/u16-sprintf: New file.
48388         * modules/unistdio/u16-vasnprintf: New file.
48389         * modules/unistdio/u16-vasprintf: New file.
48390         * modules/unistdio/u16-vsnprintf: New file.
48391         * modules/unistdio/u16-vsprintf: New file.
48392         * modules/unistdio/u16-u16-asnprintf: New file.
48393         * modules/unistdio/u16-u16-asprintf: New file.
48394         * modules/unistdio/u16-u16-snprintf: New file.
48395         * modules/unistdio/u16-u16-sprintf: New file.
48396         * modules/unistdio/u16-u16-vasnprintf: New file.
48397         * modules/unistdio/u16-u16-vasprintf: New file.
48398         * modules/unistdio/u16-u16-vsnprintf: New file.
48399         * modules/unistdio/u16-u16-vsprintf: New file.
48400         * modules/unistdio/u32-asnprintf: New file.
48401         * modules/unistdio/u32-asprintf: New file.
48402         * modules/unistdio/u32-printf-parse: New file.
48403         * modules/unistdio/u32-snprintf: New file.
48404         * modules/unistdio/u32-sprintf: New file.
48405         * modules/unistdio/u32-vasnprintf: New file.
48406         * modules/unistdio/u32-vasprintf: New file.
48407         * modules/unistdio/u32-vsnprintf: New file.
48408         * modules/unistdio/u32-vsprintf: New file.
48409         * modules/unistdio/u32-u32-asnprintf: New file.
48410         * modules/unistdio/u32-u32-asprintf: New file.
48411         * modules/unistdio/u32-u32-snprintf: New file.
48412         * modules/unistdio/u32-u32-sprintf: New file.
48413         * modules/unistdio/u32-u32-vasnprintf: New file.
48414         * modules/unistdio/u32-u32-vasprintf: New file.
48415         * modules/unistdio/u32-u32-vsnprintf: New file.
48416         * modules/unistdio/u32-u32-vsprintf: New file.
48417         * modules/unistdio/ulc-asnprintf-tests: New file.
48418         * modules/unistdio/ulc-vasnprintf-tests: New file.
48419         * modules/unistdio/ulc-vasprintf-tests: New file.
48420         * modules/unistdio/ulc-vsnprintf-tests: New file.
48421         * modules/unistdio/ulc-vsprintf-tests: New file.
48422         * modules/unistdio/u8-asnprintf-tests: New file.
48423         * modules/unistdio/u8-vasnprintf-tests: New file.
48424         * modules/unistdio/u8-vasprintf-tests: New file.
48425         * modules/unistdio/u8-vsnprintf-tests: New file.
48426         * modules/unistdio/u8-vsprintf-tests: New file.
48427         * modules/unistdio/u16-asnprintf-tests: New file.
48428         * modules/unistdio/u16-vasnprintf-tests: New file.
48429         * modules/unistdio/u16-vasprintf-tests: New file.
48430         * modules/unistdio/u16-vsnprintf-tests: New file.
48431         * modules/unistdio/u16-vsprintf-tests: New file.
48432         * modules/unistdio/u32-asnprintf-tests: New file.
48433         * modules/unistdio/u32-vasnprintf-tests: New file.
48434         * modules/unistdio/u32-vasprintf-tests: New file.
48435         * modules/unistdio/u32-vsnprintf-tests: New file.
48436         * modules/unistdio/u32-vsprintf-tests: New file.
48437         * MODULES.html.sh (Unicode string functions): Add the new modules.
48438
48439 2007-07-01  Bruno Haible  <bruno@clisp.org>
48440
48441         * lib/sprintf.c (sprintf): Limit the available length estimation,
48442         to avoid address wraparound.
48443         * lib/vsprintf.c (vsprintf): Likewise.
48444         * modules/sprintf-posix (Dependencies): Add stdint.
48445         * modules/vsprintf-posix (Dependencies): Likewise.
48446
48447 2007-07-01  Bruno Haible  <bruno@clisp.org>
48448
48449         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
48450         Windows PATH as well. Conservative double-quoting. Comments.
48451
48452 2007-07-01  Bruno Haible  <bruno@clisp.org>
48453             Eric Blake  <ebb9@byu.net>
48454             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48455
48456         * gnulib-tool (self_abspathname): Fix algorithm to cope with
48457         empty components in $PATH, denoting '.'.
48458
48459 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48460
48461         * gnulib-tool: Fix indentation.
48462         (func_create_megatestdir): Likewise.
48463         Report by Bruno Haible.
48464
48465 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48466
48467         Sync from Automake.
48468         * build-aux/gnupload: Fix shell portability issues with for loops.
48469         Report by Karl Berry.
48470
48471 2007-06-29  Simon Josefsson  <simon@josefsson.org>
48472
48473         * build-aux/maint.mk (POURL): Use translationproject.org.
48474
48475 2007-06-27  Simon Josefsson  <simon@josefsson.org>
48476             Bruno Haible  <bruno@clisp.org>
48477
48478         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
48479         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
48480         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
48481         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
48482         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
48483
48484 2007-06-27  Bruno Haible  <bruno@clisp.org>
48485
48486         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
48487         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
48488
48489 2007-06-26  Karl Berry  <karl@gnu.org>
48490
48491         * MODULES.html.sh: remove xreadlink-with-size.
48492
48493 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
48494
48495         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
48496         method that I hope also handles the double-include problem noted
48497         by Bruno Haible in
48498         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
48499
48500 2007-06-23  Bruno Haible  <bruno@clisp.org>
48501
48502         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48503         Don't let the 'mostlyclean' target fail if the last subdirectory could
48504         not be removed.
48505         Reported by Karl Berry.
48506
48507 2007-06-23  Bruno Haible  <bruno@clisp.org>
48508
48509         * gnulib-tool (echo): Add a speedier workaround for ksh.
48510         * tests/test-echo.sh: Likewise.
48511
48512 2007-06-23  Bruno Haible  <bruno@clisp.org>
48513
48514         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
48515         * tests/test-echo.sh: Likewise.
48516
48517 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48518
48519         * gnulib-tool (IFS): Initialize early, so we don't set it to
48520         empty later.
48521         (self_abspathname): Rewrite algorithm to set it, reindent.
48522         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
48523         (func_create_megatestdir): Merge some sed scripts.
48524
48525 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
48526
48527         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
48528         exposed by Sun Studio 11 cc on Solaris 8.
48529
48530 2007-06-22  Bruno Haible  <bruno@clisp.org>
48531
48532         * gnulib-tool (echo): Ensure the echo primitive does not interpret
48533         backslashes.
48534         * tests/test-echo.sh: New file.
48535
48536 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48537
48538         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
48539         simplify `sed_replace_build_aux' scripts, they are portable but
48540         echoing them with `echo' is not.
48541         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
48542
48543 2007-06-21  Karl Berry  <karl@gnu.org>
48544
48545         * config/srclist.txt: guess we can't handle the licenses via
48546         srclist at the moment.
48547
48548 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
48549
48550         * MODULES.html.sh: Add include_next.
48551         * modules/include_next: New file.
48552
48553 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
48554
48555         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
48556         INCLUDE_NEXT.
48557         (gl_CHECK_NEXT_HEADERS): New macro.
48558         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
48559         the obsolescent gl_ABSOLUTE_HEADER.
48560         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
48561         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
48562         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
48563         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
48564         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
48565         * m4/math_h.m4 (gl_MATH_H): Likewise.
48566         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
48567         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
48568         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
48569         * m4/stdint.m4 (gl_STDINT_H): Likewise.
48570         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
48571         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
48572         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
48573         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
48574         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
48575         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
48576         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
48577         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
48578         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
48579         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
48580         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
48581         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
48582         * m4/inttypes.m4 (gl_INTTYPES_H): Define
48583         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
48584         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
48585         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
48586         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
48587         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
48588         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
48589         * lib/float_.h: Likewise.
48590         * lib/inttypes_.h: Likewise.
48591         * lib/math_.h: Likewise.
48592         * lib/search_.h: Likewise.
48593         * lib/signal_.h: Likewise.
48594         * lib/stdint_.h: Likewise.
48595         * lib/stdio_.h: Likewise.
48596         * lib/stdlib_.h: Likewise.
48597         * lib/string_.h: Likewise.
48598         * lib/sys_stat_.h: Likewise.
48599         * lib/sys_time_.h: Likewise.
48600         * lib/time_.h: Likewise.
48601         * lib/unistd_.h: Likewise.
48602         * lib/wchar_.h: Likewise.
48603         * lib/wctype_.h: Likewise.
48604         * lib/dirent_.h: Likewise.
48605         * lib/iconv_.h: Likewise.
48606         * lib/locale_.h: Likewise.
48607         * lib/netinet_in_.h: Likewise.
48608         * lib/sys_select_.h: Likewise.
48609         * lib/sys_socket_.h: Likewise.
48610         * lib/sysexits_.h: Likewise.
48611         * modules/fcntl (Depends-on): Depend on include_next, not
48612         absolute_header.
48613         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
48614         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
48615         * modules/fchdir: Likewise.
48616         * modules/float: Likewise.
48617         * modules/iconv_open: Likewise.
48618         * modules/inttypes: Likewise.
48619         * modules/locale: Likewise.
48620         * modules/math: Likewise.
48621         * modules/netinet_in: Likewise.
48622         * modules/search: Likewise.
48623         * modules/signal: Likewise.
48624         * modules/stdint: Likewise.
48625         * modules/stdio: Likewise.
48626         * modules/stdlib: Likewise.
48627         * modules/string: Likewise.
48628         * modules/sys_select: Likewise.
48629         * modules/sys_socket: Likewise.
48630         * modules/sys_stat: Likewise.
48631         * modules/sys_time: Likewise.
48632         * modules/sysexits: Likewise.
48633         * modules/time: Likewise.
48634         * modules/unistd: Likewise.
48635         * modules/wchar: Likewise.
48636         * modules/wctype: Likewise.
48637         * modules/sys_stat: Change maintainer to "all".
48638         * modules/unistd: Likewise.
48639
48640 2007-06-20  Karl Berry  <karl@gnu.org>
48641
48642         * config/srclist.txt: track www changes in license files.
48643
48644 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
48645
48646         * build-aux/bootstrap: Remove stray dot.
48647         Make sure build_aux settings are honored when linking
48648         gnulib_extra_files.
48649
48650 2007-06-19  Eric Blake  <ebb9@byu.net>
48651
48652         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
48653         Allow compilation on cygwin.
48654
48655 2007-06-19  Jim Meyering  <jim@meyering.net>
48656
48657         xreadlink-with-size: Remove module.  No longer used.
48658         Ex-callers now use xreadlink or mreadlink-with-size.
48659         * modules/xreadlink-with-size: Remove module.
48660         * lib/xreadlink-with-size.c: Remove file.
48661         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
48662         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
48663         just before the function definition *is* accurate.
48664
48665         Eliminate one way canonicalize_filename_mode could exit.
48666         * lib/canonicalize.c (canonicalize_filename_mode):
48667         Use mreadlink_with_size, not xreadlink_with_size.
48668
48669 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
48670
48671         Detect porting problems to FreeBSD/arm, which has time_t wider than
48672         long int.  Original problem reported for GNU diff by Xin Li in
48673         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
48674         * modules/getdate (Depends-on): Add intprops, verify.
48675         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
48676         is an integer type no wider than long int.
48677
48678 2007-06-18  Jim Meyering  <jim@meyering.net>
48679
48680         New module: mreadlink-with-size.
48681         * MODULES.html.sh: Add mreadlink-with-size.
48682         * modules/mreadlink-with-size: New module
48683         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
48684         not xreadlink-with-size.
48685         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
48686
48687 2007-06-16  Bruno Haible  <bruno@clisp.org>
48688
48689         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
48690         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
48691         Reported by Gary V. Vaughan <gary@gnu.org>.
48692
48693 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
48694
48695         Revamp lchown so that it lives in unistd.h where it belongs.
48696         * lib/lchown.h: Remove.
48697         * lib/dirchownmod.c: Don't include lib/lchown.h.
48698         * lib/fchownat.c: Likewise.
48699         * lib/openat.c: Likewise.
48700         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
48701         does not follow symlinks.
48702         (EOPNOTSUPP): Define if not defined.
48703         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
48704         is defined to 0.
48705         (lchown): New decl.
48706         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
48707         Do not check for lchown decl.
48708         Set REPLACE_LCHOWN.
48709         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
48710         REPLACE_LCHOWN.
48711         * modules/chown: Make it clear it follows symlinks.
48712         * modules/lchown: Make it clear it doesn't follow symlinks.
48713         (Files): Remove lib/lchown.h
48714         (Depends-on): Add unistd.
48715         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
48716         (Include): Include <unistd.h>, not "lchown.h".
48717         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
48718         REPLACE_LCHOWN.
48719
48720 2007-06-15  Jim Meyering  <jim@meyering.net>
48721
48722         Change license (GPL to LGPL) of fsusage and dependents.
48723         * modules/fsusage (License): Change to LGPL.
48724         * modules/full-read (License): Likewise.
48725         * modules/full-write (License): Likewise.
48726         * modules/safe-read (License): Likewise.
48727         * modules/safe-write (License): Likewise.
48728
48729 2007-06-14  Ben Pfaff  <blp@gnu.org>
48730
48731         Missing part of allocsa -> malloca transition.
48732         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
48733         gl_MALLOCA.
48734
48735 2007-06-12  Bruno Haible  <bruno@clisp.org>
48736
48737         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
48738         to ia64, x86_64, i386.
48739         Reported by Eric Blake.
48740
48741 2007-06-12  Bruno Haible  <bruno@clisp.org>
48742
48743         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
48744         cross-compiling to x86_64.
48745
48746 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
48747
48748         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
48749         glitch reported by Ralf Wildenhues in
48750         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
48751
48752         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
48753         Vin Shelton.
48754
48755 2007-06-11  Bruno Haible  <bruno@clisp.org>
48756
48757         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
48758         replacement string.
48759         Reported by Eric Blake.
48760
48761 2007-06-10  Bruno Haible  <bruno@clisp.org>
48762
48763         Prepare vasnprintf code for use with Unicode strings.
48764         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
48765         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
48766         TYPE_U32_STRING.
48767         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
48768         a_u32_string variants.
48769         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
48770         * lib/printf-args.c: Don't include config.h and the specification
48771         header if PRINTF_FETCHARGS is already defined.
48772         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
48773         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
48774         TYPE_U16_STRING, TYPE_U32_STRING.
48775         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
48776         u16_directive, u16_directives, u32_directive, u32_directives): New
48777         types.
48778         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
48779         New declarations.
48780         * lib/printf-parse.c: Don't include config.h and the specification
48781         header if PRINTF_PARSE is already defined. Eliminate the set of
48782         parameters for WIDE_CHAR_VERSION; the user of this file must provide
48783         them now. Include c-ctype.h.
48784         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
48785         directive and CHAR_T_ONLY_ASCII.
48786         * lib/vasnprintf.c: Don't include config.h and the specification header
48787         if VASNPRINTF is already defined.
48788         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
48789         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
48790         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
48791         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
48792         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
48793         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
48794         code accordingly.
48795         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
48796         pad_ourselves also in this case, with the 'c' and 's' directives, and
48797         with a different notion of "width".
48798         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
48799
48800 2007-06-10  Bruno Haible  <bruno@clisp.org>
48801
48802         * modules/unistr/u32-mbsnlen: New file.
48803         * lib/unistr/u32-mbsnlen.c: New file.
48804
48805         * modules/unistr/u16-mbsnlen: New file.
48806         * lib/unistr/u16-mbsnlen.c: New file.
48807
48808         * modules/unistr/u8-mbsnlen: New file.
48809         * lib/unistr/u8-mbsnlen.c: New file.
48810
48811         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
48812         declarations.
48813
48814 2007-06-10  Bruno Haible  <bruno@clisp.org>
48815
48816         * lib/string_.h (mbsnlen): New declaration.
48817         * lib/mbsnlen.c: New file.
48818         * m4/mbsnlen.m4: New file.
48819         * modules/mbsnlen: New file.
48820         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
48821         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
48822         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
48823
48824 2007-06-10  Bruno Haible  <bruno@clisp.org>
48825
48826         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
48827
48828 2007-06-10  Bruno Haible  <bruno@clisp.org>
48829
48830         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
48831         * lib/mbuiter.h: Likewise.
48832
48833 2007-06-10  Bruno Haible  <bruno@clisp.org>
48834
48835         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
48836         declaration.
48837
48838 2007-06-10  Karl Berry  <karl@gnu.org>
48839
48840         * config/srclist.txt: remove gettext entries, Bruno prefers
48841         to update individually.
48842
48843 2007-06-10  Bruno Haible  <bruno@clisp.org>
48844
48845         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
48846         'maxlen'. Ensure only length + width bytes are allocated, not
48847         length + 1 + width.
48848
48849 2007-06-09  Bruno Haible  <bruno@clisp.org>
48850
48851         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
48852         (CHAR_T): Remove macro.
48853         (VASNPRINTF): Update.
48854
48855 2007-06-09  Bruno Haible  <bruno@clisp.org>
48856
48857         * MODULES.html.sh (Unicode string functions): Add the new modules.
48858
48859         * modules/uniconv/u32-conv-to-enc: New file.
48860         * lib/uniconv/u32-conv-to-enc.c: New file.
48861         * modules/uniconv/u32-conv-to-enc-tests: New file.
48862         * tests/uniconv/test-u32-conv-to-enc.c: New file.
48863
48864         * modules/uniconv/u16-conv-to-enc: New file.
48865         * lib/uniconv/u16-conv-to-enc.c: New file.
48866         * lib/uniconv/u-conv-to-enc.h: New file.
48867         * modules/uniconv/u16-conv-to-enc-tests: New file.
48868         * tests/uniconv/test-u16-conv-to-enc.c: New file.
48869
48870         * modules/uniconv/u8-conv-to-enc: New file.
48871         * lib/uniconv/u8-conv-to-enc.c: New file.
48872         * modules/uniconv/u8-conv-to-enc-tests: New file.
48873         * tests/uniconv/test-u8-conv-to-enc.c: New file.
48874
48875         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
48876         u32_conv_to_encoding): New declarations.
48877
48878 2007-06-09  Bruno Haible  <bruno@clisp.org>
48879
48880         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
48881
48882 2007-06-09  Bruno Haible  <bruno@clisp.org>
48883
48884         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
48885         * modules/malloca: Renamed from modules/allocsa, updated.
48886         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
48887         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
48888         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
48889         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
48890         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
48891         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
48892         * modules/xmalloca: Renamed from modules/xallocsa, updated.
48893         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
48894         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
48895         * modules/c-strcasestr (Depends-on): Update.
48896         * lib/c-strcasestr.c: Update.
48897         * modules/c-strstr (Depends-on): Update.
48898         * lib/c-strstr.c: Update.
48899         * modules/canonicalize-lgpl (Depends-on): Update.
48900         * lib/canonicalize-lgpl.c: Update.
48901         * modules/clean-temp (Depends-on): Update.
48902         * lib/clean-temp.c: Update.
48903         * modules/csharpcomp (Depends-on): Update.
48904         * lib/csharpcomp.c: Update.
48905         * modules/csharpexec (Depends-on): Update.
48906         * lib/csharpexec.c: Update.
48907         * modules/javacomp (Depends-on): Update.
48908         * lib/javacomp.c: Update.
48909         * modules/javaexec (Depends-on): Update.
48910         * lib/javaexec.c: Update.
48911         * modules/mbscasestr (Depends-on): Update.
48912         * lib/mbscasestr.c: Update.
48913         * modules/mbsstr (Depends-on): Update.
48914         * lib/mbsstr.c: Update.
48915         * modules/setenv (Depends-on): Update.
48916         * lib/setenv.c: Update.
48917         * modules/strcasestr (Depends-on): Update.
48918         * lib/strcasestr.c: Update.
48919         * modules/striconveha (Depends-on): Update.
48920         * lib/striconveha.c: Update.
48921         * modules/relocatable-prog-wrapper (Files): Update.
48922         * lib/relocwrapper.c: Update.
48923         * build-aux/install-reloc: Update.
48924         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
48925
48926 2007-06-08  Bruno Haible  <bruno@clisp.org>
48927
48928         Port to uClibc.
48929         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
48930         * lib/fpurge.c (fpurge): Likewise.
48931         * lib/freading.c (freading): Likewise.
48932         * lib/fseeko.c (rpl_fseeko): Likewise.
48933         * lib/fseterr.c (fseterr): Likewise.
48934         * lib/fwriting.c (fwriting): Likewise.
48935         * tests/test-fflush.c (main): Avoid a failure on uClibc.
48936
48937 2007-06-08  Bruno Haible  <bruno@clisp.org>
48938
48939         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
48940         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
48941         * modules/gettext (Files): Add m4/intlmacosx.m4.
48942
48943 2007-06-07  Bruno Haible  <bruno@clisp.org>
48944
48945         * modules/localename-tests: New file.
48946         * tests/test-localename.c: New file.
48947
48948         New module 'localename'.
48949         * lib/localename.h: New file.
48950         * lib/localename.c: New file, from GNU gettext.
48951         * m4/localename.m4: New file.
48952         * modules/localename: New file.
48953
48954 2007-06-07  Bruno Haible  <bruno@clisp.org>
48955
48956         Work around the lack of <wchar.h> on some builds of uClibc.
48957         * doc/headers/wchar.texi: Update.
48958         * lib/wchar_.h: Include <wchar.h> only if it exists.
48959         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
48960         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
48961         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
48962         doesn't exist.
48963         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
48964         * modules/mbfile (Depends-on): Add wchar.
48965         * modules/mbiter (Depends-on): Likewise.
48966         * modules/mbuiter (Depends-on): Likewise.
48967         Reported by Simon Josefsson.
48968
48969 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
48970
48971         Work around problem reported by Steven M. Schweda in
48972         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
48973         Tru64 5.1B with the Compaq compiler environment installed declares
48974         an 'isblank' function but does not define it in the C library.
48975         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
48976         * lib/regex_internal.h (isblank): Likewise.
48977         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
48978         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
48979
48980 2007-06-05  Bruno Haible  <bruno@clisp.org>
48981
48982         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
48983         ia64.
48984         * modules/printf-safe: New file.
48985         * modules/fprintf-posix (Depends-on): Add printf-safe.
48986         * modules/printf-posix (Depends-on): Likewise.
48987         * modules/snprintf-posix (Depends-on): Likewise.
48988         * modules/sprintf-posix (Depends-on): Likewise.
48989         * modules/vasnprintf-posix (Depends-on): Likewise.
48990         * modules/vasprintf-posix (Depends-on): Likewise.
48991         * modules/vfprintf-posix (Depends-on): Likewise.
48992         * modules/vprintf-posix (Depends-on): Likewise.
48993         * modules/vsnprintf-posix (Depends-on): Likewise.
48994         * modules/vsprintf-posix (Depends-on): Likewise.
48995         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
48996         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
48997         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
48998         "no" on i386, x86_64, ia64.
48999         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
49000         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49001         on i386, x86_64, ia64.
49002         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
49003         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49004         on i386, x86_64, ia64.
49005         * tests/test-vasnprintf-posix.c: Include float.h.
49006         (LDBL80_WORDS): New macro.
49007         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49008         on i386, x86_64, ia64.
49009         * tests/test-vasprintf-posix.c: Include float.h.
49010         (LDBL80_WORDS): New macro.
49011         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
49012         on i386, x86_64, ia64.
49013         * tests/test-snprintf-posix.c: Include float.h.
49014         * tests/test-sprintf-posix.c: Likewise.
49015         * tests/test-vsnprintf-posix.c: Likewise.
49016         * tests/test-vsprintf-posix.c: Likewise.
49017
49018 2007-06-05  Bruno Haible  <bruno@clisp.org>
49019
49020         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
49021         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
49022         non-IEEE numbers on i386, x86_64, ia64.
49023         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
49024         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
49025         * tests/test-isnanl.h: Include float.h.
49026         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
49027
49028 2007-06-05  Bruno Haible  <bruno@clisp.org>
49029
49030         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
49031         also the %a / %A. Handle the %a / %A code before this extra handling.
49032
49033 2007-06-05  Bruno Haible  <bruno@clisp.org>
49034
49035         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
49036         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
49037
49038 2007-06-05  Bruno Haible  <bruno@clisp.org>
49039
49040         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
49041         typo in variable name.
49042
49043 2007-06-05  Eric Blake  <ebb9@byu.net>
49044
49045         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
49046         Reported by Simon Josefsson.
49047
49048 2007-06-04  Bruno Haible  <bruno@clisp.org>
49049
49050         Avoid test failures on some PowerPC platforms.
49051         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
49052         Define differently for PowerPC.
49053         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
49054         Reported by Gary V. Vaughan <gary@gnu.org>.
49055
49056 2007-06-02  Bruno Haible  <bruno@clisp.org>
49057
49058         Fix test-stdint failure on FreeBSD/ia64.
49059         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
49060         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
49061         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
49062         * doc/headers/stdint.texi: Update.
49063
49064 2007-06-01  Bruno Haible  <bruno@clisp.org>
49065
49066         * tests/test-binary-io.c (main): Pass a third argument to open().
49067         Reported by Gary V. Vaughan <gary@gnu.org>.
49068
49069 2007-06-01  Bruno Haible  <bruno@clisp.org>
49070
49071         * doc/functions/frexpl.texi: Update for mingw.
49072
49073 2007-06-01  Bruno Haible  <bruno@clisp.org>
49074
49075         * tests/test-lseek.c (main): Disable test of errno for invalid third
49076         argument.
49077         * doc/functions/lseek.texi: Update.
49078         Reported by Gary V. Vaughan <gary@gnu.org>.
49079
49080 2007-05-28  Bruno Haible  <bruno@clisp.org>
49081
49082         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
49083
49084 2007-05-31  Eric Blake  <ebb9@byu.net>
49085
49086         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
49087         cross compiling.
49088
49089 2007-05-30  Eric Blake  <ebb9@byu.net>
49090         and Bruno Haible  <bruno@clisp.org>
49091
49092         Work around mingw test failures exposed by m4-1.4.9b.
49093         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
49094         * tests/test-unistd.c: Disable uid_t and git_t tests for the
49095         moment.
49096
49097 2007-05-30  Bruno Haible  <bruno@clisp.org>
49098
49099         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
49100         assuming that they are closed. Needed on HP-UX 11.
49101
49102 2007-05-29  Bruno Haible  <bruno@clisp.org>
49103
49104         Fix a problem with #include_next.
49105         * lib/dirent_.h: Split the double-inclusion guard.
49106         * lib/fcntl_.h: Likewise.
49107         * lib/float_.h: Likewise.
49108         * lib/iconv_.h: Likewise.
49109         * lib/inttypes_.h: Likewise.
49110         * lib/locale_.h: Likewise.
49111         * lib/math_.h: Likewise.
49112         * lib/netinet_in_.h: Likewise.
49113         * lib/search_.h: Likewise.
49114         * lib/signal_.h: Likewise.
49115         * lib/stdint_.h: Likewise.
49116         * lib/stdio_.h: Likewise.
49117         * lib/stdlib_.h: Likewise.
49118         * lib/string_.h: Likewise.
49119         * lib/sys_select_.h: Likewise.
49120         * lib/sys_socket_.h: Likewise.
49121         * lib/sys_stat_.h: Likewise.
49122         * lib/sys_time_.h: Likewise.
49123         * lib/sysexits_.h: Likewise.
49124         * lib/time_.h: Likewise.
49125         * lib/unistd_.h: Likewise.
49126         * lib/wchar_.h: Likewise.
49127         * lib/wctype_.h: Likewise.
49128
49129 2007-05-29  Bruno Haible  <bruno@clisp.org>
49130
49131         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
49132         for the moment.
49133
49134 2007-05-29  Bruno Haible  <bruno@clisp.org>
49135
49136         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
49137         invocation.
49138         Reported by Eric Blake.
49139
49140 2007-05-29  Bruno Haible  <bruno@clisp.org>
49141
49142         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
49143         compiling case.
49144
49145 2007-05-29  Eric Blake  <ebb9@byu.net>
49146             Bruno Haible  <bruno@clisp.org>
49147
49148         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
49149         cross compiles.
49150
49151 2007-05-28  Eric Blake  <ebb9@byu.net>
49152
49153         * modules/closein-tests (test_closein_LDADD): Support test on
49154         cygwin with libtool.
49155
49156 2007-05-28  Bruno Haible  <bruno@clisp.org>
49157
49158         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
49159         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
49160         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
49161         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
49162         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
49163         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
49164         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
49165         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
49166         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
49167
49168 2007-05-28  Eric Blake  <ebb9@byu.net>
49169
49170         Unconditionally include <config.h> in unit tests.
49171         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
49172         * tests/test-allocsa.c, tests/test-arcfour.c,
49173         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
49174         tests/test-array_list.c, tests/test-array_oset.c,
49175         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
49176         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
49177         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
49178         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
49179         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
49180         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
49181         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
49182         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
49183         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
49184         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
49185         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
49186         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
49187         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
49188         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
49189         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
49190         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
49191         test-md5.c, test-memmem.c, test-printf-posix.c,
49192         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
49193         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
49194         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
49195         test-strcasestr.c, test-striconv.c, test-striconveh.c,
49196         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
49197         test-vasnprintf-posix2.c, test-vasnprintf.c,
49198         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
49199         test-vfprintf-posix.c, test-vprintf-posix.c,
49200         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
49201         test-xvasprintf.c: Likewise.
49202
49203 2007-05-28  Bruno Haible  <bruno@clisp.org>
49204
49205         * gnulib-tool (func_import): Remember the --with-tests command-line
49206         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
49207         Reported by Eric Blake.
49208
49209 2007-05-28  Bruno Haible  <bruno@clisp.org>
49210
49211         * modules/ftell-tests: New file.
49212         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
49213         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
49214
49215         * lib/ftell.c: New file.
49216         * modules/ftell: New file.
49217         * m4/ftell.m4: New file.
49218         * doc/functions/ftell.texi: Update.
49219         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
49220         REPLACE_FTELL.
49221         * lib/stdio_.h (rpl_ftell): New declaration.
49222         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
49223         REPLACE_FTELL.
49224
49225 2007-05-28  Eric Blake  <ebb9@byu.net>
49226
49227         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
49228
49229 2007-05-28  Bruno Haible  <bruno@clisp.org>
49230
49231         * modules/fseek-tests: New file.
49232         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
49233         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
49234
49235         * lib/fseek.c: New file.
49236         * modules/fseek: New file.
49237         * m4/fseek.m4: New file.
49238         * doc/functions/fseek.texi: Update.
49239         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
49240         REPLACE_FSEEK.
49241         * lib/stdio_.h (rpl_fseek): New declaration.
49242         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
49243         REPLACE_FSEEK.
49244
49245 2007-05-28  Bruno Haible  <bruno@clisp.org>
49246
49247         * lib/stdio_.h (fflush): More comments.
49248
49249 2007-05-28  Bruno Haible  <bruno@clisp.org>
49250
49251         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
49252         runtime test.
49253
49254 2007-05-28  Eric Blake  <ebb9@byu.net>
49255
49256         Improve lseek module.
49257         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
49258         * lib/unistd_.h (lseek): Scale back link warning message.
49259         * tests/test-lseek.c: Beef up test.
49260         * tests/test-lseek.sh: Exercise more facets of lseek.
49261         Reported by Bruno Haible.
49262
49263 2007-05-28  Bruno Haible  <bruno@clisp.org>
49264
49265         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
49266         to define.
49267
49268 2007-05-27  Bruno Haible  <bruno@clisp.org>
49269
49270         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
49271
49272 2007-05-27  Bruno Haible  <bruno@clisp.org>
49273
49274         * modules/openmp: New file.
49275         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
49276         Noah Misch.
49277
49278 2007-05-26  Bruno Haible  <bruno@clisp.org>
49279
49280         * modules/chdir-long (Depends-on): Add fchdir.
49281         * modules/chdir-safer (Depends-on): Likewise.
49282         * modules/fts (Depends-on): Likewise.
49283         * modules/fts-lgpl (Depends-on): Likewise.
49284         * modules/openat (Depends-on): Likewise.
49285         * modules/savewd (Depends-on): Likewise.
49286
49287 2007-05-24  Eric Blake  <ebb9@byu.net>
49288
49289         Fix lseek on mingw.
49290         * modules/lseek: New module.
49291         * m4/lseek.m4: New file.
49292         * lib/lseek.c: New file.
49293         * modules/lseek-tests: New file.
49294         * tests/test-lseek.c: New file.
49295         * tests/test-lseek.sh: New file.
49296         * MODULES.html.sh: Document lseek module.
49297         * modules/fflush (Depends-on): Add lseek, fseeko.
49298         * modules/fseeko (Depends-on): Likewise.
49299         * modules/ftello (Depends-on): Likewise.
49300         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
49301         broken.
49302         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
49303         broken.
49304         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
49305         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
49306         * lib/ftello.c (rpl_ftello): Likewise.
49307         * tests/test-fseeko.c (main): Test this.
49308         * tests/test-fseeko.sh: Likewise.
49309         * tests/test-ftello.c (main): Likewise.
49310         * tests/test-ftello.sh: Likewise.
49311         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
49312         implies replacing fseek.
49313         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
49314         HAVE_FTELLO.
49315         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
49316         * modules/unistd (Makefile.am): Likewise.
49317         * lib/unistd_.h (lseek): Declare a replacement.
49318         * doc/functions/lseek.texi (lseek): Document this fix.
49319         * doc/functions/fseek.texi (fseek): Likewise.
49320         * doc/functions/ftell.texi (ftell): Likewise.
49321
49322 2007-05-24  Bruno Haible  <bruno@clisp.org>
49323
49324         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
49325         in the printed representation of a NaN.
49326         * tests/test-vasprintf-posix.c (test_function): Likewise.
49327         * tests/test-snprintf-posix.h (test_function): Likewise.
49328         * tests/test-sprintf-posix.h (test_function): Likewise.
49329         Reported by Eric Blake.
49330
49331 2007-05-23  Eric Blake  <ebb9@byu.net>
49332
49333         Fix fseeko/ftello on cygwin 1.5.24.
49334         * doc/functions/fseeko.texi (fseeko): Document the fix.
49335         * doc/functions/ftello.texi (ftello): Document the fix.
49336         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
49337         * doc/functions/stdout.text (stdout): New file.
49338         * doc/functions/stderr.text (stderr): New file.
49339         * doc/gnulib.texi (Function Substitutes): Use new files.
49340         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
49341         prior to 1.7.0.
49342         * tests/test-ftello.c (main): Likewise for ftello.
49343         * tests/test-fseeko.sh: New file.
49344         * tests/test-ftello.sh: New file.
49345         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
49346         with seekable stdin.
49347         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
49348         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
49349         (gl_REPLACE_FSEEKO): New macro.
49350         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
49351         * modules/fseeko (Files): Distribute fseeko.c.
49352         * modules/ftello (Files): Distribute ftello.c.
49353         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
49354         mode.
49355         * lib/ftello.c (rpl_ftello): New file.
49356         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
49357         fseeko, ftello.
49358         (gl_STDIN_LARGE_OFFSET): New macro.
49359         * modules/stdio (Makefile.am): Perform the replacement.
49360         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
49361
49362 2007-05-23  Bruno Haible  <bruno@clisp.org>
49363
49364         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
49365         GNULIB_POSIXCHECK is defined.
49366
49367 2007-05-21  Bruno Haible  <bruno@clisp.org>
49368
49369         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
49370         Check also the output for NaN arguments. When cross-compiling, guess
49371         no on IRIX.
49372         * lib/vasnprintf.c: Update comments.
49373         * tests/test-vasnprintf-posix.c (strisnan): New function.
49374         (test_function): Use it.
49375         * tests/test-vasprintf-posix.c (strisnan): New function.
49376         (test_function): Use it.
49377         * tests/test-snprintf-posix.h (strisnan): New function.
49378         (test_function): Use it.
49379         * tests/test-sprintf-posix.h (strisnan): New function.
49380         (test_function): Use it.
49381         Reported by Eric Blake.
49382
49383 2007-05-20  Bruno Haible  <bruno@clisp.org>
49384
49385         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
49386         numbers that fails on BeOS.
49387         * doc/functions/frexpl.texi: Update.
49388
49389 2007-05-20  Jim Meyering  <jim@meyering.net>
49390
49391         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
49392         forced upon us by glibc-2.6.
49393
49394 2007-05-20  Bruno Haible  <bruno@clisp.org>
49395
49396         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
49397         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
49398         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
49399         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
49400         NEED_PRINTF_INFINITE.
49401         (is_infinitel): New function.
49402         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
49403         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
49404         gl_PREREQ_VASNPRINTF_INFINITE.
49405         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
49406         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49407         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
49408         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
49409         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
49410         gl_PREREQ_VASNPRINTF_INFINITE.
49411         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49412         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49413         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49414         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49415         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49416         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49417         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49418         * doc/functions/fprintf.texi: Update.
49419         * doc/functions/printf.texi: Update.
49420         * doc/functions/snprintf.texi: Update.
49421         * doc/functions/sprintf.texi: Update.
49422         * doc/functions/vfprintf.texi: Update.
49423         * doc/functions/vprintf.texi: Update.
49424         * doc/functions/vsnprintf.texi: Update.
49425         * doc/functions/vsprintf.texi: Update.
49426
49427 2007-05-20  Bruno Haible  <bruno@clisp.org>
49428
49429         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
49430         was not found in libc.
49431         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
49432
49433 2007-05-20  Bruno Haible  <bruno@clisp.org>
49434
49435         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
49436         printed as "-nan" instead of "nan".
49437         * tests/test-vasprintf-posix.c (test_function): Likewise.
49438         * tests/test-snprintf-posix.h (test_function): Likewise.
49439         * tests/test-sprintf-posix.h (test_function): Likewise.
49440         Needed for HP-UX 11.
49441
49442 2007-05-20  Jim Meyering  <jim@meyering.net>
49443
49444         Fix buggy test for the fchownat-deref bug.
49445         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
49446         symlink required for the run-test.  Without it, this test would
49447         always declare that fchownat doesn't work, and client code would
49448         unnecessarily use the replacement function with fixed libc.
49449         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
49450         Reported by Greg Schafer.
49451
49452 2007-05-19  Bruno Haible  <bruno@clisp.org>
49453
49454         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
49455         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
49456         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
49457         Needed for IRIX 6.5 and Solaris 2.5.1.
49458
49459 2007-05-19  Bruno Haible  <bruno@clisp.org>
49460
49461         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
49462         (test_function): Skip tests involving -0.0 on platforms where
49463         -0.0 = 0.0.
49464         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
49465         (test_function): Skip tests involving -0.0 on platforms where
49466         -0.0 = 0.0.
49467         * tests/test-snprintf-posix.h (have_minus_zero): New function.
49468         (test_function): Skip tests involving -0.0 on platforms where
49469         -0.0 = 0.0.
49470         * tests/test-sprintf-posix.h (have_minus_zero): New function.
49471         (test_function): Skip tests involving -0.0 on platforms where
49472         -0.0 = 0.0.
49473         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
49474         tests.
49475         * tests/test-printf-posix.h (test_function): Likewise.
49476         * tests/test-printf-posix.output: Remove all -0.0 related results.
49477         Needed for IRIX 6.5.
49478
49479 2007-05-19  Bruno Haible  <bruno@clisp.org>
49480
49481         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
49482         printed as "nan0x7fffffff" instead of "nan".
49483         * tests/test-vasprintf-posix.c (test_function): Likewise.
49484         * tests/test-snprintf-posix.h (test_function): Likewise.
49485         * tests/test-sprintf-posix.h (test_function): Likewise.
49486         * tests/test-fprintf-posix.h (NaN): Remove macro.
49487         (test_function): Remove all NaN related tests.
49488         * tests/test-printf-posix.h (NaN): Remove macro.
49489         (test_function): Remove all NaN related tests.
49490         * tests/test-printf-posix.output: Remove all NaN related results.
49491         Needed for IRIX 6.5.
49492
49493 2007-05-19  Bruno Haible  <bruno@clisp.org>
49494
49495         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
49496         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
49497
49498 2007-05-19  Bruno Haible  <bruno@clisp.org>
49499
49500         * lib/float_.h: New file.
49501         * m4/float_h.m4: New file.
49502         * modules/float: New file.
49503         * modules/isnanl (Dependencies): Add float.
49504         * modules/isnanl-nolibm (Dependencies): Likewise.
49505         * modules/mathl (Dependencies): Likewise.
49506         * modules/printf-frexpl (Dependencies): Likewise.
49507         * modules/signbit (Dependencies): Likewise.
49508         * modules/vasnprintf (Dependencies): Likewise.
49509         * doc/headers/float.texi: Update.
49510
49511 2007-05-19  Jim Meyering  <jim@meyering.net>
49512
49513         * lib/utimens.c (gl_futimens): Rename from futimens,
49514         now that glibc-2.6 declares futimens.
49515         * lib/utimens.h: Likewise.
49516
49517 2007-05-19  Bruno Haible  <bruno@clisp.org>
49518
49519         Avoid test failures on mingw.
49520         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
49521         * tests/test-printf-posix.sh: Likewise.
49522         * tests/test-vfprintf-posix.sh: Likewise.
49523         * tests/test-vprintf-posix.sh: Likewise.
49524
49525 2007-05-19  Bruno Haible  <bruno@clisp.org>
49526
49527         Fix *printf result for NaN, Inf, -0.0 on mingw.
49528         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
49529         * lib/vasnprintf.c: Include math.h and isnan.h.
49530         (is_infinite_or_zero): New function.
49531         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
49532         values in the %f, %F, %e, %E, %g, %G directives.
49533         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
49534         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49535         gl_PRINTF_INFINITE and test its result. Invoke
49536         gl_PREREQ_VASNPRINTF_INFINITE.
49537         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49538         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49539         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49540         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49541         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49542         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49543         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49544         * doc/functions/fprintf.texi: Update.
49545         * doc/functions/printf.texi: Update.
49546         * doc/functions/snprintf.texi: Update.
49547         * doc/functions/sprintf.texi: Update.
49548         * doc/functions/vfprintf.texi: Update.
49549         * doc/functions/vprintf.texi: Update.
49550         * doc/functions/vsnprintf.texi: Update.
49551         * doc/functions/vsprintf.texi: Update.
49552
49553 2007-05-19  Bruno Haible  <bruno@clisp.org>
49554
49555         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
49556         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
49557         Instead of multiplying with 10^k, set extra_zeroes to k.
49558         (scale10_round_long_double): Remove function.
49559
49560 2007-05-18  Bruno Haible  <bruno@clisp.org>
49561
49562         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
49563         introduced on 2007-05-06.
49564
49565 2007-05-18  Bruno Haible  <bruno@clisp.org>
49566
49567         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
49568         %g directives.
49569         * tests/test-vasprintf-posix.c (test_function): Likewise.
49570         * tests/test-snprintf-posix.h (test_function): Likewise.
49571         * tests/test-sprintf-posix.h (test_function): Likewise.
49572
49573 2007-05-18  Bruno Haible  <bruno@clisp.org>
49574
49575         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
49576         (strmatch): New function.
49577         (test_function): Test the %f directive on numbers of various exponents.
49578         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
49579         (strmatch): New function.
49580         (test_function): Test the %f directive on numbers of various exponents.
49581         * tests/test-snprintf-posix.h (strmatch): New function.
49582         (test_function): Test the %f directive on numbers of various exponents.
49583         * tests/test-sprintf-posix.h (strmatch): New function.
49584         (test_function): Test the %f directive on numbers of various exponents.
49585         * tests/test-snprintf-posix.c (SIZEOF): New macro.
49586         * tests/test-sprintf-posix.c (SIZEOF): New macro.
49587         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
49588         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
49589
49590 2007-05-18  Bruno Haible  <bruno@clisp.org>
49591
49592         Add support for 'long double' number output.
49593         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
49594         * lib/vasnprintf.c: Include math.h and float+.h.
49595         (mp_limb_t): New type.
49596         (GMP_LIMB_BITS): New macro.
49597         (mp_twolimb_t): New type.
49598         (GMP_TWOLIMB_BITS): New macro.
49599         (mpn_t): New type.
49600         (multiply, divide, convert_to_decimal, decode_long_double,
49601         scale10_round_long_double, scale10_round_decimal_long_double,
49602         floorlog10l): New functions.
49603         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
49604         for the %f, %F, %e, %E, %g, %G directives.
49605         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
49606         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
49607         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
49608         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
49609         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
49610         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49611         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49612         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49613         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49614         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49615         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49616         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
49617         * modules/snprintf-posix (Depends-on): Likewise.
49618         * modules/sprintf-posix (Depends-on): Likewise.
49619         * modules/vasnprintf-posix (Depends-on): Likewise.
49620         * modules/vasprintf-posix (Depends-on): Likewise.
49621         * modules/vfprintf-posix (Depends-on): Likewise.
49622         * modules/vsnprintf-posix (Depends-on): Likewise.
49623         * modules/vsprintf-posix (Depends-on): Likewise.
49624         * modules/vasnprintf (Files): Add lib/float+.h.
49625         * doc/functions/fprintf.texi: Update.
49626         * doc/functions/printf.texi: Update.
49627         * doc/functions/snprintf.texi: Update.
49628         * doc/functions/sprintf.texi: Update.
49629         * doc/functions/vfprintf.texi: Update.
49630         * doc/functions/vprintf.texi: Update.
49631         * doc/functions/vsnprintf.texi: Update.
49632         * doc/functions/vsprintf.texi: Update.
49633
49634 2007-05-18  Bruno Haible  <bruno@clisp.org>
49635
49636         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
49637
49638 2007-05-18  Bruno Haible  <bruno@clisp.org>
49639
49640         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
49641         for printing 64-bit integers. Needed for mingw.
49642
49643 2007-05-18  Bruno Haible  <bruno@clisp.org>
49644
49645         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
49646         gl_FUNC_FREXPL_WORKS.
49647         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
49648
49649 2007-05-18  Bruno Haible  <bruno@clisp.org>
49650
49651         * modules/frexpl-nolibm-tests: New file.
49652
49653         * modules/frexpl-nolibm: New file.
49654         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
49655
49656 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
49657
49658         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
49659         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
49660         GCC 4.2, which otherwise issues a lot of warnings.
49661         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
49662         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
49663         Likewise.
49664         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
49665         * modules/iconv_open (iconv.h): Likewise.
49666         * modules/locale (locale.h): Likewise.
49667         * modules/netinet_in (netinet/in.h): Likewise.
49668         * modules/sys_select (sys_select.h): Likewise.
49669         * modules/sys_socket (sys/socket.h): Likewise.
49670         * modules/sys_stat (sys/stat.h): Likewise.
49671         * modules/sysexits (sysexits.h): Likewise.
49672         * modules/unistd (unistd.h): Likewise.
49673
49674 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49675
49676         * modules/closein-tests (Makefile.am): Distribute
49677         `test-closein.sh'.
49678
49679 2007-05-17  Bruno Haible  <bruno@clisp.org>
49680
49681         * tests/test-printf-posix.output: Renamed from
49682         tests/test-fprintf-posix.out.
49683         * modules/fprintf-posix-tests: Update.
49684         * modules/printf-posix-tests: Update.
49685         * modules/vfprintf-posix-tests: Update.
49686         * modules/vprintf-posix-tests: Update.
49687         * tests/test-fprintf-posix.sh: Update.
49688         * tests/test-printf-posix.sh: Update.
49689         * tests/test-vfprintf-posix.sh: Update.
49690         * tests/test-vprintf-posix.sh: Update.
49691         Reported by Ralf Wildenhues.
49692
49693 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
49694
49695         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
49696         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
49697         GCC 4.2, which otherwise issues a lot of warnings.
49698         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
49699         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
49700         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
49701         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
49702         it should no longer be needed.
49703         * lib/string_.h: Likewise.
49704         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
49705         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
49706         * modules/inttypes (inttypes.h): Likewise.
49707         * modules/math (math.h): Likewise.
49708         * modules/search (search.h): Likewise.
49709         * modules/signal (signal.h): Likewise.
49710         * modules/stdint (stdint.h): Likewise.
49711         * modules/stdio (stdio.h): Likewise.
49712         * modules/stdlib (stdlib.h): Likewise.
49713         * modules/string (string.h): Likewise.
49714         * modules/sys_time (sys/time.h): Likewise.
49715         * modules/time (time.h): Likewise.
49716         * modules/wchar (wchar.h): Likewise.
49717         * modules/wctype (wtype.h): Likewise.
49718
49719 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
49720
49721         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
49722
49723 2007-05-13  Bruno Haible  <bruno@clisp.org>
49724
49725         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
49726         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
49727         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
49728         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
49729         (gl_PREREQ_STRTOK_R): Don't require it here.
49730
49731 2007-05-13  Bruno Haible  <bruno@clisp.org>
49732
49733         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
49734         when used in C++ mode.
49735
49736 2007-05-12  Bruno Haible  <bruno@clisp.org>
49737
49738         * lib/linebuffer.h: Tweak doc.
49739         * lib/linebuffer.c: Likewise.
49740
49741 2007-05-12  James Youngman  <jay@gnu.org>
49742
49743         * lib/linebuffer.c (readlinebuffer_delim): New function,
49744         like readlinebuffer, but use a caller-specified delimiter.
49745         (readlinebuffer): Just call readlinebuffer_delim with '\n'
49746         as the delimiter.
49747         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
49748
49749 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
49750
49751         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
49752         * modules/openat (Files): Remove openat-die.c.
49753         (Depends-on): Add openat-die.
49754         * modules/openat-die: New module.
49755
49756 2007-05-06  Bruno Haible  <bruno@clisp.org>
49757
49758         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
49759         Update with info about Cygwin.
49760         * doc/functions/fprintf.texi: Update.
49761         * doc/functions/printf.texi: Update.
49762         * doc/functions/snprintf.texi: Update.
49763         * doc/functions/sprintf.texi: Update.
49764         * doc/functions/vfprintf.texi: Update.
49765         * doc/functions/vprintf.texi: Update.
49766         * doc/functions/vsnprintf.texi: Update.
49767         * doc/functions/vsprintf.texi: Update.
49768         Reported by Eric Blake.
49769
49770 2007-05-06  Bruno Haible  <bruno@clisp.org>
49771
49772         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
49773         padding ourselves for the floating-point directives.
49774         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
49775         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
49776         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49777         gl_PRINTF_FLAG_ZERO and test its result. Invoke
49778         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
49779         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49780         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
49781         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49782         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49783         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49784         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49785         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49786         * tests/test-snprintf-posix.h (test_function): Also check the width
49787         and some flags in the %f directive.
49788         * tests/test-sprintf-posix.h (test_function): Likewise.
49789         * tests/test-vasnprintf-posix.c (test_function): Likewise.
49790         * tests/test-vasprintf-posix.c (test_function): Likewise.
49791         * doc/functions/fprintf.texi: Update.
49792         * doc/functions/printf.texi: Update.
49793         * doc/functions/snprintf.texi: Update.
49794         * doc/functions/sprintf.texi: Update.
49795         * doc/functions/vfprintf.texi: Update.
49796         * doc/functions/vprintf.texi: Update.
49797         * doc/functions/vsnprintf.texi: Update.
49798         * doc/functions/vsprintf.texi: Update.
49799
49800 2007-05-06  Bruno Haible  <bruno@clisp.org>
49801
49802         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
49803         pass the ' flag character to sprintf or snprintf.
49804         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
49805         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
49806         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49807         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
49808         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
49809         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
49810         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
49811         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
49812         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
49813         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
49814         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49815         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
49816         * tests/test-snprintf-posix.h (test_function): Also check the grouping
49817         flag.
49818         * tests/test-sprintf-posix.h (test_function): Likewise.
49819         * tests/test-vasnprintf-posix.c (test_function): Likewise.
49820         * tests/test-vasprintf-posix.c (test_function): Likewise.
49821         * doc/functions/fprintf.texi: Update.
49822         * doc/functions/printf.texi: Update.
49823         * doc/functions/snprintf.texi: Update.
49824         * doc/functions/sprintf.texi: Update.
49825         * doc/functions/vfprintf.texi: Update.
49826         * doc/functions/vprintf.texi: Update.
49827         * doc/functions/vsnprintf.texi: Update.
49828         * doc/functions/vsprintf.texi: Update.
49829
49830 2007-05-01  Bruno Haible  <bruno@clisp.org>
49831
49832         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
49833
49834 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
49835
49836         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
49837         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
49838
49839 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
49840
49841         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
49842         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
49843         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
49844
49845 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
49846
49847         * lib/argp-help.c (struct hol_entry): New member `ord'.
49848         (HOL_ENTRY_PTRCMP): Use ord for comparison
49849         (hol_sort): Initialize ord.
49850
49851 2007-05-01  Bruno Haible  <bruno@clisp.org>
49852
49853         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
49854         Reported by Eric Blake.
49855         * doc/gnulib.texi (Function Substitutes): Update.
49856
49857 2007-05-01  Bruno Haible  <bruno@clisp.org>
49858
49859         * doc/functions.texi: Remove file, now redundant through
49860         doc/functions/*.texi.
49861
49862 2007-05-01  Bruno Haible  <bruno@clisp.org>
49863
49864         * modules/argp (Depends-on): Add sleep.
49865
49866 2007-05-01  Bruno Haible  <bruno@clisp.org>
49867
49868         * modules/sleep-tests: New file.
49869         * tests/test-sleep.c: New file.
49870
49871         * modules/sleep: New file.
49872         * lib/sleep.c: New file.
49873         * m4/sleep.m4: New file.
49874         * lib/unistd_.h (sleep): New declaration.
49875         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
49876         HAVE_SLEEP.
49877         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
49878         * doc/functions/sleep.texi: Document the sleep module.
49879
49880 2007-05-01  Bruno Haible  <bruno@clisp.org>
49881
49882         * lib/sigprocmask.h: Remove file.
49883         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
49884         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
49885         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
49886         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
49887         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
49888         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
49889         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
49890         HAVE_SIGSET_T as a shell variable.
49891         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
49892         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
49893         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
49894         (Depends-on): Add signal. Remove verify.
49895         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
49896         (Include): Mention <signal.h> instead of sigprocmask.h.
49897         * NEWS: Mention the change.
49898         * lib/fatal-signal.c: Don't include sigprocmask.h.
49899
49900 2007-05-01  Bruno Haible  <bruno@clisp.org>
49901
49902         * modules/signal: New file.
49903         * lib/signal_.h: New file.
49904         * m4/signal_h.m4: New file.
49905
49906 2007-05-01  Bruno Haible  <bruno@clisp.org>
49907
49908         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
49909         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
49910         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
49911         HAVE_WCTYPE_CTMP_BUG into wctype.h.
49912
49913 2007-05-01  Bruno Haible  <bruno@clisp.org>
49914
49915         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
49916         configure time.
49917         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
49918         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
49919         * modules/sys_stat (Makefile.am): Substitute their values into
49920         sys/stat.h.
49921
49922 2007-05-01  Bruno Haible  <bruno@clisp.org>
49923
49924         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
49925         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
49926         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
49927
49928 2007-05-01  Bruno Haible  <bruno@clisp.org>
49929
49930         * doc/header/assert.texi: Undo last change: don't mention the gnulib
49931         'assert' module here.
49932
49933 2007-05-01  Bruno Haible  <bruno@clisp.org>
49934
49935         * doc/functions/*.texi: New files.
49936         * doc/functions/google-ranking.txt: New file.
49937         * doc/gnulib.texi (Function Substitutes): New chapter.
49938         (ctime, inet_ntoa): Remove sections.
49939         * doc/ctime.texi: Remove file.
49940         * doc/inet_ntoa.texi: Remove file.
49941         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
49942         dependencies.
49943         (%.info): New rule, specifying a --reference-limit.
49944
49945 2007-05-01  Bruno Haible  <bruno@clisp.org>
49946
49947         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
49948
49949 2007-05-01  Bruno Haible  <bruno@clisp.org>
49950
49951         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
49952         the portability of 'mkdir' to mingw systems.
49953
49954 2007-05-01  Bruno Haible  <bruno@clisp.org>
49955
49956         * doc/headers/google-ranking.txt: New file.
49957
49958 2007-04-30  Eric Blake  <ebb9@byu.net>
49959
49960         Prefer fseeko to fseek.
49961         * modules/getpass (Depends-on): Add fseeko.
49962         * lib/getpass.c (getpass): Use fseeko, not fseek.
49963
49964 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
49965
49966         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
49967         assumes the sorting is stable, while most qsort implementations
49968         are not.  Use argument addresses to ensure they never compare as
49969         equal.
49970
49971         * tests/test-argp-2.sh (usage-indent test): Fix output
49972         (func_compare): Restore diff options
49973         * tests/test-argp.c: Restore #include "progname.h"
49974
49975 2007-04-29  Bruno Haible  <bruno@clisp.org>
49976
49977         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
49978         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
49979         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
49980         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
49981         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
49982         (configure.ac): Define CHECK_SNPRINTF_POSIX.
49983         (TESTS, check_PROGRAMS): Add test-snprintf.
49984         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
49985         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
49986         (TESTS, check_PROGRAMS): Add test-vsnprintf.
49987         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
49988         assertions that fail on HP-UX, OSF/1, or IRIX.
49989         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
49990
49991 2007-04-29  Bruno Haible  <bruno@clisp.org>
49992
49993         * MODULES.html.sh (posix_functions): Remove 'contents'.
49994
49995 2007-04-29  Karl Berry  <karl@gnu.org>
49996
49997         * config/srclist.txt (gendocs_template_min): new entry.
49998
49999 2007-04-29  Bruno Haible  <bruno@clisp.org>
50000
50001         Work around fpurge bug on BSD systems.
50002         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
50003         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
50004         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
50005         fpurge to rpl_fpurge if the system already has this function.
50006         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
50007         the case where the system already has this function. Correct invariants
50008         on BSD systems.
50009         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
50010         BSD systems.
50011
50012 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
50013
50014         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
50015         proposed by Sven Verdoolaege.
50016
50017         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
50018         options.
50019         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
50020         (usage and help tests): Update
50021
50022 2007-04-29  Bruno Haible  <bruno@clisp.org>
50023
50024         * tests/test-fflush.c (main): Use a file of size 17, not 10.
50025         Print more information in case of failure. Disable a test on BeOS.
50026
50027 2007-04-29  Bruno Haible  <bruno@clisp.org>
50028
50029         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
50030         This helps debugging on systems on which no gdb is available.
50031
50032 2007-04-29  Bruno Haible  <bruno@clisp.org>
50033
50034         * lib/freading.h: Improve comments.
50035         * lib/fwriting.h: Likewise.
50036         * tests/test-freading.c (main): Don't check freading immediately after
50037         repositioning. Needed for glibc.
50038
50039 2007-04-29  Bruno Haible  <bruno@clisp.org>
50040
50041         * lib/freading.c (freading): Trivial simplification.
50042
50043 2007-04-28  Bruno Haible  <bruno@clisp.org>
50044
50045         * tests/test-fwriting.c (main): Also test the interaction between
50046         fflush and fwriting.
50047         * modules/fwriting-tests (Depends-on): Add fflush.
50048
50049         * tests/test-freading.c (main): Also test the interaction between
50050         fflush and freading.
50051         * modules/freading-tests (Depends-on): Add fflush.
50052
50053 2007-04-28  Bruno Haible  <bruno@clisp.org>
50054
50055         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
50056         fseeko and ftello.
50057         Suggested by Eric Blake.
50058
50059 2007-04-28  Jim Meyering  <jim@meyering.net>
50060
50061         Avoid false-negative in gl_STDINT_H's C99 conformance test.
50062         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
50063         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
50064
50065 2007-04-27  Eric Blake  <ebb9@byu.net>
50066
50067         * doc/headers/assert.texi (assert.h): Document assert module use.
50068
50069 2007-04-27  Bruno Haible  <bruno@clisp.org>
50070
50071         * doc/headers/*.texi: New files.
50072         * doc/gnulib.texi (Header File Substitutes): New chapter.
50073         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
50074         dependencies.
50075         (standards.info ,standards.html, standards.dvi): Update dependencies.
50076         (mostlyclean, clean): New targets.
50077
50078 2007-04-27  Bruno Haible  <bruno@clisp.org>
50079
50080         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
50081         * modules/sysexits (Files, Makefile.am): Update.
50082
50083         * lib/sys_socket_.h: Renamed from lib/socket_.h.
50084         * modules/sys_socket (Files, Makefile.am): Update.
50085
50086         * lib/sys_stat_.h: Renamed from lib/stat_.h.
50087         * modules/sys_stat (Files, Makefile.am): Update.
50088
50089 2007-04-27  Eric Blake  <ebb9@byu.net>
50090
50091         * lib/freading.h: Improve comments.
50092         * lib/fwriting.h: Likewise.
50093         * lib/fflush.c: Likewise.
50094
50095         Fix closein for mingw.
50096         * modules/closein-tests: Add tests for closein.
50097         * tests/test-closein.c: New file.
50098         * tests/test-closein.sh: Likewise.
50099         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
50100         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
50101
50102 2007-04-27  Bruno Haible  <bruno@clisp.org>
50103
50104         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
50105         version is < 6.
50106         * lib/math_.h [__DECC]: Likewise.
50107         * lib/stdio_.h [__DECC]: Likewise.
50108         * lib/stdlib_.h [__DECC]: Likewise.
50109         * lib/string_.h [__DECC]: Likewise.
50110         * lib/time_.h [__DECC]: Likewise.
50111         * lib/wchar_.h [__DECC]: Likewise.
50112         * lib/wctype_.h [__DECC]: Likewise.
50113
50114 2007-04-27  Bruno Haible  <bruno@clisp.org>
50115
50116         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
50117
50118 2007-04-27  Bruno Haible  <bruno@clisp.org>
50119
50120         * lib/fflush.c: Add comments.
50121         * modules/fpurge-tests (Depends-on): Add fflush.
50122         * modules/freadable-tests (Depends-on): Likewise.
50123         * modules/fwritable-tests (Depends-on): Likewise.
50124
50125 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
50126
50127         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
50128         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
50129         Report by Bruno Haible <bruno@clisp.org>.
50130
50131 2007-04-26  Eric Blake  <ebb9@byu.net>
50132
50133         Fix fflush on mingw.
50134         * modules/fflush (Depends-on): Add freading.
50135         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
50136         but unread data.
50137
50138 2007-04-26  Eric Blake  <ebb9@byu.net>
50139         and Bruno Haible  <bruno@clisp.org>
50140
50141         Implement freading and fwriting.
50142         * lib/freading.c: New file.
50143         * lib/freading.h: Likewise.
50144         * m4/freading.m4: Likewise.
50145         * modules/freading: Likewise.
50146         * modules/freading-tests: Likewise.
50147         * tests/test-freading.c: Likewise.
50148         * lib/fwriting.c: New file.
50149         * lib/fwriting.h: Likewise.
50150         * m4/fwriting.m4: Likewise.
50151         * modules/fwriting: Likewise.
50152         * modules/fwriting-tests: Likewise.
50153         * tests/test-fwriting.c: Likewise.
50154         * MODULES.html.sh (File stream based Input/Output): Mention them.
50155
50156 2007-04-26  Bruno Haible  <bruno@clisp.org>
50157
50158         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
50159         'long' when we assume it.
50160         Suggested by Eric Blake.
50161
50162 2007-04-26  Bruno Haible  <bruno@clisp.org>
50163
50164         Ensure fseeko, ftello are declared on glibc systems.
50165         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
50166         * modules/fseeko (configure.ac-early): Likewise.
50167         * modules/ftello (configure.ac-early): Likewise.
50168         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
50169         AC_FUNC_FSEEKO for this.
50170         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
50171         (gl_CHECK_FSEEKO): Remove macro.
50172
50173 2007-04-26  Bruno Haible  <bruno@clisp.org>
50174
50175         * tests/test-fflush.c (main): Also check the ftell result after
50176         fflush and fseek/fseeko.
50177         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
50178         file descriptor position cache in the stream.
50179         * lib/fseeko.c (rpl_fseeko): Likewise.
50180
50181 2007-04-26  Bruno Haible  <bruno@clisp.org>
50182
50183         * modules/fflush-tests (Depends-on): Add fseeko.
50184
50185 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
50186             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50187
50188         * lib/argz_.h: ensure error_t definition is obtained in same
50189         mechanism system argz.h would have.
50190         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
50191         argz facilities are known bad.  Err on the side of caution if
50192         cross-compiling.
50193
50194 2007-04-25  Eric Blake  <ebb9@byu.net>
50195
50196         * lib/fpurge.c (includes): Use stdlib.h for free.
50197         * tests/test-fflush.c (main): Also test fflush-fseeko.
50198
50199 2007-04-25  Bruno Haible  <bruno@clisp.org>
50200
50201         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
50202         * lib/fseeko.c: New file.
50203         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
50204         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
50205         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
50206         gl_FUNC_FSEEKO.
50207         (gl_FUNC_FSEEKO): Invoke it.
50208         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
50209         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
50210         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
50211
50212 2007-04-25  Bruno Haible  <bruno@clisp.org>
50213
50214         * modules/fflush (Depends-on): Add ftello.
50215
50216 2007-04-25  Bruno Haible  <bruno@clisp.org>
50217
50218         * modules/ftello-tests: New file.
50219         * tests/test-ftello.c: New file.
50220
50221         * modules/ftello: New file.
50222         * m4/ftello.m4: New file.
50223         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
50224         HAVE_FTELLO.
50225         * lib/stdio_.h (ftello): New declaration.
50226         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
50227         HAVE_FTELLO.
50228
50229 2007-04-25  Bruno Haible  <bruno@clisp.org>
50230
50231         * modules/fseeko-tests: New file.
50232         * tests/test-fseeko.c: New file.
50233
50234         * modules/fseeko: New file.
50235         * m4/fseeko.m4: New file.
50236         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
50237         HAVE_FSEEKO.
50238         * lib/stdio_.h (fseeko): New declaration.
50239         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
50240         HAVE_FSEEKO.
50241
50242 2007-04-25  Bruno Haible  <bruno@clisp.org>
50243
50244         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
50245
50246 2007-04-25  Bruno Haible  <bruno@clisp.org>
50247
50248         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
50249         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
50250         * tests/test-unistd.c: Likewise.
50251         * tests/test-fcntl.c: Likewise.
50252
50253 2007-04-23  Eric Blake  <ebb9@byu.net>
50254
50255         * lib/fflush.c: Fix missing include.
50256         Reported by Bruno Haible.
50257
50258 2007-04-23  Bruno Haible  <bruno@clisp.org>
50259
50260         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
50261         Reported by Eric Blake.
50262
50263 2007-04-23  Bruno Haible  <bruno@clisp.org>
50264
50265         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
50266
50267 2007-04-23  Bruno Haible  <bruno@clisp.org>
50268
50269         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
50270
50271 2007-04-23  Bruno Haible  <bruno@clisp.org>
50272
50273         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
50274         Needed on HP-UX 11.
50275
50276 2007-04-16  Eric Blake  <ebb9@byu.net>
50277
50278         Make fflush rely on fpurge.
50279         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
50280         open coding all variants.
50281         * modules/fflush (Depends-on): Add fpurge and unistd.
50282         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
50283         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
50284
50285         Fix --with-tests compilation on cygwin.
50286         * modules/argmatch-tests (Makefile.am): List gnulib library first
50287         in LDADD.
50288         * modules/argp-tests (Makefile.am): Likewise.
50289         * modules/array-list-tests (Makefile.am): Likewise.
50290         * modules/array-oset-tests (Makefile.am): Likewise.
50291         * modules/avltree-list-tests (Makefile.am): Likewise.
50292         * modules/avltree-oset-tests (Makefile.am): Likewise.
50293         * modules/avltreehash-list-tests (Makefile.am): Likewise.
50294         * modules/carray-list-tests (Makefile.am): Likewise.
50295         * modules/dirname-tests (Makefile.am): Likewise.
50296         * modules/frexp-tests (Makefile.am): Likewise.
50297         * modules/isnanl-tests (Makefile.am): Likewise.
50298         * modules/linked-list-tests (Makefile.am): Likewise.
50299         * modules/linkedhash-list-tests (Makefile.am): Likewise.
50300         * modules/lock-tests (Makefile.am): Likewise.
50301         * modules/rbtree-list-tests (Makefile.am): Likewise.
50302         * modules/rbtree-oset-tests (Makefile.am): Likewise.
50303         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
50304         * modules/tls-tests (Makefile.am): Likewise.
50305         * modules/tsearch-tests (Makefile.am): Likewise.
50306         * modules/xvasprintf-tests (Makefile.am): Likewise.
50307
50308         Fix fpurge for cygwin.
50309         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
50310         value.
50311         * modules/fpurge-tests (Depends-on): Clean up trash.
50312
50313 2007-04-16  Simon Josefsson  <simon@josefsson.org>
50314
50315         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
50316
50317         * m4/autobuild.m4: Re-indent.
50318
50319 2007-04-13  Bruno Haible  <bruno@clisp.org>
50320
50321         * modules/fpurge-tests: New file.
50322         * tests/test-fpurge.c: New file.
50323
50324         * modules/fpurge: New file.
50325         * lib/fpurge.h: New file.
50326         * lib/fpurge.c: New file.
50327         * m4/fpurge.m4: New file.
50328
50329 2007-04-13  Bruno Haible  <bruno@clisp.org>
50330
50331         * modules/fbufmode-tests: New file.
50332         * tests/test-fbufmode.c: New file.
50333
50334         * modules/fbufmode: New file.
50335         * lib/fbufmode.h: New file.
50336         * lib/fbufmode.c: New file.
50337         * m4/fbufmode.m4: New file.
50338
50339 2007-04-13  Bruno Haible  <bruno@clisp.org>
50340
50341         * modules/fwritable-tests: New file.
50342         * tests/test-fwritable.c: New file.
50343
50344         * modules/fwritable: New file.
50345         * lib/fwritable.h: New file.
50346         * lib/fwritable.c: New file.
50347         * m4/fwritable.m4: New file.
50348
50349 2007-04-13  Bruno Haible  <bruno@clisp.org>
50350
50351         * modules/freadable-tests: New file.
50352         * tests/test-freadable.c: New file.
50353
50354         * modules/freadable: New file.
50355         * lib/freadable.h: New file.
50356         * lib/freadable.c: New file.
50357         * m4/freadable.m4: New file.
50358
50359 2007-04-13  Bruno Haible  <bruno@clisp.org>
50360
50361         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
50362         MOSTLYCLEANFILES.
50363
50364 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
50365
50366         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
50367         gzip bootstrap.conf to avoid dragging in i18n machinery.
50368         (gnulib_tool_option): Use it.
50369
50370 2007-04-13  Bruno Haible  <bruno@clisp.org>
50371
50372         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
50373         %F directives.
50374         * tests/test-vasprintf-posix.c (test_function): Likewise.
50375         * tests/test-snprintf-posix.h (test_function): Likewise.
50376         * tests/test-sprintf-posix.h (test_function): Likewise.
50377         * tests/test-fprintf-posix.h (test_function): Likewise.
50378         * tests/test-printf-posix.h (test_function): Likewise.
50379         * tests/test-fprintf-posix.out: Likewise.
50380
50381 2007-04-13  Bruno Haible  <bruno@clisp.org>
50382
50383         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
50384         * modules/tls-tests (configure.ac): Likewise.
50385         Reported by Arto C. Nirkko <anirkko@insel.ch>.
50386
50387 2007-04-13  Bruno Haible  <bruno@clisp.org>
50388
50389         * lib/tls.c (glthread_tls_get): Fix return type.
50390         Patch by Arto C. Nirkko <anirkko@insel.ch>.
50391
50392 2007-04-12  Eric Blake  <ebb9@byu.net>
50393
50394         * modules/gettime (Depends-on): Remove gettime.
50395         Reported by Dmitry V. Levin.
50396
50397 2007-04-12  Bruno Haible  <bruno@clisp.org>
50398
50399         * modules/fflush (Include): Mention <stdio.h>.
50400         * modules/strtoimax (Include): Mention <inttypes.h>.
50401         * modules/strtoumax (Include): Likewise.
50402
50403 2007-04-12  Eric Blake  <ebb9@byu.net>
50404
50405         * .cvsignore: New file.
50406         * .gitignore: Likewise.
50407
50408 2007-04-12  Bruno Haible  <bruno@clisp.org>
50409
50410         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
50411         not before, since $(LDADD) often contains libgnu.a.
50412         * modules/striconv-tests (test_striconv_LDADD): Likewise.
50413         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
50414         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
50415         Needed on Cygwin.
50416
50417 2007-04-12  Eric Blake  <ebb9@byu.net>
50418
50419         Work around glibc's failure to flush stdin on fclose.
50420         * lib/closein.c (close_stdin): Flush stdin before closing.
50421
50422         Work around glibc's failure to reset seekable stdin on exit.
50423         * modules/closein: New module.
50424         * lib/closein.c: New file.
50425         * lib/closein.h: Likewise.
50426         * m4/closein.m4: Likewise.
50427         * MODULES.html.sh (File stream based Input/Output): Document it.
50428
50429 2007-04-12  Simon Josefsson  <simon@josefsson.org>
50430
50431         * gnulib-tool: Rename generated 'autobuild' script to
50432         'do-autobuild' in --create-megatestdir output.
50433
50434         * doc/gnulib.texi (Build robot for gnulib): Fix.
50435
50436 2007-04-12  Simon Josefsson  <simon@josefsson.org>
50437
50438         * modules/sysexits (Depends-on): Add absolute-header.
50439
50440 2007-04-12  Eric Blake  <ebb9@byu.net>
50441
50442         No need to preserve errno on success.
50443         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
50444         Reported by Bruno Haible.
50445
50446 2007-04-12  Simon Josefsson  <simon@josefsson.org>
50447
50448         * MODULES.html.sh (Support for maintaining and releasing
50449         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
50450
50451 2007-04-12  Simon Josefsson  <simon@josefsson.org>
50452
50453         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
50454
50455 2007-04-12  Simon Josefsson  <simon@josefsson.org>
50456
50457         * modules/autobuild: New module.
50458
50459         * m4/autobuild.m4: New file.
50460
50461 2007-04-11  Bruno Haible  <bruno@clisp.org>
50462
50463         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
50464         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
50465         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
50466         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
50467         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50468         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
50469         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
50470         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
50471         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
50472         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
50473         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
50474         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
50475         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
50476         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
50477         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
50478         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
50479         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
50480         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
50481         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
50482         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
50483         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
50484         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
50485         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
50486         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
50487         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
50488         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
50489         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
50490         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
50491         Reported by Eric Blake.
50492
50493 2007-04-11  Bruno Haible  <bruno@clisp.org>
50494
50495         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
50496
50497 2007-04-10  Bruno Haible  <bruno@clisp.org>
50498
50499         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
50500         for NaN and Infinity. Needed on FreeBSD 6.1.
50501         * tests/test-vasnprintf-posix.c (test_function): Undo last change
50502         regarding results for "%010a" of Infinity and NaN.
50503         * tests/test-vasprintf-posix.c (test_function): Likewise.
50504         * tests/test-snprintf-posix.h (test_function): Likewise.
50505         * tests/test-sprintf-posix.h (test_function): Likewise.
50506         * tests/test-fprintf-posix.h (test_function): Likewise.
50507         * tests/test-printf-posix.h (test_function): Likewise.
50508         * tests/test-fprintf-posix.out: Likewise.
50509
50510 2007-04-10  Bruno Haible  <bruno@clisp.org>
50511
50512         * modules/locale-tests: New file.
50513         * tests/test-locale.c: New file.
50514
50515         * modules/locale: New file.
50516         * lib/locale_.h: New file.
50517         * m4/locale_h.m4: New file.
50518
50519 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
50520             Bruno Haible  <bruno@clisp.org>
50521
50522         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
50523         be determined, test for availability of the copysignf, copysign,
50524         copysignl functions.
50525         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
50526         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
50527         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
50528
50529 2007-04-09  Eric Blake  <ebb9@byu.net>
50530
50531         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
50532         * modules/stdio (Makefile.am): Support fflush.
50533         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
50534         * modules/fflush: New file.
50535         * lib/fflush.c: Likewise.
50536         * m4/fflush.m4: Likewise.
50537         * modules/fflush-tests: New test.
50538         * tests/test-fflush.c: Likewise.
50539         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
50540
50541 2007-04-06  Bruno Haible  <bruno@clisp.org>
50542
50543         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
50544         (VASNPRINTF): Use signbit for faster determination whether to print a
50545         minus sign.
50546         * modules/vasnprintf (Files): Remove lib/float+.h.
50547         * modules/fprintf-posix (Depends-on): Add signbit.
50548         * modules/snprintf-posix (Depends-on): Likewise.
50549         * modules/sprintf-posix (Depends-on): Likewise.
50550         * modules/vasnprintf-posix (Depends-on): Likewise.
50551         * modules/vasprintf-posix (Depends-on): Likewise.
50552         * modules/vfprintf-posix (Depends-on): Likewise.
50553         * modules/vsnprintf-posix (Depends-on): Likewise.
50554         * modules/vsprintf-posix (Depends-on): Likewise.
50555
50556 2007-04-06  Bruno Haible  <bruno@clisp.org>
50557
50558         * tests/test-frexp.c (main): Test also the sign bit of zero results.
50559         * tests/test-frexpl.c (main): Likewise.
50560         * tests/test-ldexpl.c (main): Likewise.
50561         * modules/frexp-tests (Depends-on): Add signbit.
50562         * modules/frexpl-tests (Depdends-on): Likewise.
50563         * modules/ldexpl-tests (Depdends-on): Likewise.
50564
50565 2007-04-06  Bruno Haible  <bruno@clisp.org>
50566
50567         * modules/signbit-tests: New file.
50568         * tests/test-signbit.c: New file.
50569
50570         * modules/signbit: New file.
50571         * lib/signbitf.c: New file.
50572         * lib/signbitd.c: New file.
50573         * lib/signbitl.c: New file.
50574         * m4/signbit.m4: New file.
50575         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
50576         (signbit): New macro.
50577         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
50578         REPLACE_SIGNBIT.
50579         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
50580         REPLACE_FREXPL into math.h.
50581
50582 2007-04-06  Bruno Haible  <bruno@clisp.org>
50583
50584         * modules/isnanf-nolibm-tests: New file.
50585         * tests/test-isnanf.c: New file.
50586
50587         * modules/isnanf-nolibm: New file.
50588         * lib/isnanf.h: New file.
50589         * lib/isnanf.c: New file.
50590         * lib/isnan.c: Consider the USE_FLOAT macro.
50591         * m4/isnanf.m4: New file.
50592
50593 2007-04-06  Bruno Haible  <bruno@clisp.org>
50594
50595         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
50596         (Link): New section.
50597
50598         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
50599
50600 2007-04-06  Bruno Haible  <bruno@clisp.org>
50601
50602         Assume the 'long double' type.
50603         * m4/longdouble.m4: Remove file.
50604         * config/srclist.txt: Don't mention longdouble.m4.
50605         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
50606         * lib/float+.h: Likewise.
50607         * lib/frexp.c: Likewise.
50608         * lib/printf-args.h: Likewise.
50609         * lib/printf-args.c: Likewise.
50610         * lib/printf-frexp.c: Likewise.
50611         * lib/printf-parse.c: Likewise.
50612         * lib/vasnprintf.c: Likewise.
50613         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
50614         * m4/intl.m4: Likewise.
50615         * m4/isnanl.m4: Likewise.
50616         * m4/printf.m4: Likewise.
50617         * m4/printf-frexpl.m4: Likewise.
50618         * m4/vasnprintf.m4: Likewise.
50619         * modules/allocsa (Files): Remove m4/longdouble.m4.
50620         * modules/gettext (Files): Likewise.
50621         * modules/relocatable-prog-wrapper (Files): Likewise.
50622         * modules/vasnprintf (Files): Likewise.
50623         * modules/isnanl (Files): Likewise.
50624         (Include): Simplify.
50625         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
50626         (Include): Simplify.
50627         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
50628         (Include): Simplify.
50629         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
50630         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50631         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
50632         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50633         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
50634         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50635         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
50636         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50637         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
50638         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50639         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
50640         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
50641         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
50642         * tests/test-isnanl.c: Likewise.
50643         * tests/test-snprintf-posix.h: Likewise.
50644         * tests/test-sprintf-posix.h: Likewise.
50645         * tests/test-vasnprintf-posix.c: Likewise.
50646         * tests/test-vasnprintf-posix2.c: Likewise.
50647         * tests/test-vasprintf-posix.c: Likewise.
50648
50649 2007-04-06  Bruno Haible  <bruno@clisp.org>
50650
50651         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
50652         * lib/math_.h [__DECC]: Include the overridden include file through
50653         #include_next, outside the double-inclusion guard.
50654         * lib/stdio_.h [__DECC]: Likewise.
50655         * lib/stdlib_.h [__DECC]: Likewise.
50656         * lib/string_.h [__DECC]: Likewise.
50657         * lib/time_.h [__DECC]: Likewise.
50658         * lib/wchar_.h [__DECC]: Likewise.
50659         * lib/wctype_.h [__DECC]: Likewise.
50660         * lib/inttypes_.h [__DECC]: Likewise.
50661         Reported by Albert Chin <china@thewrittenword.com> in
50662         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
50663
50664 2007-04-04  Eric Blake  <ebb9@byu.net>
50665
50666         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
50667         1.5.x.
50668
50669 2007-04-04  Bruno Haible  <bruno@clisp.org>
50670
50671         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
50672         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
50673
50674 2007-04-04  Bruno Haible  <bruno@clisp.org>
50675
50676         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
50677         results for "%010a" of Infinity and NaN.
50678         * tests/test-vasprintf-posix.c (test_function): Likewise.
50679         * tests/test-snprintf-posix.h (test_function): Likewise.
50680         * tests/test-sprintf-posix.h (test_function): Likewise.
50681         * tests/test-fprintf-posix.h (test_function): Remove these tests.
50682         * tests/test-printf-posix.h (test_function): Likewise.
50683         * tests/test-fprintf-posix.out: Update.
50684         Needed for FreeBSD 6.1.
50685
50686 2007-04-04  Bruno Haible  <bruno@clisp.org>
50687
50688         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
50689         directly used by the gnulib modules nor by gnulib-tool.
50690
50691 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
50692
50693         * DEPENDENCIES: Give overall description of version dependency
50694         desirability.  Use more-typical names for apps.
50695         Add shell, coreutils, diffutils, grep, tar, gzip.
50696
50697 2007-04-04  Simon Josefsson  <simon@josefsson.org>
50698
50699         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
50700
50701 2007-04-04  Karl Berry  <karl@gnu.org>
50702
50703         * MODULES.html.sh (func_module): missing '.
50704
50705 2007-04-03  Bruno Haible  <bruno@clisp.org>
50706
50707         * modules/argmatch-tests (Makefile.am): New variable
50708         test_argmatch_LDADD.
50709         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
50710         * modules/array-list-tests (Makefile.am): New variable
50711         test_array_list_LDADD.
50712         * modules/array-oset-tests (Makefile.am): New variable
50713         test_array_oset_LDADD.
50714         * modules/avltree-list-tests (Makefile.am): New variable
50715         test_avltree_list_LDADD.
50716         * modules/avltree-oset-tests (Makefile.am): New variable
50717         test_avltree_oset_LDADD.
50718         * modules/avltreehash-list-tests (Makefile.am): New variable
50719         test_avltreehash_list_LDADD.
50720         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
50721         test_canonicalize_lgpl_LDADD.
50722         * modules/carray-list-tests (Makefile.am): New variable
50723         test_carray_list_LDADD.
50724         * modules/dirname-tests (Makefile.am): New variable
50725         test_dirname_LDADD.
50726         * modules/linked-list-tests (Makefile.am): New variable
50727         test_linked_list_LDADD.
50728         * modules/linkedhash-list-tests (Makefile.am): New variable
50729         test_linkedhash_list_LDADD.
50730         * modules/rbtree-list-tests (Makefile.am): New variable
50731         test_rbtree_list_LDADD.
50732         * modules/rbtree-oset-tests (Makefile.am): New variable
50733         test_rbtree_oset_LDADD.
50734         * modules/rbtreehash-list-tests (Makefile.am): New variable
50735         test_rbtreehash_list_LDADD.
50736         * modules/xvasprintf-tests (Makefile.am): New variable
50737         test_xvasprintf_LDADD.
50738         Reported by Eric Blake.
50739
50740 2007-04-03  Eric Blake  <ebb9@byu.net>
50741
50742         * DEPENDENCIES: Weaken m4 requirements.
50743
50744 2007-04-03  Bruno Haible  <bruno@clisp.org>
50745
50746         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
50747         * modules/isnanl-tests (configure.ac): Likewise.
50748
50749 2007-04-03  Ben Pfaff  <blp@gnu.org>
50750
50751         * modules/iconv_open: Add $(srcdir)/ to source directory
50752         references in Makefile fragments that call gperf, to fix VPATH
50753         builds.
50754
50755 2007-04-03  Bruno Haible  <bruno@clisp.org>
50756
50757         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
50758         * lib/ldexpl.c: Undo last change.
50759
50760 2007-04-03  Bruno Haible  <bruno@clisp.org>
50761
50762         * modules/printf-frexpl (Depends-on): Undo last change.
50763         (Files): Add m4/ldexpl.m4.
50764
50765 2007-04-03  Bruno Haible  <bruno@clisp.org>
50766
50767         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
50768         * modules/isnanl (Link): New section.
50769
50770         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
50771         * modules/frexp (Link): New section.
50772
50773         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
50774         * modules/frexpl (Link): New section.
50775
50776         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
50777         * modules/ldexpl (Link): New section.
50778
50779 2007-04-03  Bruno Haible  <bruno@clisp.org>
50780
50781         * modules/TEMPLATE-EXTENDED: New file.
50782         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
50783
50784 2007-04-03  Bruno Haible  <bruno@clisp.org>
50785
50786         * DEPENDENCIES: New file.
50787         Suggested by Simon Josefsson.
50788
50789 2007-04-03  Bruno Haible  <bruno@clisp.org>
50790
50791         * doc/gnulib.texi: Escape @.
50792
50793 2007-04-03  James Youngman  <jay@gnu.org>
50794         and Paul Eggert  <eggert@cs.ucla.edu>
50795
50796         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
50797         birthtime on all systems that have birthtime, not just those which
50798         use st_birthtimensec rather than st_birthtim.  Putting zero in
50799         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
50800         that the birth time is not available for files on an NFS mount.
50801
50802 2007-04-03  Simon Josefsson  <simon@josefsson.org>
50803
50804         * modules/memxor: Move back from crypto/, suggested by Bruno.
50805         * modules/crypto/hmac-sha1: Fix memxor dependency.
50806
50807         * modules/crypto/gc: Moved from ../.
50808
50809 2007-04-02  Eric Blake  <ebb9@byu.net>
50810
50811         * lib/ldexpl.c (includes): Avoid libm.
50812
50813         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
50814
50815 2007-04-02  Bruno Haible  <bruno@clisp.org>
50816
50817         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
50818         on IRIX.
50819
50820 2007-04-02  Bruno Haible  <bruno@clisp.org>
50821
50822         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
50823         x86 or x86_64 platforms running MacOS X.
50824         Reported by Ryan Schmidt <@ryandesign.com>.
50825
50826 2007-04-02  Bruno Haible  <bruno@clisp.org>
50827
50828         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
50829         i386.
50830
50831 2007-04-01  Simon Josefsson  <simon@josefsson.org>
50832
50833         * modules/crypto/arcfour: Moved from ../.
50834         * modules/crypto/arcfour-tests: Moved from ../.
50835         * modules/crypto/arctwo: Moved from ../.
50836         * modules/crypto/arctwo-tests: Moved from ../.
50837         * modules/crypto/des: Moved from ../.
50838         * modules/crypto/des-tests: Moved from ../.
50839         * modules/crypto/gc-arcfour: Moved from ../.
50840         * modules/crypto/gc-arcfour-tests: Moved from ../.
50841         * modules/crypto/gc-arctwo: Moved from ../.
50842         * modules/crypto/gc-arctwo-tests: Moved from ../.
50843         * modules/crypto/gc-des: Moved from ../.
50844         * modules/crypto/gc-des-tests: Moved from ../.
50845         * modules/crypto/gc-hmac-md5: Moved from ../.
50846         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
50847         * modules/crypto/gc-hmac-sha1: Moved from ../.
50848         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
50849         * modules/crypto/gc-md2: Moved from ../.
50850         * modules/crypto/gc-md2-tests: Moved from ../.
50851         * modules/crypto/gc-md4: Moved from ../.
50852         * modules/crypto/gc-md4-tests: Moved from ../.
50853         * modules/crypto/gc-md5: Moved from ../.
50854         * modules/crypto/gc-md5-tests: Moved from ../.
50855         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
50856         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
50857         * modules/crypto/gc-random: Moved from ../.
50858         * modules/crypto/gc-rijndael: Moved from ../.
50859         * modules/crypto/gc-rijndael-tests: Moved from ../.
50860         * modules/crypto/gc-sha1: Moved from ../.
50861         * modules/crypto/gc-sha1-tests: Moved from ../.
50862         * modules/crypto/gc-tests: Moved from ../.
50863         * modules/crypto/hmac-md5: Moved from ../.
50864         * modules/crypto/hmac-md5-tests: Moved from ../.
50865         * modules/crypto/hmac-sha1: Moved from ../.
50866         * modules/crypto/hmac-sha1-tests: Moved from ../.
50867         * modules/crypto/md2: Moved from ../.
50868         * modules/crypto/md2-tests: Moved from ../.
50869         * modules/crypto/md4: Moved from ../.
50870         * modules/crypto/md4-tests: Moved from ../.
50871         * modules/crypto/md5: Moved from ../.
50872         * modules/crypto/md5-tests: Moved from ../.
50873         * modules/crypto/memxor: Moved from ../.
50874         * modules/crypto/rijndael: Moved from ../.
50875         * modules/crypto/rijndael-tests: Moved from ../.
50876         * modules/crypto/sha1: Moved from ../.
50877
50878 2007-03-30  James Youngman  <jay@gnu.org>
50879
50880         * tests/test-stat-time.c (prepare_test): use chmod() rather than
50881         rename() to change the ctime of a file (because ctime is unaffected
50882         by rename on jfs2 on AIX 5.1).
50883         (main): Start by doing cleanup, in case a previous run failed leaving
50884         test files behind.
50885
50886 2007-03-31  Bruno Haible  <bruno@clisp.org>
50887
50888         Support old proprietary implementations of iconv.
50889         * modules/iconv_open: New file.
50890         * lib/iconv_.h: New file.
50891         * m4/iconv_h.m4: New file.
50892         * lib/iconv_open.c: New file.
50893         * lib/iconv_open-aix.gperf: New file.
50894         * lib/iconv_open-hpux.gperf: New file.
50895         * lib/iconv_open-irix.gperf: New file.
50896         * lib/iconv_open-osf.gperf: New file.
50897         * m4/iconv_open.m4: New file.
50898         * modules/linebreak (Depends-on): Add iconv_open.
50899         * modules/striconv (Depends-on): Likewise.
50900         * modules/striconveh (Depends-on): Likewise.
50901         * modules/unicodeio (Depends-on): Likewise.
50902         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
50903         (iconv_t)(-1).
50904         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
50905         conversion if cd is (iconv_t)(-1).
50906         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
50907         is not possible.
50908
50909 2007-03-31  Bruno Haible  <bruno@clisp.org>
50910
50911         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
50912         work on Solaris either. Protect also second use of "autodetect_jp".
50913
50914 2007-03-31  Bruno Haible  <bruno@clisp.org>
50915
50916         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
50917         the function is not present.
50918
50919 2007-03-31  Bruno Haible  <bruno@clisp.org>
50920
50921         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
50922         the function is not present.
50923
50924 2007-03-31  Bruno Haible  <bruno@clisp.org>
50925
50926         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
50927         a bug in HP-UX iconv_open().
50928
50929 2007-03-31  Bruno Haible  <bruno@clisp.org>
50930
50931         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
50932         (Mathematics <math.h>): New section, add fpieee.
50933         (Input/output <stdio.h>): Add fseterr.
50934         (Mathematics <math.h>): New section, add printf-frexp.
50935         (Container data structures): Add sublist.
50936         (Core language properties): Add fpucw, inline.
50937         (Functions for greatest-width integer types <inttypes.h>): Add
50938         imaxabs, imaxdiv, inttypes.
50939         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
50940         isnanl-nolibm, ldexp.
50941         (Mathematics <math.h>): New section, add printf-frexpl.
50942         (Support for systems lacking POSIX:2001): Add fprintf-posix,
50943         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
50944         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
50945         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
50946         (Unicode string functions): Add unistr/u*-mbtoucr.
50947         (Java): Add javacomp-script, javaexec-script.
50948         (C#): Add csharpcomp-script, csharpexec-script.
50949         (Support for building libraries and executables): Add havelib,
50950         relocatable-*.
50951         (Support for maintaining and releasing projects): Renamed from
50952         'Support for maintaining and release projects'. Add announce-gen.
50953
50954 2007-03-31  Bruno Haible  <bruno@clisp.org>
50955
50956         * README: Talk primarily about git.
50957         (git and CVS): Renamed from CVS.
50958         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
50959         gnulib is available through git.
50960         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
50961
50962 2007-03-30  Bruno Haible  <bruno@clisp.org>
50963
50964         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
50965         * lib/poll_.h: Likewise.
50966         * lib/stat_.h: Likewise.
50967         * lib/sys_time_.h: Likewise.
50968         * lib/sysexit_.h: Likewise.
50969         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
50970         * lib/stdbool_.h: Likewise.
50971         * lib/byteswap_.h: Add double-inclusion guard.
50972
50973 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
50974
50975         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
50976
50977 2007-03-30  Karl Berry  <karl@gnu.org>
50978
50979         * config/srclist-update: double space after USA in the license
50980         substitution, since that's how it's usually (?) written.
50981
50982 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
50983
50984         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
50985         reported by Bruno Haible.
50986
50987 2007-03-29  Bruno Haible  <bruno@clisp.org>
50988
50989         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
50990         a bug in AIX iconv().
50991
50992 2007-03-29  Bruno Haible  <bruno@clisp.org>
50993
50994         * modules/ldexpl-tests: New file.
50995         * tests/test-ldexpl.c: New file.
50996
50997 2007-03-29  Bruno Haible  <bruno@clisp.org>
50998
50999         * lib/ldexpl.c: Include fpucw.h.
51000         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
51001         multiplication.
51002         * modules/ldexpl (Depends-on): Add fpucw.
51003
51004 2007-03-29  Bruno Haible  <bruno@clisp.org>
51005
51006         * modules/ldexpl: New file.
51007         * m4/ldexpl.m4: New file.
51008         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
51009         set.
51010         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
51011         REPLACE_LDEXPL.
51012         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
51013         REPLACE_LDEXPL.
51014         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
51015         gl_FUNC_LDEXPL_WORKS.
51016         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
51017         * modules/mathl (Files): Remove lib/ldexpl.c.
51018         (Depends-on): Add ldexpl.
51019
51020 2007-03-29  Bruno Haible  <bruno@clisp.org>
51021
51022         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
51023
51024 2007-03-29  Bruno Haible  <bruno@clisp.org>
51025
51026         * tests/test-striconveh.c (main): Don't assume that a direct conversion
51027         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
51028         and possibly also HP-UX.
51029         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
51030         work on AIX, IRIX, HP-UX, OSF/1.
51031         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
51032         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
51033         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
51034         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
51035         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
51036         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
51037
51038 2007-03-29  Bruno Haible  <bruno@clisp.org>
51039
51040         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
51041
51042 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
51043
51044         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
51045         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
51046
51047 2007-03-29  Eric Blake  <ebb9@byu.net>
51048
51049         * lib/acl-internal.h: Remove redundant include.
51050         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
51051         Cygwin when a file is locked.
51052
51053 2007-03-29  Bruno Haible  <bruno@clisp.org>
51054
51055         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
51056         file.
51057         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
51058
51059 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
51060
51061         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
51062         try to remove a parent directory if the child couldn't be removed
51063         (except for the first rmdir, which could fail because the child
51064         doesn't exist).  Problem reported by Jeff Blaine in
51065         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
51066
51067 2007-03-28  Bruno Haible  <bruno@clisp.org>
51068
51069         * lib/striconveh.c (utf8conv_carefully): New function.
51070         (mem_cd_iconveh_internal): Invoke it.
51071
51072 2007-03-28  Bruno Haible  <bruno@clisp.org>
51073
51074         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
51075         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
51076         input.
51077         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
51078         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
51079         unistr/u8-uctomb.
51080
51081 2007-03-28  Bruno Haible  <bruno@clisp.org>
51082
51083         * modules/unistr/u8-mbtoucr: New file.
51084         * lib/unistr/u8-mbtoucr.c: New file.
51085         * modules/unistr/u16-mbtoucr: New file.
51086         * lib/unistr/u16-mbtoucr.c: New file.
51087         * modules/unistr/u16-mbtoucr: New file.
51088         * lib/unistr/u16-mbtoucr.c: New file.
51089         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
51090
51091 2007-03-27  Simon Josefsson  <simon@josefsson.org>
51092             Bruno Haible  <bruno@clisp.org>
51093
51094         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
51095         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
51096         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
51097
51098         * m4/stdio_h.m4: Add stubs for vasprintf too.
51099
51100         * modules/stdio: Support vasprintf in sed command.
51101
51102         * modules/vasprintf: Depend on stdio for prototypes.  Remove
51103         vasprintf.h.  Add stdio module indicator.
51104
51105         * lib/stdio_.h: Declare asprintf and vasprintf, based on
51106         vasprintf.h.
51107
51108         * lib/vasprintf.h: File removed.
51109
51110         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
51111         * lib/vasprintf.c: Ditto.
51112         * lib/xvasprintf.c: Ditto.
51113         * tests/test-vasprintf-posix.c: Ditto.
51114         * tests/test-vasprintf.c: Ditto.
51115
51116 2007-03-27  Bruno Haible  <bruno@clisp.org>
51117
51118         Make vasnprintf multithread-safe.
51119         * lib/vasnprintf.c (decimal_point_char): New function.
51120         (VASNPRINTF): Use it.
51121         Suggested by Simon Josefsson.
51122
51123 2007-03-27  Eric Blake  <ebb9@byu.net>
51124
51125         Support sub-second birthtime on cygwin.
51126         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
51127         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
51128         (get_stat_birthtime): Also work with st_birthtim.
51129
51130 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
51131
51132         * lib/stat-time.h (USE_BIRTHTIME): Remove.
51133         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
51134         (get_stat_birthtime_ns): Do not try to use "spare" fields.
51135         (get_stat_birthtime_ns): Simplify compile-time tests.
51136         (get_stat_birthtime): Change the API to look like
51137         get_stat_mtime etc., except return a negative tv_nsec on error.
51138         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
51139         Don't check for "spare" fields.
51140         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
51141         or for struct stat.st_birthtime, as these tests aren't used.
51142         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
51143
51144 2007-03-27  Bruno Haible  <bruno@clisp.org>
51145
51146         * lib/stat-time.h: Include <sys/stat.h>.
51147
51148 2007-03-27  James Youngman  <jay@gnu.org>
51149
51150         * lib/stat-time.h (get_stat_birthtime): New function for
51151           retrieving st_birthtime as provided by UFS2 (hence *BSD).
51152         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
51153           and its variants.
51154         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
51155         * modules/stat-time-test: New file.
51156         * tests/test-stat-time.c: New test, devised by Bruno Haible.
51157
51158 2007-03-26  Bruno Haible  <bruno@clisp.org>
51159
51160         Better support of signalling NaNs.
51161         * lib/atanl.c: Include isnanl.h.
51162         (atanl): Perform test for NaN at the beginning of the function and
51163         through a call to isnanl.
51164         * lib/cosl.c: Include isnanl.h.
51165         (cosl): Perform test for NaN at the beginning of the function and
51166         through a call to isnanl.
51167         * lib/ldexpl.c: Include isnanl.h.
51168         (ldexpl): Perform test for NaN through a call to isnanl.
51169         * lib/logl.c: Include isnanl.h.
51170         (logl): Perform test for NaN at the beginning of the function and
51171         through a call to isnanl.
51172         * lib/sinl.c: Include isnanl.h.
51173         (sinl): Perform test for NaN at the beginning of the function and
51174         through a call to isnanl.
51175         * lib/sqrtl.c: Include isnanl.h.
51176         (sqrtl): Perform test for NaN at the beginning of the function and
51177         through a call to isnanl.
51178         * lib/tanl.c: Include isnanl.h.
51179         (tanl): Perform test for NaN at the beginning of the function and
51180         through a call to isnanl.
51181         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
51182         * modules/mathl (Depends-on): Add isnanl.
51183
51184 2007-03-26  Eric Blake  <ebb9@byu.net>
51185
51186         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
51187         regression in logic sense of previous patch.
51188
51189 2007-03-26  Bruno Haible  <bruno@clisp.org>
51190
51191         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
51192         unportable shell command "if ! ...".
51193         Reported by Ralf Wildenhues.
51194
51195 2007-03-25  Bruno Haible  <bruno@clisp.org>
51196
51197         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
51198         <sysexits.h> file, and only add EX_CONFIG.
51199         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
51200         absolute file name and whether it is sufficient. Substitute also
51201         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
51202         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
51203         ABSOLUTE_SYSEXITS_H into sysexits.h.
51204
51205 2007-03-25  Bruno Haible  <bruno@clisp.org>
51206
51207         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
51208         hints is NULL.
51209
51210 2007-03-25  Bruno Haible  <bruno@clisp.org>
51211
51212         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
51213         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
51214
51215 2007-03-25  Bruno Haible  <bruno@clisp.org>
51216
51217         * lib/vasnprintf.c: Include langinfo.h.
51218         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
51219         multithread-safe.
51220         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
51221         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
51222         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
51223         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
51224         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
51225         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
51226         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
51227         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
51228         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
51229         Reported by Simon Josefsson.
51230
51231 2007-03-25  Bruno Haible  <bruno@clisp.org>
51232
51233         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
51234         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
51235         * modules/vasnprintf (Depends-on): Add stdint.
51236
51237 2007-03-25  Bruno Haible  <bruno@clisp.org>
51238
51239         * modules/fpieee: New file.
51240         * m4/fpieee.m4: New file.
51241         * modules/isnan-nolibm (Depends-on): Add fpieee.
51242         * modules/isnanl-nolibm (Depends-on): Add fpieee.
51243         * modules/isnanl (Depends-on): Add fpieee.
51244
51245 2007-03-25  Bruno Haible  <bruno@clisp.org>
51246
51247         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
51248
51249 2007-03-25  Bruno Haible  <bruno@clisp.org>
51250
51251         Avoid test failures on IRIX 6.5.
51252         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
51253         (main): Use it.
51254         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
51255         macros.
51256         (main): Use them.
51257
51258 2007-03-25  Bruno Haible  <bruno@clisp.org>
51259
51260         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
51261         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
51262         exists but doesn't work.
51263         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
51264         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
51265         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
51266         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
51267         math.h.
51268
51269 2007-03-25  Bruno Haible  <bruno@clisp.org>
51270
51271         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
51272         returns inf. Needed on IRIX 6.5.
51273
51274 2007-03-25  Bruno Haible  <bruno@clisp.org>
51275
51276         * tests/test-frexpl.c: Include isnanl-nolibm.h.
51277         (main): Use isnanl instead of x != x idiom.
51278         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
51279
51280         * tests/test-frexp.c: Include isnan.h.
51281         (main): Use isnan instead of x != x idiom.
51282         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
51283
51284 2007-03-25  Bruno Haible  <bruno@clisp.org>
51285
51286         * tests/test-frexp.c (NaN): New function/macro.
51287         (main): Use it instead of 0.0 / 0.0.
51288         * tests/test-isnan.c (NaN): New function/macro.
51289         (main): Use it instead of 0.0 / 0.0.
51290         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
51291         (test_function): Use it instead of 0.0 / 0.0.
51292         * tests/test-vasprintf-posix.c (NaN): New function/macro.
51293         (test_function): Use it instead of 0.0 / 0.0.
51294         * tests/test-snprintf-posix.h (NaN): New function/macro.
51295         (test_function): Use it instead of 0.0 / 0.0.
51296         * tests/test-sprintf-posix.h (NaN): New function/macro.
51297         (test_function): Use it instead of 0.0 / 0.0.
51298         * tests/test-fprintf-posix.h (NaN): New function/macro.
51299         (test_function): Use it instead of 0.0 / 0.0.
51300         * tests/test-printf-posix.h (NaN): New function/macro.
51301         (test_function): Use it instead of 0.0 / 0.0.
51302
51303         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
51304
51305 2007-03-25  Bruno Haible  <bruno@clisp.org>
51306
51307         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
51308
51309 2007-03-25  Bruno Haible  <bruno@clisp.org>
51310
51311         * lib/regexec.c (merge_state_with_log): Make static.
51312
51313 2007-03-25  Bruno Haible  <bruno@clisp.org>
51314
51315         * lib/trigl.c (kernel_rem_pio2): Make static.
51316
51317 2007-03-25  Bruno Haible  <bruno@clisp.org>
51318
51319         * lib/sincosl.c (sincosl_table): Make static.
51320
51321 2007-03-25  Bruno Haible  <bruno@clisp.org>
51322
51323         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
51324         if the compiler does not support C99.
51325
51326 2007-03-25  Bruno Haible  <bruno@clisp.org>
51327
51328         * modules/time (Makefile.am): Ensure all rule action lines start with a
51329         tab.
51330
51331 2007-03-24  Bruno Haible  <bruno@clisp.org>
51332
51333         * modules/tsearch-tests: New file.
51334         * tests/test-tsearch.sh: New file.
51335         * tests/test-tsearch.c: New file, mostly copied from glibc.
51336
51337         * modules/search-tests: New file.
51338         * tests/test-search.c: New file.
51339
51340         * modules/search: New file.
51341         * lib/search_.h: New file, incorporating lib/tsearch.h.
51342         * m4/search_h.m4: New file.
51343         * lib/tsearch.h: Remove file.
51344         * lib/tsearch.c: Include search.h instead of tsearch.h.
51345         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
51346         HAVE_TSEARCH.
51347         * modules/tsearch (Files): Remove lib/tsearch.h.
51348         (Depends-on): Add search.
51349         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
51350         (Include): Change tsearch.h into search.h.
51351
51352 2007-03-24  Bruno Haible  <bruno@clisp.org>
51353
51354         * modules/fpucw: New file.
51355         * lib/fpucw.h: New file.
51356         * lib/frexp.c: Include fpucw.h.
51357         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
51358         (FUNC): Use them.
51359         * lib/printf-frexp.c: Include fpucw.h.
51360         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
51361         (FUNC): Use them.
51362         * lib/vasnprintf.c: Include fpucw.h.
51363         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
51364         'long double' calculations.
51365         * tests/test-frexpl.c: Include fpucw.h.
51366         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
51367         * tests/test-printf-frexpl.c: Include fpucw.h.
51368         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
51369         * modules/frexpl (Depends-on): Add fpucw.
51370         * modules/printf-frexpl (Depends-on): Likewise.
51371         * modules/fprintf-posix (Depends-on): Likewise.
51372         * modules/snprintf-posix (Depends-on): Likewise.
51373         * modules/sprintf-posix (Depends-on): Likewise.
51374         * modules/vasnprintf-posix (Depends-on): Likewise.
51375         * modules/vasprintf-posix (Depends-on): Likewise.
51376         * modules/vfprintf-posix (Depends-on): Likewise.
51377         * modules/vsnprintf-posix (Depends-on): Likewise.
51378         * modules/vsprintf-posix (Depends-on): Likewise.
51379         * modules/frexpl-tests (Depends-on): Likewise.
51380         * modules/printf-frexpl-tests (Depends-on): Likewise.
51381
51382 2007-03-24  Bruno Haible  <bruno@clisp.org>
51383
51384         * lib/float+.h: New file.
51385         * lib/isnan.c: Include float+.h.
51386         (SIZE): New macro.
51387         (FUNC): Compare only SIZE bytes of the value.
51388         * lib/vasnprintf.c: Include float+.h.
51389         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
51390         SIZEOF_LDBL or SIZEOF_DBL bytes.
51391         * modules/isnan-nolibm (Files): Add lib/float+.h.
51392         * modules/isnanl-nolibm (Files): Add lib/float+.h.
51393         * modules/isnanl (Files): Add lib/float+.h.
51394         * modules/vasnprintf (Files): Add lib/float+.h.
51395
51396 2007-03-24  Bruno Haible  <bruno@clisp.org>
51397
51398         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
51399         include isnanl-nolibm.h.
51400
51401 2007-03-24  Bruno Haible  <bruno@clisp.org>
51402
51403         * tests/test-read-file.c (main): Don't produce spurious output for
51404         expected situations. Make the test fail if it encountered unexpected
51405         results.
51406
51407 2007-03-24  Bruno Haible  <bruno@clisp.org>
51408
51409         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
51410         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
51411
51412 2007-03-24  Bruno Haible  <bruno@clisp.org>
51413
51414         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
51415
51416 2007-03-24  Bruno Haible  <bruno@clisp.org>
51417
51418         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
51419         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
51420
51421         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
51422         * modules/utf8-ucs4: Turn into a symbolic link to module
51423         unistr/u8-mbtouc.
51424
51425         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
51426         utf8-ucs4-unsafe.
51427         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
51428         unistr/u8-mbtouc-unsafe.
51429
51430         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
51431         * modules/utf16-ucs4: Turn into a symbolic link to module
51432         unistr/u16-mbtouc.
51433
51434         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
51435         utf16-ucs4-unsafe.
51436         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
51437         unistr/u16-mbtouc-unsafe.
51438
51439         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
51440         * modules/ucs4-utf8: Turn into a symbolic link to module
51441         unistr/u8-ubtomb.
51442
51443         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
51444         * modules/ucs4-utf16: Turn into a symbolic link to module
51445         unistr/u16-ubtomb.
51446
51447 2007-03-24  Bruno Haible  <bruno@clisp.org>
51448
51449         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
51450         Enable the function only if HAVE_INLINE.
51451         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
51452         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
51453         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
51454         Enable the function only if HAVE_INLINE.
51455         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
51456         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
51457         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
51458         Enable the function only if HAVE_INLINE.
51459         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
51460         Enable the function only if HAVE_INLINE.
51461         * modules/utf8-ucs4: Update.
51462         * modules/utf8-ucs4-unsafe: Update.
51463         * modules/utf16-ucs4: Update.
51464         * modules/utf16-ucs4-unsafe: Update.
51465         * modules/ucs4-utf8: Update.
51466         * modules/ucs4-utf16: Update.
51467
51468 2007-03-24  Bruno Haible  <bruno@clisp.org>
51469
51470         * lib/utf8-ucs4.h: Remove file.
51471         * lib/utf8-ucs4-unsafe.h: Remove file.
51472         * lib/utf16-ucs4.h: Remove file.
51473         * lib/utf16-ucs4-unsafe.h: Remove file.
51474         * lib/ucs4-utf8.h: Remove file.
51475         * lib/ucs4-utf16.h: Remove file.
51476         * lib/unistr.h: Include their previous contents.
51477         * m4/utf-ucs4.m4: Remove file.
51478         * m4/ucs4-utf.m4: Remove file.
51479         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
51480         (Depends-on): Add unistr/base.
51481         (configure.ac): Remove gl_UTF_UCS4.
51482         (Makefile.am): Update.
51483         (Include): Change to unistr.h.
51484         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
51485         (Depends-on): Add unistr/base.
51486         (configure.ac): Remove gl_UTF_UCS4.
51487         (Makefile.am): Update.
51488         (Include): Change to unistr.h.
51489         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
51490         (Depends-on): Add unistr/base.
51491         (configure.ac): Remove gl_UTF_UCS4.
51492         (Makefile.am): Update.
51493         (Include): Change to unistr.h.
51494         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
51495         (Depends-on): Add unistr/base.
51496         (configure.ac): Remove gl_UTF_UCS4.
51497         (Makefile.am): Update.
51498         (Include): Change to unistr.h.
51499         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
51500         (Depends-on): Add unistr/base.
51501         (configure.ac): Remove gl_UCS4_UTF.
51502         (Makefile.am): Update.
51503         (Include): Change to unistr.h.
51504         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
51505         (Depends-on): Add unistr/base.
51506         (configure.ac): Remove gl_UCS4_UTF.
51507         (Makefile.am): Update.
51508         (Include): Change to unistr.h.
51509         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
51510         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
51511         utf8-ucs4-unsafe.h.
51512         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
51513         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
51514         utf16-ucs4-unsafe.h.
51515         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
51516         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
51517         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
51518         * lib/unistr/u8-strchr.c: Likewise.
51519         * lib/unistr/u8-strrchr.c: Likewise.
51520         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
51521         * lib/unistr/u16-strchr.c: Likewise.
51522         * lib/unistr/u16-strrchr.c: Likewise.
51523         * lib/striconveh.c: Update.
51524         * lib/linebreak.c: Update.
51525
51526 2007-03-24  Bruno Haible  <bruno@clisp.org>
51527
51528         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
51529         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
51530
51531 2007-03-22  Bruno Haible  <bruno@clisp.org>
51532
51533         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
51534
51535 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
51536
51537         * MODULES.html.sh (File system functions): New module write-any-file.
51538         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
51539         * m4/write-any-file.m4: New files.
51540
51541 2007-03-23  Eric Blake  <ebb9@byu.net>
51542
51543         * gnulib-tool: Rearrange space-tab sequences, since some editors
51544         like to eat them.
51545
51546 2007-03-23  Eric Blake  <ebb9@byu.net>
51547
51548         * lib/version-etc.c (version_etc_va): Update license wording to
51549         be more concise.  Recommended by Richard Stallman.
51550
51551 2007-03-22  Bruno Haible  <bruno@clisp.org>
51552
51553         * lib/poll.c (MSG_PEEK): New fallback definition.
51554
51555 2007-03-22  Bruno Haible  <bruno@clisp.org>
51556
51557         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
51558         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
51559         (main): Update.
51560         Fixes a compilation error on BeOS.
51561
51562 2007-03-22  Bruno Haible  <bruno@clisp.org>
51563
51564         * modules/frexpl-tests: New file.
51565         * tests/test-frexpl.c: New file.
51566
51567         * modules/frexpl: New file.
51568         * m4/frexpl.m4: New file.
51569         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
51570         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
51571         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
51572         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
51573         (Depends-on): Add frexpl. Remove isnanl-nolibm.
51574         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
51575
51576 2007-03-22  Bruno Haible  <bruno@clisp.org>
51577
51578         * lib/frexpl.c: Share code with lib/frexp.c.
51579         * modules/mathl (Files): Add lib/frexp.c.
51580         (Depends-on): Add isnanl-nolibm.
51581
51582 2007-03-22  Bruno Haible  <bruno@clisp.org>
51583
51584         * modules/printf-frexp (Files): Add m4/frexp.m4.
51585         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
51586         only if the found frexp function actually works.
51587
51588 2007-03-22  Bruno Haible  <bruno@clisp.org>
51589
51590         * lib/frexp.c: Remove older implementation that uses divisions.
51591
51592 2007-03-21  Bruno Haible  <bruno@clisp.org>
51593
51594         * modules/frexp-tests: New file.
51595         * tests/test-frexp.c: New file.
51596
51597         * modules/frexp: New file.
51598         * lib/frexp.c: New file.
51599         * m4/frexp.m4: New file.
51600         * lib/math_.h (frexp): New declaration.
51601         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
51602         REPLACE_FREXP.
51603         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
51604
51605 2007-03-21  Bruno Haible  <bruno@clisp.org>
51606
51607         * modules/isnanl-tests: New file.
51608         * tests/test-isnanl.c: New file.
51609
51610         * modules/isnanl: New file.
51611         * lib/isnanl.h: New file.
51612         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
51613         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
51614         gl_FUNC_ISNANL_WORKS.
51615         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
51616         New macros.
51617
51618 2007-03-21  Bruno Haible  <bruno@clisp.org>
51619
51620         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
51621         lib/isnanl.h.
51622         (Include): Update.
51623         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
51624         * lib/vasnprintf.c: Update.
51625         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
51626         tests/test-isnanl.h, remove tests/test-isnanl.c.
51627         (Makefile.am): Update.
51628         * tests/test-isnanl-nolibm.c: New file.
51629         * tests/test-isnanl.h: New file.
51630         * tests/test-isnanl.c: Remove file.
51631
51632 2007-03-21  Jim Meyering  <jim@meyering.net>
51633
51634         When trying to open ".", treat ESTALE like EACCES.
51635         * lib/savewd.c (savewd_save): Resort to forking not just upon
51636         failure with EACCES, but also when errno is ESTALE.
51637
51638 2007-03-20  Bruno Haible  <bruno@clisp.org>
51639
51640         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
51641         Needed on AIX 5.1. Reported by Matthew Woehlke.
51642
51643 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
51644
51645         Suggestions by Bruno Haible:
51646         * lib/acl-internal.h: Include "gettext.h" rather than rolling
51647         our own.
51648         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
51649         * modules/acl (Depends-on): Add gettext.
51650
51651 2007-03-19  Bruno Haible  <bruno@clisp.org>
51652
51653         * modules/iconvme: Remove file.
51654         * lib/iconvme.h: Remove file.
51655         * lib/iconvme.c: Remove file.
51656         * m4/iconvme.m4: Remove file.
51657
51658 2007-03-19  Bruno Haible  <bruno@clisp.org>
51659
51660         * doc/relocatable-maint.texi: Break long shell script line.
51661         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
51662
51663 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
51664
51665         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
51666         handle file_has_acl.
51667         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
51668         * lib/acl.c: Move header inclusions and related macro defns into
51669         lib/acl-internal.h.
51670         (S_ISLNK): Remove defn, since that's now done for us.
51671         (file_has_acl): Move to lib/file-has-acl.c.
51672         Call acl_trivial if available.  This is the crucial part of the fix.
51673         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
51674         shared within the library.  Rewrite a bit, partly to make it compatible
51675         with the GNU coding style.
51676         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
51677         Remove unnecessary double-quotes.
51678         Don't test for acl_to_text; the build will catch that.
51679         Replace acl_entries if it doesn't exist and it is needed.
51680         Check for -lsec and acl_trivial (as used on Solaris 10).
51681         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
51682         lib/file-has-acl.c.
51683         (Depends-on): Add sys_stat, for S_ISLNK.
51684
51685 2007-03-19  Ben Pfaff  <blp@gnu.org>
51686
51687         * doc/gnulib.texi: Fix typos.
51688         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
51689
51690 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
51691
51692         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
51693         If size is zero here, buf must be zero.
51694
51695 2007-03-19  Simon Josefsson  <simon@josefsson.org>
51696
51697         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
51698         <bruno@clisp.org>.
51699
51700 2007-03-18  Bruno Haible  <bruno@clisp.org>
51701
51702         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
51703         Suggested by Eric Blake.
51704
51705 2007-03-18  Ben Pfaff  <blp@gnu.org>
51706
51707         * doc/relocatable.texi: Recommend using as prefix a directory
51708         that does not exist and will never be created.  Based on
51709         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
51710         and others.
51711
51712 2007-03-17  Bruno Haible  <bruno@clisp.org>
51713
51714         * lib/fchownat.c: Include lchown.h.
51715
51716 2007-03-17  Bruno Haible  <bruno@clisp.org>
51717
51718         Fix endless loop when the given allocated size was > INT_MAX.
51719         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
51720         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
51721         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
51722         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
51723         * lib/sprintf.c (sprintf): Likewise.
51724
51725 2007-03-17  Bruno Haible  <bruno@clisp.org>
51726
51727         * tests/test-argp-2.sh (func_compare): Output a context diff.
51728
51729 2007-03-17  Bruno Haible  <bruno@clisp.org>
51730
51731         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
51732         locale's decimal-point character.
51733
51734 2007-03-17  Bruno Haible  <bruno@clisp.org>
51735
51736         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
51737         before comparing it. Needed because on some platforms (e.g. x86) a
51738         'long double' occupies less bytes than sizeof (long double).
51739
51740 2007-03-17  Bruno Haible  <bruno@clisp.org>
51741
51742         * tests/test-crc.c (main): Make printf statements 64-bit clean.
51743         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
51744         * tests/test-getaddrinfo.c (simple): Likewise.
51745         * tests/test-read-file.c (main): Likewise.
51746
51747 2007-03-17  Bruno Haible  <bruno@clisp.org>
51748
51749         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
51750
51751 2007-03-17  Bruno Haible  <bruno@clisp.org>
51752
51753         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
51754         unused variable.
51755
51756 2007-03-17  Bruno Haible  <bruno@clisp.org>
51757
51758         * tests/test-c-strcasecmp.c: Include c-strcase.h.
51759         * tests/test-c-strncasecmp.c: Likewise.
51760
51761 2007-03-17  Bruno Haible  <bruno@clisp.org>
51762
51763         * modules/stdlib (Depends-on): Add unistd.
51764         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
51765         Needed for MacOS X 10.3.
51766
51767 2007-03-17  Bruno Haible  <bruno@clisp.org>
51768
51769         * lib/unistr/u-strdup.h: Include <stdlib.h>.
51770
51771 2007-03-17  Bruno Haible  <bruno@clisp.org>
51772
51773         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
51774
51775 2007-03-17  Bruno Haible  <bruno@clisp.org>
51776
51777         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
51778         to reflect files copied from gnulib (with or without modifications).
51779         Suggested by Jim Meyering.
51780
51781 2007-03-17  Eric Blake  <ebb9@byu.net>
51782
51783         * NEWS: Document stdlib change from 2007-02-18.
51784
51785 2007-03-17  Jim Meyering  <jim@meyering.net>
51786
51787         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
51788         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
51789         someone uses a name containing shell meta-characters.
51790         Reported by Alfred M. Szmidt.
51791
51792         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
51793
51794 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
51795
51796         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
51797         and copy gettext configuration files only if configure.ac contains
51798         a use of AM_GNU_GETTEXT_VERSION.
51799
51800 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
51801
51802         * build-aux/bootstrap (gnulib_name): New variable.
51803         (gnulib_tool_options): Use it.
51804
51805 2007-03-13  Simon Josefsson  <simon@josefsson.org>
51806
51807         * tests/test-des.c: Use new namespace.
51808
51809 2007-03-15  Bruno Haible  <bruno@clisp.org>
51810
51811         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
51812         Reported by James Youngman <jay@gnu.org>.
51813
51814 2007-03-15  Bruno Haible  <bruno@clisp.org>
51815
51816         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
51817         declared prototype. Needed with cc on OSF/1 5.1.
51818
51819 2007-03-15  Bruno Haible  <bruno@clisp.org>
51820
51821         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
51822         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
51823         (struct gl_list_implementation): Add dispose_fn argument to the
51824         'create_empty', 'create' methods.
51825         (struct gl_list_impl_base): Add field 'dispose_fn'.
51826         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
51827         argument.
51828         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
51829         dispose_fn argument.
51830         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
51831         dispose_fn on the dropped values.
51832         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
51833         dispose_fn argument.
51834         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
51835         dropped values.
51836         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
51837         (gl_tree_remove_node): Call dispose_fn on the dropped value.
51838         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
51839         (gl_tree_remove_node): Call dispose_fn on the dropped value.
51840         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
51841         argument.
51842         (gl_tree_list_free): Call dispose_fn on the dropped values.
51843         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
51844         the dropped values.
51845         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
51846         Add dispose_fn argument.
51847         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
51848         Call dispose_fn on the dropped values.
51849         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
51850         Add dispose_fn argument.
51851         (gl_sublist_create): Initialize the 'dispose_fn' field.
51852         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
51853         * tests/test-array_list.c (main): Update.
51854         * tests/test-carray_list.c (main): Update.
51855         * tests/test-avltree_list.c (main): Update.
51856         * tests/test-rbtree_list.c (main): Update.
51857         * tests/test-avltreehash_list.c (main): Update.
51858         * tests/test-rbtreehash_list.c (main): Update.
51859         * tests/test-linked_list.c (main): Update.
51860         * tests/test-linkedhash_list.c (main): Update.
51861         * tests/test-array_oset.c (main): Update.
51862
51863 2007-03-15  Bruno Haible  <bruno@clisp.org>
51864
51865         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
51866         (gl_oset_create_empty): Add dispose_fn argument.
51867         (struct gl_oset_implementation): Add dispose_fn argument to
51868         'create_empty' method.
51869         (struct gl_oset_impl_base): Add dispose_fn field.
51870         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
51871         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
51872         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
51873         values.
51874         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
51875         (gl_tree_oset_free): Call dispose_fn on the dropped values.
51876         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
51877         dropped value.
51878         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
51879         dropped value.
51880         * tests/test-array_oset.c (main): Update.
51881         * tests/test-avltree_oset.c (main): Update.
51882         * tests/test-rbtree_oset.c (main): Update.
51883         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
51884
51885 2007-03-13  Bruno Haible  <bruno@clisp.org>
51886
51887         * tests/test-stdbool.c (i): Update after last patch.
51888
51889 2007-03-12  Bruno Haible  <bruno@clisp.org>
51890
51891         * lib/quotearg.c: Include <wctype.h> early, before the definition of
51892         the iswprint macro. Needed on Solaris 2.5.1.
51893
51894 2007-03-12  Bruno Haible  <bruno@clisp.org>
51895
51896         * tests/test-printf-frexp.c (main): Declare x as volatile.
51897
51898 2007-03-12  Simon Josefsson  <simon@josefsson.org>
51899
51900         * doc/gnulib.texi (Build robot for gnulib): New section.
51901
51902 2007-03-12  Jim Meyering  <jim@meyering.net>
51903
51904         * build-aux/bootstrap: New file.
51905         * build-aux/bootstrap.conf: New file, from coreutils.
51906
51907 2007-03-11  Bruno Haible  <bruno@clisp.org>
51908
51909         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
51910
51911 2007-03-12  Simon Josefsson  <simon@josefsson.org>
51912
51913         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
51914         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
51915         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
51916
51917 2007-03-11  Bruno Haible  <bruno@clisp.org>
51918
51919         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
51920         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
51921
51922 2007-03-11  Bruno Haible  <bruno@clisp.org>
51923
51924         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
51925         formula. Needed for SunPRO C 5.0.
51926
51927 2007-03-11  Bruno Haible  <bruno@clisp.org>
51928
51929         * modules/long-options (Depends-on): Add getopt.
51930
51931 2007-03-11  Bruno Haible  <bruno@clisp.org>
51932
51933         * modules/modechange (Depends-on): Add stdbool.
51934
51935 2007-03-11  Bruno Haible  <bruno@clisp.org>
51936
51937         * modules/i-ring (Depends-on): Add stdbool.
51938
51939 2007-03-11  Bruno Haible  <bruno@clisp.org>
51940
51941         * modules/gc-des (Depends-on): Add stdbool.
51942
51943 2007-03-11  Bruno Haible  <bruno@clisp.org>
51944
51945         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
51946
51947 2007-03-11  Bruno Haible  <bruno@clisp.org>
51948
51949         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
51950
51951 2007-03-11  Bruno Haible  <bruno@clisp.org>
51952
51953         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
51954
51955 2007-03-11  Bruno Haible  <bruno@clisp.org>
51956
51957         * lib/vasnprintf.c (sprintf): Undefine.
51958
51959 2007-03-11  Bruno Haible  <bruno@clisp.org>
51960
51961         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
51962         initializers in SunPRO C and Compaq C compilers.
51963
51964 2007-03-11  Bruno Haible  <bruno@clisp.org>
51965
51966         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
51967         decrementing code ANSI C compliant.
51968
51969 2007-03-11  Bruno Haible  <bruno@clisp.org>
51970
51971         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
51972         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
51973
51974 2007-03-11  Bruno Haible  <bruno@clisp.org>
51975
51976         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
51977         <stdbool.h> substitute doesn't pass.
51978
51979 2007-03-11  Bruno Haible  <bruno@clisp.org>
51980
51981         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
51982
51983 2007-03-11  Bruno Haible  <bruno@clisp.org>
51984
51985         * gnulib-tool (func_create_megatestdir): Create also an autobuild
51986         script, for submission to autobuild.josefsson.org.
51987
51988 2007-03-10  Bruno Haible  <bruno@clisp.org>
51989
51990         * modules/canonicalize-lgpl-tests: New file.
51991         * tests/test-canonicalize-lgpl.sh: New file.
51992         * tests/test-canonicalize-lgpl.c: New file.
51993
51994         * modules/c-strcase-tests: New file.
51995         * tests/test-c-strcase.sh: New file.
51996         * tests/test-c-strcasecmp.c: New file.
51997         * tests/test-c-strncasecmp.c: New file.
51998
51999         * modules/atexit-tests: New file.
52000         * tests/test-atexit.sh: New file.
52001         * tests/test-atexit.c: New file.
52002
52003 2007-03-10  Bruno Haible  <bruno@clisp.org>
52004
52005         * tests/test-binary-io.sh: Use temporary filenames that are not so
52006         likely to clash with those of other tests (in a parallel make).
52007         * tests/test-binary-io.c: Likewise.
52008
52009 2007-03-10  Bruno Haible  <bruno@clisp.org>
52010
52011         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
52012         fallback; use #error instead.
52013         Suggested by Simon Josefsson.
52014
52015 2007-03-10  Bruno Haible  <bruno@clisp.org>
52016
52017         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
52018         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
52019         first and the last.
52020
52021 2007-03-10  Bruno Haible  <bruno@clisp.org>
52022
52023         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
52024
52025 2007-03-10  Bruno Haible  <bruno@clisp.org>
52026
52027         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
52028         "make distcheck".
52029         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
52030         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
52031         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
52032
52033 2007-03-10  Bruno Haible  <bruno@clisp.org>
52034
52035         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
52036         variable.
52037         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
52038         variable.
52039
52040 2007-03-09  Eric Blake  <ebb9@byu.net>
52041         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
52042
52043         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
52044         types are not being provided by gnulib.
52045         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
52046         types are supported.
52047
52048 2007-03-10  Bruno Haible  <bruno@clisp.org>
52049
52050         * lib/stdio_.h (__attribute__): New macro.
52051         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
52052         vsprintf): Specify __attribute__ __format__ for GCC.
52053         Suggested by Eric Blake.
52054
52055 2007-03-09  Bruno Haible  <bruno@clisp.org>
52056
52057         * modules/printf-posix-tests: New file.
52058         * tests/test-printf-posix.sh: New file.
52059         * tests/test-printf-posix.c: New file.
52060
52061         * modules/printf-posix: New file.
52062         * lib/printf.c: New file.
52063         * m4/printf-posix-rpl.m4: New file.
52064         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
52065         REPLACE_PRINTF.
52066         * lib/stdio_.h (printf): New declaration.
52067         (format, __format__, ____printf____, ____scanf____, ____strftime____,
52068         ____strfmon____): New macros.
52069         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
52070         REPLACE_PRINTF.
52071
52072 2007-03-09  Bruno Haible  <bruno@clisp.org>
52073
52074         * tests/test-vasnprintf-posix2.sh: New file.
52075         * tests/test-vasnprintf-posix2.c: New file.
52076         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
52077         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
52078         (Makefile.am): Activate test-vasnprintf-posix2.sh.
52079
52080         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
52081         a locale dependent decimal point, rather than always '.'.
52082
52083 2007-03-09  Eric Blake  <ebb9@byu.net>
52084
52085         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
52086         spite of platforms like Tandem/NSK that define it to -1.
52087
52088 2007-03-08  Bruno Haible  <bruno@clisp.org>
52089
52090         * modules/vprintf-posix-tests: New file.
52091         * tests/test-vprintf-posix.sh: New file.
52092         * tests/test-vprintf-posix.c: New file.
52093         * tests/test-printf-posix.h: New file.
52094
52095         * modules/vprintf-posix: New file.
52096         * lib/vprintf.c: New file.
52097         * m4/vprintf-posix.m4: New file.
52098         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
52099         REPLACE_VPRINTF.
52100         * lib/stdio_.h (vprintf): New declaration.
52101         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
52102         REPLACE_VPRINTF.
52103
52104 2007-03-08  Bruno Haible  <bruno@clisp.org>
52105
52106         * modules/fprintf-posix-tests: New file.
52107         * tests/test-fprintf-posix.sh: New file.
52108         * tests/test-fprintf-posix.c: New file.
52109
52110         * modules/fprintf-posix: New file.
52111         * lib/fprintf.c: New file.
52112         * m4/fprintf-posix.m4: New file.
52113         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
52114         REPLACE_FPRINTF.
52115         * lib/stdio_.h (fprintf): New declaration.
52116         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
52117         REPLACE_FPRINTF.
52118
52119 2007-03-08  Bruno Haible  <bruno@clisp.org>
52120
52121         * modules/vfprintf-posix-tests: New file.
52122         * tests/test-vfprintf-posix.sh: New file.
52123         * tests/test-vfprintf-posix.c: New file.
52124         * tests/test-fprintf-posix.h: New file.
52125         * tests/test-fprintf-posix.out: New file.
52126
52127         * modules/vfprintf-posix: New file.
52128         * lib/vfprintf.c: New file.
52129         * m4/vfprintf-posix.m4: New file.
52130         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
52131         REPLACE_VFPRINTF.
52132         * lib/stdio_.h (vfprintf): New declaration.
52133         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
52134         REPLACE_VFPRINTF.
52135
52136 2007-03-08  Bruno Haible  <bruno@clisp.org>
52137
52138         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
52139
52140 2007-03-08  Bruno Haible  <bruno@clisp.org>
52141
52142         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
52143         instead of 'expr' invocations.
52144         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
52145         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
52146         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
52147         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
52148         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
52149         Suggested by Paul Eggert.
52150
52151 2007-03-08  Bruno Haible  <bruno@clisp.org>
52152
52153         * modules/fseterr-tests: New file.
52154         * tests/test-fseterr.c: New file.
52155
52156         * modules/fseterr: New file.
52157         * lib/fseterr.h: New file.
52158         * lib/fseterr.c: New file.
52159
52160 2007-03-08  Bruno Haible  <bruno@clisp.org>
52161
52162         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
52163         * lib/getopt_.h: Likewise.
52164         * lib/mbswidth.h: Likewise.
52165         * lib/setenv.h: Likewise.
52166         * lib/vasnprintf.h: Likewise.
52167         * lib/vasprintf.h: Likewise.
52168         * lib/verror.h: Likewise.
52169         * lib/xsetenv.h: Likewise.
52170         * lib/xvasprintf.h: Likewise.
52171
52172 2007-03-08  Jim Meyering  <jim@meyering.net>
52173
52174         * users.txt: Add parted.
52175
52176         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
52177
52178 2007-03-07  Bruno Haible  <bruno@clisp.org>
52179
52180         * m4/printf.m4: Make the shell script snippets copy&pastable.
52181
52182 2007-03-02  Bruno Haible  <bruno@clisp.org>
52183
52184         * lib/netinet_in_.h: New file.
52185         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
52186         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
52187         * modules/netinet_in (Files): Add lib/netinet_in_.h.
52188         (Depends-on): Add absolute-header.
52189         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
52190         into netinet/in.h.
52191
52192 2007-03-03  Bruno Haible  <bruno@clisp.org>
52193
52194         * lib/sys_select_.h: New file.
52195         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
52196         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
52197         * modules/sys_select (Files): Add lib/sys_select_.h.
52198         (Depends-on): Add absolute-header.
52199         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
52200         into sys/select.h.
52201
52202 2007-03-02  Bruno Haible  <bruno@clisp.org>
52203
52204         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
52205         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
52206         values.
52207         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
52208         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
52209         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
52210         * modules/sys_socket (Depends-on): Add absolute-header.
52211         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
52212         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
52213         (Include): Remove requirement of inclusion of <sys/types.h>.
52214
52215 2007-03-02  Bruno Haible  <bruno@clisp.org>
52216
52217         * lib/byteswap_.h (bswap_32): Fix formula.
52218
52219 2007-03-06  Bruno Haible  <bruno@clisp.org>
52220
52221         * modules/sprintf-posix-tests: New file.
52222         * tests/test-sprintf-posix.c: New file.
52223
52224         * modules/sprintf-posix: New file.
52225         * lib/sprintf.c: New file.
52226         * m4/sprintf-posix.m4: New file.
52227         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
52228         REPLACE_SPRINTF.
52229         * lib/stdio_.h (sprintf): New declaration.
52230         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
52231         REPLACE_SPRINTF.
52232
52233 2007-03-06  Bruno Haible  <bruno@clisp.org>
52234
52235         * modules/vsprintf-posix-tests: New file.
52236         * tests/test-vsprintf-posix.c: New file.
52237         * tests/test-sprintf-posix.h: New file.
52238
52239         * modules/vsprintf-posix: New file.
52240         * lib/vsprintf.c: New file.
52241         * m4/vsprintf-posix.m4: New file.
52242         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
52243         REPLACE_VSPRINTF.
52244         * lib/stdio_.h (vsprintf): New declaration.
52245         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
52246         REPLACE_VSPRINTF.
52247
52248 2007-03-06  Bruno Haible  <bruno@clisp.org>
52249
52250         * modules/vsnprintf (Depend-on): Remove minmax.
52251
52252 2007-03-06  Bruno Haible  <bruno@clisp.org>
52253
52254         * modules/snprintf-posix-tests: New file.
52255         * tests/test-snprintf-posix.c: New file.
52256
52257         * modules/snprintf-posix: New file.
52258         * m4/snprintf-posix.m4: New file.
52259         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
52260         gl_FUNC_SNPRINTF.
52261         (gl_FUNC_SNPRINTF): Invoke it.
52262         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
52263         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
52264         is set.
52265         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
52266
52267 2007-03-06  Bruno Haible  <bruno@clisp.org>
52268
52269         * modules/vsnprintf-posix-tests: New file.
52270         * tests/test-vsnprintf-posix.c: New file.
52271         * tests/test-snprintf-posix.h: New file.
52272
52273         * modules/vsnprintf-posix: New file.
52274         * m4/vsnprintf-posix.m4: New file.
52275         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
52276         gl_FUNC_VSNPRINTF.
52277         (gl_FUNC_VSNPRINTF): Invoke it.
52278         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
52279         * lib/stdio_.h (vsnprintf): Define as a replacement if
52280         REPLACE_VSNPRINTF is set.
52281         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
52282
52283 2007-03-06  Bruno Haible  <bruno@clisp.org>
52284
52285         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
52286         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
52287
52288 2007-03-06  Bruno Haible  <bruno@clisp.org>
52289
52290         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
52291         (asinl): Declare also if HAVE_DECL_ASINL is set.
52292         (atanl): Declare also if HAVE_DECL_ATANL is set.
52293         (ceill): Declare also if HAVE_DECL_CEILL is set.
52294         (cosl): Declare also if HAVE_DECL_COSL is set.
52295         (expl): Declare also if HAVE_DECL_EXPL is set.
52296         (floorl): Declare also if HAVE_DECL_FLOORL is set.
52297         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
52298         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
52299         (logl): Declare also if HAVE_DECL_LOGL is set.
52300         (sinl): Declare also if HAVE_DECL_SINL is set.
52301         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
52302         (tanl): Declare also if HAVE_DECL_TANL is set.
52303         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
52304         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
52305         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
52306         declaration of frexpl, ldexpl.
52307         * modules/printf-frexpl (Depends-on): Add math.
52308         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
52309
52310 2007-03-05  Bruno Haible  <bruno@clisp.org>
52311
52312         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
52313         frexpl and ldexpl are declared.
52314         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
52315
52316 2007-03-05  Bruno Haible  <bruno@clisp.org>
52317
52318         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
52319         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
52320
52321 2007-03-05  Bruno Haible  <bruno@clisp.org>
52322
52323         * lib/stdio_.h: Include <stddef.h>.
52324
52325 2007-03-05  Bruno Haible  <bruno@clisp.org>
52326
52327         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
52328
52329 2007-03-05  Bruno Haible  <bruno@clisp.org>
52330
52331         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
52332         NetBSD 4, from Ralf Wildenhues.
52333
52334 2007-03-04  Bruno Haible  <bruno@clisp.org>
52335
52336         * lib/vasprintf.h: Update #if logic for the case when the functions
52337         exist but are overridden.
52338
52339 2007-03-04  Bruno Haible  <bruno@clisp.org>
52340
52341         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
52342         implementations: glibc-2.4 and MacOS X 10.3.
52343         * tests/test-vasnprintf-posix.c (test_function): Test also the case
52344         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
52345         * tests/test-vasprintf-posix.c (test_function): Likewise.
52346
52347 2007-03-04  Bruno Haible  <bruno@clisp.org>
52348
52349         * modules/vasprintf-posix-tests: New file.
52350         * tests/test-vasprintf-posix.c: New file.
52351
52352         * modules/vasprintf-posix: New file.
52353         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
52354         defined.
52355         * m4/vasprintf-posix.m4: New file.
52356         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
52357         gl_FUNC_VASPRINTF.
52358         (gl_FUNC_VASPRINTF): Invoke it.
52359         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
52360         here.
52361         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
52362
52363 2007-03-04  Bruno Haible  <bruno@clisp.org>
52364
52365         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
52366         REPLACE_GETTIMEOFDAY.
52367         * modules/sys_time (Makefile.am): Likewise.
52368         * m4/sys_time_h.m4: Likewise.
52369         * m4/gettimeofday.m4: Likewise.
52370
52371 2007-03-04  Bruno Haible  <bruno@clisp.org>
52372
52373         * modules/vasnprintf-posix-tests: New file.
52374         * tests/test-vasnprintf-posix.c: New file.
52375
52376         * modules/vasnprintf-posix: New file.
52377         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
52378         printf-frexpl.h.
52379         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
52380         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
52381         REPLACE_VASNPRINTF is defined.
52382         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
52383         gl_FUNC_VASNPRINTF.
52384         (gl_FUNC_VASNPRINTF): Invoke it.
52385         * m4/vasnprintf-posix.m4: New file.
52386         * m4/printf.m4: New file.
52387
52388 2007-03-04  Bruno Haible  <bruno@clisp.org>
52389
52390         Compile progreloc.c only if --enable-relocatable is specified.
52391         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
52392         if --enable-relocatable was specified.
52393         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
52394         lib_SOURCES.
52395
52396 2007-03-04  Jim Meyering  <jim@meyering.net>
52397
52398         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
52399         Use it consistently, rather than enumerating errno constants.
52400
52401 2007-03-04  Bruno Haible  <bruno@clisp.org>
52402
52403         * modules/xvasprintf-tests: New file.
52404         * tests/test-xvasprintf.c: New file.
52405
52406         * modules/vasprintf-tests: New file.
52407         * tests/test-vasprintf.c: New file.
52408
52409         * modules/vasnprintf-tests: New file.
52410         * tests/test-vasnprintf.c: New file.
52411
52412         * modules/vsnprintf-tests: New file.
52413         * tests/test-vsnprintf.c: New file.
52414
52415         * modules/snprintf-tests: New file.
52416         * tests/test-snprintf.c: New file.
52417
52418 2007-03-04  Bruno Haible  <bruno@clisp.org>
52419
52420         Compile relocatable.c only if --enable-relocatable is specified.
52421         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
52422         gl_RELOCATABLE_LIBRARY.
52423         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
52424         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
52425         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
52426         gl_RELOCATABLE_LIBRARY.
52427         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
52428         (Makefile.am): Remove lib_SOURCES.
52429         * modules/relocatable-lib-lgpl (configure.ac): Invoke
52430         gl_RELOCATABLE_LIBRARY.
52431         (Makefile.am): Remove lib_SOURCES.
52432         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
52433         always.
52434         * modules/relocatable-prog-wrapper (configure.ac): Invoke
52435         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
52436
52437 2007-03-04  Bruno Haible  <bruno@clisp.org>
52438
52439         * modules/argmatch-tests: New file.
52440         * tests/test-argmatch.c: New file.
52441
52442         * tests/test-allocsa.c (main): Halve the number of loop runs.
52443
52444         * modules/alloca-opt-tests: New file.
52445         * tests/test-alloca-opt.c: New file.
52446
52447 2007-03-04  Jim Meyering  <jim@meyering.net>
52448
52449         Work around difference between Linux ACLs and Solaris 10 ZFS.
52450         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
52451         for EINVAL.
52452
52453 2007-03-03  Bruno Haible  <bruno@clisp.org>
52454
52455         * modules/relocatable-prog (Depends-on): Add back progreloc's
52456         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
52457
52458 2007-03-03  Bruno Haible  <bruno@clisp.org>
52459
52460         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
52461         * modules/relocatable-lib: New file.
52462
52463 2007-03-03  Bruno Haible  <bruno@clisp.org>
52464
52465         * modules/relocatable-prog: Renamed from modules/relocatable.
52466         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
52467
52468 2007-03-03  Bruno Haible  <bruno@clisp.org>
52469
52470         * modules/relocatable-script (Files): Add doc/relocatable.texi,
52471         m4/relocatable-lib.m4.
52472         (Depends-on): Remove 'relocatable'.
52473         (configure.ac): Add gl_RELOCATABLE_NOP.
52474
52475 2007-03-03  Bruno Haible  <bruno@clisp.org>
52476
52477         * modules/relocatable-prog-wrapper: New file.
52478         * modules/relocatable (Depends-on): Add it. Remove all other
52479         dependencies except progname.
52480         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
52481
52482         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
52483         (gl_FUNC_STRERROR): Nop.
52484         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
52485
52486         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
52487         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
52488
52489         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
52490         (gl_FUNC_READLINK): Update.
52491
52492         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
52493
52494 2007-03-03  Bruno Haible  <bruno@clisp.org>
52495
52496         * lib/xreadlink.c: Include <unistd.h> unconditionally.
52497         * modules/xreadlink (Depends-on): Add unistd.
52498         * modules/xreadlink-with-size (Depends-on): Likewise.
52499
52500 2007-03-03  Bruno Haible  <bruno@clisp.org>
52501
52502         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
52503         extracted from gt_FUNC_SETENV.
52504         (gt_FUNC_SETENV): Remove macro.
52505         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
52506         remove gt_FUNC_SETENV.
52507
52508 2007-03-03  Bruno Haible  <bruno@clisp.org>
52509
52510         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
52511         ENABLE_RELOCATABLE here.
52512         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
52513
52514 2007-03-03  Bruno Haible  <bruno@clisp.org>
52515
52516         * modules/rbtreehash-list-tests (Depends-on): Add progname.
52517         * tests/test-rbtreehash_list.c: Include progname.h.
52518         (main): Call set_program_name.
52519
52520         * modules/rbtree-oset-tests (Depends-on): Add progname.
52521         * tests/test-rbtree_oset.c: Include progname.h.
52522         (main): Call set_program_name.
52523
52524         * modules/rbtree-list-tests (Depends-on): Add progname.
52525         * tests/test-rbtree_list.c: Include progname.h.
52526         (main): Call set_program_name.
52527
52528         * modules/linked-list-tests (Depends-on): Add progname.
52529         * tests/test-linked_list.c: Include progname.h.
52530         (main): Call set_program_name.
52531
52532 2007-03-03  Bruno Haible  <bruno@clisp.org>
52533
52534         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
52535         All uses of __restrict changed to _Restrict_.
52536         * lib/glob_.h (__restrict): Remove macro.
52537
52538 2007-03-02  Bruno Haible  <bruno@clisp.org>
52539
52540         * modules/gettext (configure.ac): Require gettext infrastructure
52541         from version 0.16.1.
52542
52543 2007-03-02  Bruno Haible  <bruno@clisp.org>
52544
52545         * modules/linkedhash-list-tests (Depends-on): Add progname.
52546         * tests/test-linkedhash_list.c: Include progname.h.
52547         (main): Call set_program_name.
52548
52549         * modules/carray-list-tests (Depends-on): Add progname.
52550         * tests/test-carray_list.c: Include progname.h.
52551         (main): Call set_program_name.
52552
52553         * modules/avltreehash-list-tests (Depends-on): Add progname.
52554         * tests/test-avltreehash_list.c: Include progname.h.
52555         (main): Call set_program_name.
52556
52557         * modules/avltree-oset-tests (Depends-on): Add progname.
52558         * tests/test-avltree_oset.c: Include progname.h.
52559         (main): Call set_program_name.
52560
52561         * modules/avltree-list-tests (Depends-on): Add progname.
52562         * tests/test-avltree_list.c: Include progname.h.
52563         (main): Call set_program_name.
52564
52565         * modules/array-oset-tests (Depends-on): Add progname.
52566         * tests/test-array_oset.c: Include progname.h.
52567         (main): Call set_program_name.
52568
52569         * modules/array-list-tests (Depends-on): Add progname.
52570         * tests/test-array_list.c: Include progname.h.
52571         (main): Call set_program_name.
52572
52573         * modules/argp-tests (Depends-on): Add progname.
52574         * tests/test-argp.c: Include argp.h first. Include progname.h.
52575         (main): Call set_program_name.
52576
52577 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
52578
52579         * doc/gnulib-tool.texi (Initial import): Reword description of
52580         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
52581         limited effect even if defined after the first system include.
52582
52583 2007-03-01  Bruno Haible  <bruno@clisp.org>
52584
52585         * build-aux/config.libpath: Update to libtool-1.5.22.
52586         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52587
52588 2007-03-01  Bruno Haible  <bruno@clisp.org>
52589
52590         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
52591         foo_CFLAGS.
52592         Reported by Ralf Wildenhues.
52593
52594 2007-03-01  Bruno Haible  <bruno@clisp.org>
52595
52596         * build-aux/install-reloc: Remove object files left over by some
52597         compilers.
52598         Reported by Ralf Wildenhues.
52599
52600 2007-03-01  Bruno Haible  <bruno@clisp.org>
52601
52602         * build-aux/install-reloc: Break long lines.
52603
52604 2007-03-01  Bruno Haible  <bruno@clisp.org>
52605
52606         * doc/relocatable.texi: Document that it may not work on OpenBSD.
52607         Reported by Ralf Wildenhues.
52608
52609 2007-03-01  Bruno Haible  <bruno@clisp.org>
52610
52611         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
52612         include ordering constraints.
52613
52614 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
52615
52616         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
52617         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
52618         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
52619         as another example.
52620         * lib/time_.h: Fix misspelling.
52621         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
52622         Require gl_HEADER_TIME_H_DEFAULTS.
52623         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
52624         * m4/time_r.m4 (gl_TIME_R): Likewise.
52625         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
52626
52627 2007-03-01  Bruno Haible  <bruno@clisp.org>
52628
52629         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
52630         * m4/utimens.m4 (gl_UTIMENS): Likewise.
52631
52632 2007-03-01  Jim Meyering  <jim@meyering.net>
52633
52634         * modules/xreadlink (Maintainer): Add my name.
52635         * modules/xreadlink-with-size (Depends-on): Alphabetize.
52636
52637 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
52638             Bruno Haible  <bruno@clisp.org>
52639
52640         * build-aux/install-reloc: Compile also c-ctype.c.
52641         * build-aux/relocatable.sh.in: New file.
52642         * doc/relocatable.texi: New file.
52643         * doc/relocatable-maint.texi: New file.
52644         * doc/gnulib.texi: Include relocatable-maint.texi.
52645         * lib/progreloc.c: Include unistd.h unconditionally.
52646         * lib/relocwrapper.c: Include unistd.h unconditionally.
52647         Include c-ctype.h.
52648         (add_dotbin): Use c_tolower.
52649         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
52650         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
52651         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
52652         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
52653         to m4/relocatable-lib.m4.
52654         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
52655         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
52656         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
52657         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
52658         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
52659         * modules/relocatable: New file.
52660         * modules/relocatable-lib: New file.
52661         * modules/relocatable-script: New file.
52662
52663 2007-02-28  Bruno Haible  <bruno@clisp.org>
52664
52665         Import --enable-relocatable infrastructure.
52666         * build-aux/config.libpath: New file, from GNU gettext.
52667         * build-aux/install-reloc: New file, from GNU gettext.
52668         * build-aux/reloc-ldflags: New file, from GNU gettext.
52669         * lib/relocatable.h: New file, from GNU gettext.
52670         * lib/relocatable.c: New file, from GNU gettext.
52671         * lib/relocwrapper.c: New file, from GNU gettext.
52672         * m4/relocatable.m4: New file, from GNU gettext.
52673
52674 2007-02-28  Bruno Haible  <bruno@clisp.org>
52675
52676         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
52677
52678         * modules/xreadlink: New file, from GNU gettext with modifications.
52679         * lib/xreadlink.c: New file, from GNU gettext.
52680         * lib/xreadlink.h: Add comments.
52681         (xreadlink): New declaration.
52682
52683         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
52684         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
52685         lib/xreadlink-with-size.c.
52686         (configure.ac): Remove gl_XREADLINK invocation.
52687         (Makefile.am): Augment lib_SOURCES.
52688         * m4/xreadlink.m4: Remove file.
52689         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
52690         (xreadlink_with_size): Renamed from xreadink.
52691         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
52692         * modules/canonicalize (Depends-on): Replace xreadlink with
52693         xreadlink-with-size.
52694         * lib/canonicalize.c (canonicalize_filename_mode): Update.
52695
52696 2007-02-25  Jim Meyering  <jim@meyering.net>
52697
52698         * build-aux/announce-gen: When complaining about excess arguments,
52699         list them.
52700
52701 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
52702
52703         * README: Document signed integer overflow situation more
52704         accurately.
52705
52706 2007-02-25  Bruno Haible  <bruno@clisp.org>
52707
52708         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
52709         'a' or 'A' conversion.
52710
52711 2007-02-25  Bruno Haible  <bruno@clisp.org>
52712
52713         * modules/filename: Renamed from modules/pathname.
52714         (Files): Replace lib/pathname.h with lib/filename.h. Replace
52715         lib/concatpath.c with lib/concat-filename.c.
52716         (Makefile.am): Update.
52717         (Include): Replace pathname.h with filename.h.
52718         * lib/filename.h: Renamed from lib/pathname.h.
52719         (concatenated_filename): Renamed from concatenated_pathname.
52720         * lib/concat-filename.c: Renamed from lib/concatpath.c.
52721         (concatenated_filename): Renamed from concatenated_pathname.
52722         * lib/findprog.c: Include filename.h instead of pathname.h.
52723         (find_in_path): Update.
52724         * lib/javacomp.c: Include filename.h instead of pathname.h.
52725         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
52726         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
52727         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
52728         is_oldgcj_14_13_usable, is_javac_usable): Update.
52729         * lib/javaexec.c: Include filename.h instead of pathname.h.
52730         (execute_java_class): Update.
52731         * modules/findprog: Update.
52732         * modules/javacomp: Update.
52733         * modules/javaexec: Update.
52734         * MODULES.html.sh (File system functions): Add 'filename', remove
52735         'pathname'.
52736
52737 2007-02-25  Bruno Haible  <bruno@clisp.org>
52738
52739         * modules/printf-frexpl-tests: New file.
52740         * tests/test-printf-frexpl.c: New file.
52741
52742         * modules/printf-frexpl: New file.
52743         * lib/printf-frexpl.h: New file.
52744         * lib/printf-frexpl.c: New file.
52745         * m4/printf-frexpl.m4: New file.
52746
52747 2007-02-25  Bruno Haible  <bruno@clisp.org>
52748
52749         * modules/printf-frexp-tests: New file.
52750         * tests/test-printf-frexp.c: New file.
52751
52752         * modules/printf-frexp: New file.
52753         * lib/printf-frexp.h: New file.
52754         * lib/printf-frexp.c: New file.
52755         * m4/printf-frexp.m4: New file.
52756
52757 2007-02-25  Bruno Haible  <bruno@clisp.org>
52758
52759         Assume automake >= 1.10 for the tests.
52760         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
52761         * modules/arctwo-tests: Likewise.
52762         * modules/argp-tests: Likewise.
52763         * modules/avltree-list-tests: Likewise.
52764         * modules/avltree-oset-tests: Likewise.
52765         * modules/avltreehash-list-tests: Likewise.
52766         * modules/carray-list-tests: Likewise.
52767         * modules/crc-tests: Likewise.
52768         * modules/des-tests: Likewise.
52769         * modules/gc-arcfour-tests: Likewise.
52770         * modules/gc-arctwo-tests: Likewise.
52771         * modules/gc-des-tests: Likewise.
52772         * modules/gc-hmac-md5-tests: Likewise.
52773         * modules/gc-hmac-sha1-tests: Likewise.
52774         * modules/gc-md2-tests: Likewise.
52775         * modules/gc-md4-tests: Likewise.
52776         * modules/gc-md5-tests: Likewise.
52777         * modules/gc-pbkdf2-sha1-tests: Likewise.
52778         * modules/gc-rijndael-tests: Likewise.
52779         * modules/gc-sha1-tests: Likewise.
52780         * modules/gc-tests: Likewise.
52781         * modules/getaddrinfo-tests: Likewise.
52782         * modules/hmac-md5-tests: Likewise.
52783         * modules/hmac-sha1-tests: Likewise.
52784         * modules/linked-list-tests: Likewise.
52785         * modules/linkedhash-list-tests: Likewise.
52786         * modules/lock-tests: Likewise.
52787         * modules/md2-tests: Likewise.
52788         * modules/md4-tests: Likewise.
52789         * modules/md5-tests: Likewise.
52790         * modules/rbtree-list-tests: Likewise.
52791         * modules/rbtree-oset-tests: Likewise.
52792         * modules/rbtreehash-list-tests: Likewise.
52793         * modules/read-file-tests: Likewise.
52794         * modules/rijndael-tests: Likewise.
52795         * modules/stdint-tests: Likewise.
52796         * modules/tls-tests: Likewise.
52797
52798 2007-02-24  Bruno Haible  <bruno@clisp.org>
52799
52800         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
52801         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
52802         function; instead check whether isnan with a double argument links.
52803         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
52804         function; instead check whether isnan with a 'long double' argument
52805         links.
52806         Reported by Eric Blake <ebb9@byu.net>.
52807
52808 2007-02-24  Bruno Haible  <bruno@clisp.org>
52809
52810         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
52811         defined.
52812         * lib/isnanl.c: Remove all code. Just include isnan.c.
52813         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
52814
52815 2007-02-25  Jim Meyering  <jim@meyering.net>
52816
52817         Avoid conflicting types for 'unsetenv' on FreeBSD.
52818         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
52819         conflicting with FreeBSD's (5.0 and 6.1) function declaration
52820         in stdlib.h.
52821
52822 2007-02-24  Bruno Haible  <bruno@clisp.org>
52823
52824         * modules/isnanl-nolibm-tests: New file.
52825         * tests/test-isnanl.c: New file.
52826
52827         * modules/isnanl-nolibm: New file.
52828         * lib/isnanl.h: New file.
52829         * lib/isnanl.c: New file.
52830         * m4/isnanl.m4: New file.
52831
52832 2007-02-24  Bruno Haible  <bruno@clisp.org>
52833
52834         * modules/isnan-nolibm-tests: New file.
52835         * tests/test-isnan.c: New file.
52836
52837         * modules/isnan-nolibm: New file.
52838         * lib/isnan.h: New file.
52839         * lib/isnan.c: New file.
52840         * m4/isnan.m4: New file.
52841
52842 2007-02-24  Bruno Haible  <bruno@clisp.org>
52843
52844         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
52845         assume that an exponent fits in 20 bits.
52846
52847 2007-02-24  Jim Meyering  <jim@meyering.net>
52848
52849         * m4/regex.m4: Update the description of the configure-time option,
52850         --without-included-regex, to state accurately what the defaults are,
52851         and perhaps to give people an idea why using this option is risky.
52852
52853 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
52854
52855         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
52856         loops on small arguments.  This attempts to avoid the problem
52857         Bruno Haible reported for AIX 4.3.2 in
52858         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
52859
52860 2007-02-23  Bruno Haible  <bruno@clisp.org>
52861
52862         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
52863         Needed for help2man.
52864
52865 2007-02-23  Karl Berry  <karl@gnu.org>
52866
52867         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
52868         exists, foo.h should be cvs-ignored, not committed.
52869
52870 2007-02-23  Eric Blake  <ebb9@byu.net>
52871
52872         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
52873         * lib/stat-time.h (includes): Likewise.
52874         * lib/utimecmp.c (includes): Likewise.
52875         * lib/utimens.h (includes): Likewise.
52876         * lib/getdate.y (includes): Also include "timespec.h" for use
52877         internal to the module.
52878         * modules/utimens (Depends-on): Revert yesterday's patch.
52879         * modules/nanosleep (Depends-on): Add missing dependency.
52880
52881 2007-02-22  Bruno Haible  <bruno@clisp.org>
52882
52883         * lib/glob.c: Don't include getlogin_r.h.
52884
52885 2007-02-22  Jim Meyering  <jim@meyering.net>
52886
52887         * modules/utimens (Depends-on): Add timespec, required for
52888         utimens.h's inclusion of timespec.h.
52889
52890 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
52891
52892         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
52893         long unreadable paths in GNU/Linux.  Problem reported by Andreas
52894         Schwab in
52895         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
52896         I'll try to think of a better way to fix the Solaris problem.
52897
52898         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
52899         like glibc; on Solaris 10, it fails with errno == EINVAL.
52900         POSIX says the behavior is unspecified if the first argument is NULL,
52901         so play it safe and never pass NULL to the system getcwd.
52902
52903 2007-02-21  Jim Meyering  <jim@meyering.net>
52904
52905         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
52906         of gettimeofday.  It would conflict with the one now always
52907         provided via sys_time_.h.  Reported by Matthew Woehlke, as
52908         an IRIX 6.5 build failure.
52909
52910 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
52911
52912         Minor fixups to port to Solaris 10 with Sun C 5.8.
52913         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
52914         * modules/getcwd (Depends-on): Add dirfd.
52915         * lib/putenv.c (putenv): #undef it.
52916         (rpl_putenv): New decl.
52917         (malloc, free): Include <stdlib.h> rather than prototyping separately.
52918
52919 2007-02-20  Bruno Haible  <bruno@clisp.org>
52920
52921         * modules/stdio-tests: New file.
52922         * tests/test-stdio.c: New file.
52923
52924         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
52925         (Depends-on): Add stdio.
52926         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
52927         (Include): Use <stdio.h> instead of vsnprintf.h.
52928         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
52929         HAVE_DECL_VSNPRINTF.
52930         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
52931
52932         * modules/snprintf (Files): Remove lib/snprintf.h.
52933         (Depends-on): Add stdio.
52934         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
52935         (Include): Use <stdio.h> instead of snprintf.h.
52936         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
52937         HAVE_DECL_SNPRINTF.
52938         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
52939         * lib/getaddrinfo.c: Likewise.
52940
52941         * modules/stdio: New file.
52942         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
52943         * lib/snprintf.h: Remove file.
52944         * lib/vsnprintf.h: Remove file.
52945         * lib/.cppi-disable: Remove snprintf.h.
52946         * m4/stdio_h.m4: New file.
52947         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
52948
52949 2007-02-20  Jim Meyering  <jim@meyering.net>
52950
52951         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
52952         used by e.g., mingw.  From Bruno Haible.
52953
52954 2007-02-19  Bruno Haible  <bruno@clisp.org>
52955
52956         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
52957         warnings.
52958         Reported by Ben Pfaff <blp@cs.stanford.edu>.
52959
52960 2007-02-19  Bruno Haible  <bruno@clisp.org>
52961
52962         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
52963         from mingw users.
52964
52965 2007-02-19  Bruno Haible  <bruno@clisp.org>
52966
52967         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
52968         warnings.
52969         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
52970
52971 2007-02-19  Jim Meyering  <jim@meyering.net>
52972
52973         Don't use FD after a successful "fdopendir (fd)".
52974         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
52975         Reset it by calling dirfd on the just-obtained DIR*.
52976
52977         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
52978         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
52979
52980 2007-02-18  Bruno Haible  <bruno@clisp.org>
52981
52982         * lib/readlink.c: Include <unistd.h>.
52983         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
52984         HAVE_READLINK.
52985         * modules/readlink (Depends-on): Add unistd.
52986         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52987         (Include): Add <unistd.h>.
52988
52989         * lib/getlogin_r.h: Remove file.
52990         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
52991         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
52992         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
52993         HAVE_DECL_GETLOGIN_R.
52994         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
52995         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
52996         (Include): Use <unistd.h> instead of getlogin_r.h.
52997
52998         * lib/getcwd.h: Remove file.
52999         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
53000         * lib/xgetcwd.c: Likewise.
53001         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
53002         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
53003         * modules/getcwd (Files): Remove lib/getcwd.h.
53004         (Depends-on): Add unistd.
53005         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53006         (Include): Use <unistd.h> instad of getcwd.h.
53007
53008         * lib/ftruncate.c: Include <unistd.h> first.
53009         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
53010         Set HAVE_FTRUNCATE.
53011         * modules/ftruncate (Depends-on): Add unistd.
53012         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53013
53014         * lib/fchdir.c: Include <unistd.h> first.
53015         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
53016         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
53017         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
53018         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53019         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
53020
53021         * lib/dup2.c: Include <unistd.h> first.
53022         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
53023         HAVE_DUP2.
53024         * modules/dup2 (Depends-on): Add unistd.
53025         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53026
53027         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
53028         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
53029         REPLACE_CHOWN. Don't define chown as a macro here.
53030         * modules/chown (Depends-on): Add unistd.
53031         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
53032
53033         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
53034         Add definition for GL_LINK_WARNING.
53035         (chown, dup2): New declarations.
53036         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
53037         link warning.
53038         (ftruncate): New declaration.
53039         (getcwd): New declaration, taken from old getcwd.h.
53040         (getlogin_r): New declaration, taken from old getlogin_r.h.
53041         (readlink): New declaration.
53042         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
53043         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
53044         (gl_PREREQ_UNISTD): Remove macro.
53045         (gl_UNISTD_MODULE_INDICATOR): New macro.
53046         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
53047         many new variables. Don't set UNISTD_H.
53048         * modules/unistd (Description): Change.
53049         (Depends-on): Add link-warning.
53050         (configure.ac): Update.
53051         (Makefile.am): Create unistd.h always. Substitute many new variables
53052         into it.
53053
53054 2007-02-18  Bruno Haible  <bruno@clisp.org>
53055
53056         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
53057         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
53058         HAVE_GETSUBOPT.
53059         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
53060         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
53061         * lib/getsubopt.h: Remove file.
53062         * modules/getsubopt (Files): Remove lib/getsubopt.h.
53063         (Depends-on): Add stdlib.
53064         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53065         (Includes): Use <stdlib.h> instead of getsubopt.h.
53066         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
53067         Set HAVE_GETSUBOPT.
53068         * lib/getsubopt.c: Don't include getsubopt.h.
53069
53070 2007-02-18  Bruno Haible  <bruno@clisp.org>
53071
53072         * modules/fchdir (Depends-on): Add dup2.
53073
53074 2007-02-18  Bruno Haible  <bruno@clisp.org>
53075
53076         * lib/stdlib_.h: Handle glibc's special invocation convention
53077         specially.
53078
53079 2007-02-18  Bruno Haible  <bruno@clisp.org>
53080
53081         * modules/stdlib-tests: New file.
53082         * tests/test-stdlib.c: New file.
53083
53084         * modules/mkstemp (Files): Remove lib/mkstemp.h.
53085         (Depends-on): Add stdlib.
53086         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53087         (Includes): Use <stdlib.h> instead of mkstemp.h.
53088         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
53089         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
53090         * lib/mkstemp.c: Don't include mkstemp.h.
53091         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
53092         * lib/stdlib--.h: Don't include mkstemp.h.
53093
53094         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
53095         (Depends-on): Add stdlib.
53096         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53097         (Includes): Use <stdlib.h> instead of mkdtemp.h.
53098         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
53099         HAVE_MKDTEMP.
53100         * lib/mkdtemp.c: Don't include mkdtemp.h.
53101         * lib/clean-temp.c: Don't include mkdtemp.h.
53102
53103         * modules/exit (Files): Remove lib/exit.h.
53104         (Depends-on): Add stdlib.
53105         (Makefile.am): Remove lib_SOURCES.
53106         (Include): Use <stdlib.h> instead of exit.h.
53107         * lib/argmatch.c: Don't include exit.h.
53108         * lib/execute.c: Likewise.
53109         * lib/pagealign_alloc.c: Likewise.
53110         * lib/pipe.c: Likewise.
53111         * lib/wait-process.c: Likewise.
53112         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
53113         * lib/exitfail.c: Likewise.
53114         * lib/savewd.c: Likewise.
53115         * lib/xsetenv.c: Likewise.
53116
53117         * modules/stdlib: New file.
53118         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
53119         and extra comments about mkstemp().
53120         * lib/exit.h: Remove file.
53121         * lib/mkdtemp.h: Remove file.
53122         * lib/mkstemp.h: Remove file.
53123         * m4/stdlib_h.m4: New file.
53124         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
53125
53126 2007-02-18  Bruno Haible  <bruno@clisp.org>
53127
53128         * modules/math-tests: New file.
53129         * tests/test-math.c: New file.
53130
53131         * modules/math: New file.
53132         * modules/mathl (Files): Remove lib/mathl.h.
53133         (Depends-on): Add math.
53134         (Makefile.am): Don't mention mathl.h.
53135         (Include): Use <math.h> instead of mathl.h.
53136         * lib/math_.h: New file.
53137         * lib/mathl.h: Remove file.
53138         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
53139         mathl.h.
53140         * lib/asinl.c: Likewise.
53141         * lib/atanl.c: Likewise.
53142         * lib/ceill.c: Likewise.
53143         * lib/cosl.c: Likewise.
53144         * lib/expl.c: Likewise.
53145         * lib/floorl.c: Likewise.
53146         * lib/frexpl.c: Likewise.
53147         * lib/ldexpl.c: Likewise.
53148         * lib/logl.c: Likewise.
53149         * lib/sincosl.c: Likewise.
53150         * lib/sinl.c: Likewise.
53151         * lib/sqrtl.c: Likewise.
53152         * lib/tanl.c: Likewise.
53153         * lib/trigl.c: Likewise.
53154         * m4/math_h.m4: New file.
53155         * MODULES.html.sh (Mathematics): Add math.
53156
53157 2007-02-17  Bruno Haible  <bruno@clisp.org>
53158
53159         * modules/wctype-tests: New file.
53160         * tests/test-wctype.c: New file.
53161
53162         * modules/wchar-tests: New file.
53163         * tests/test-wchar.c: New file.
53164
53165         * modules/unistd-tests: New file.
53166         * tests/test-unistd.c: New file.
53167
53168         * modules/time-tests: New file.
53169         * tests/test-time.c: New file.
53170
53171         * modules/sysexits-tests: New file.
53172         * tests/test-sysexits.c: New file.
53173
53174         * modules/sys_time-tests: New file.
53175         * tests/test-sys_time.c: New file.
53176
53177         * modules/sys_stat-tests: New file.
53178         * tests/test-sys_stat.c: New file.
53179
53180         * modules/sys_socket-tests: New file.
53181         * tests/test-sys_socket.c: New file.
53182
53183         * modules/sys_select-tests: New file.
53184         * tests/test-sys_select.c: New file.
53185
53186         * modules/string-tests: New file.
53187         * tests/test-string.c: New file.
53188
53189         * modules/stdbool-tests: New file.
53190         * tests/test-stdbool.c: New file.
53191
53192         * modules/netinet_in-tests: New file.
53193         * tests/test-netinet_in.c: New file.
53194
53195         * modules/inttypes-tests: New file.
53196         * tests/test-inttypes.c: New file.
53197
53198         * modules/fcntl-tests: New file.
53199         * tests/test-fcntl.c: New file.
53200
53201         * modules/byteswap-tests: New file.
53202         * tests/test-byteswap.c: New file.
53203
53204         * modules/arpa_inet-tests: New file.
53205         * tests/test-arpa_inet.c: New file.
53206
53207 2007-02-17  Bruno Haible  <bruno@clisp.org>
53208
53209         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
53210         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
53211         if the corresponding module is not enabled. Emit link warnings if
53212         the function is used nevertheless.
53213         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
53214         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
53215         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
53216         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
53217         * modules/inttypes (Depends-on): Add link-warning.
53218         (Makefile.am): Copy the contents of build-aux/link-warning.h into
53219         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
53220         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
53221         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
53222         * modules/imaxdiv (configure.ac): Likewise.
53223         * modules/strtoimax (configure.ac): Likewise.
53224         * modules/strtoumax (configure.ac): Likewise.
53225
53226 2007-02-17  Bruno Haible  <bruno@clisp.org>
53227
53228         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
53229         gl_STRING_MODULE_INDICATOR_DEFAULTS.
53230         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
53231         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
53232
53233 2007-02-17  Bruno Haible  <bruno@clisp.org>
53234
53235         * modules/link-warning: New file.
53236         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
53237         * lib/string_.h (GL_LINK_WARNING): Remove definition.
53238         * modules/string (Depends-on): Add link-warning.
53239         (Makefile.am): Copy the contents of build-aux/link-warning.h into
53240         string.h.
53241         * MODULES.html.sh (Support for building libraries and executables): Add
53242         link-warning.
53243
53244 2007-02-17  Bruno Haible  <bruno@clisp.org>
53245
53246         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
53247         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
53248         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
53249         long lines.
53250
53251 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
53252             Bruno Haible  <bruno@clisp.org>
53253
53254         * modules/tmpfile: New file.
53255         * lib/tmpfile.c: New file.
53256         * m4/tmpfile.m4: New file.
53257         * MODULES.html.sh (func_all_modules): New section "Input/output".
53258
53259 2007-02-15  Bruno Haible  <bruno@clisp.org>
53260
53261         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
53262         (supports_delete_on_close): New function.
53263         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
53264
53265 2007-02-14  Bruno Haible  <bruno@clisp.org>
53266
53267         * modules/mbspcasecmp-tests: New file.
53268         * tests/test-mbspcasecmp.sh: New file.
53269         * tests/test-mbspcasecmp.c: New file.
53270
53271         New module mbspcasecmp.
53272         * modules/mbspcasecmp: New file.
53273         * lib/mbspcasecmp.c: New file.
53274         * lib/string_.h (strncasecmp): Change warning message.
53275         (mbspcasecmp): New declaration.
53276         * m4/mbspcasecmp.m4: New file.
53277         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53278         GNULIB_MBSPCASECMP.
53279         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
53280         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
53281
53282 2007-02-14  Bruno Haible  <bruno@clisp.org>
53283
53284         * modules/mbsncasecmp-tests: New file.
53285         * tests/test-mbsncasecmp.sh: New file.
53286         * tests/test-mbsncasecmp.c: New file.
53287
53288         New module mbsncasecmp.
53289         * modules/mbsncasecmp: New file.
53290         * lib/mbsncasecmp.c: New file.
53291         * lib/string_.h (mbsncasecmp): New declaration.
53292         * m4/mbsncasecmp.m4: New file.
53293         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53294         GNULIB_MBSNCASECMP.
53295         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
53296         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
53297
53298 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
53299
53300         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
53301         Verify that it doesn't overlap with our flags.
53302         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
53303         do not have the desired effect in multibyte locales; instead, use
53304         mbscasecmp.
53305         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
53306         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
53307         we don't require GNU fnmatch ourselves (if our users require it, they
53308         should do so explicitly).
53309
53310         Fix regex code so it doesn't rely on strcasecmp.
53311         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
53312         Otherwise, include gnulib's langinfo.h.
53313         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
53314         undesirable behavior in non-C locales.  Instead, rely on localecharset.
53315         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
53316         * modules/regex (FILES): Remove m4/codeset.m4.
53317         (Depends-on): Add localcharset.  Remove strcase.
53318
53319 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53320
53321         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
53322         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
53323
53324 2007-02-13  Bruno Haible  <bruno@clisp.org>
53325
53326         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
53327         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53328
53329 2007-02-12  Bruno Haible  <bruno@clisp.org>
53330
53331         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
53332         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
53333         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
53334         time warning rather than a link error.
53335
53336 2007-02-12  Bruno Haible  <bruno@clisp.org>
53337
53338         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
53339         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
53340         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53341
53342 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
53343
53344         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
53345         args, not 2.
53346
53347 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
53348
53349         New module 'time', so that apps can include <time.h> as per
53350         POSIX and GNU instead of separate include files like time_r.h
53351         and timegm.h.  This implementation tries out a simpler approach
53352         for replacing decls in standard include files (as compared to
53353         the string module), somewhat as an experiment.
53354
53355         * config/srclist.txt: Comment out mktime.c for now.
53356         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
53357         since it doesn't apply any more.  Use generic wording instead.
53358         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
53359         'time'.
53360         * lib/time_.h, m4/time_h.m4, modules/time: New files.
53361         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
53362         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
53363         Don't include <sys/types.h>; no longer needed since we assume C89.
53364         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
53365         * lib/strftime.c: Likewise.
53366         * lib/time_r.c: Likewise.
53367         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
53368         * lib/nanosleep.c: Include <time.h> first, to check interface.
53369         * lib/strptime.c: Likewise.
53370         * lib/time_r.c: Likewise.
53371         * lib/timegm.c: Likewise.
53372         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
53373         needed.
53374         * lib/timegm.c: Don't include timegm.h; no longer needed.
53375         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
53376         time.h now handles any problems in that area.
53377         (struct timespec, nanosleep): Remove; time.h now arranges for these.
53378         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
53379         that time.h defines struct timespec.
53380         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
53381         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
53382         handles that.
53383         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
53384         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
53385         needed.  Set REPLACE_LOCALTIME.
53386         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
53387         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
53388         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
53389         nanosleep; time_h.m4 now does that.  Don't require
53390         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
53391         module handles this now.
53392         * modules/getdate (Depends-on): Remove timespec.  Add time.
53393         * modules/nanosleep (Depends-on): Likewise.
53394         * modules/stat-time (Depends-on): Likewise.
53395         * modules/nanosleep (Include): Include time.h, not timespec.h.
53396         * modules/strptime (Files): Remove lib/strptime.h.
53397         (Depends-on): Add extensions, time.
53398         (Include): Include time.h, not strptime.h.
53399         * modules/time_r (Files): Remove lib/time_r.h.
53400         (Depends-on): Add time.
53401         (Include): Include time.h, not time_r.h.
53402         * modules/timegm: Likewise.
53403         * modules/timespec (Description): Now does timespec-related decls
53404         of our own, instead of struct timespec itself.
53405         (Depends-on): Add time; remove extensions.
53406         (Maintainer): Add self.
53407         * modules/utimecmp (Depends-on): Add time; remove timespec.
53408         * modules/utimens (Depends-on): Likewise.
53409         * modules/xnanosleep (Depends-on): Likewise.
53410
53411 2007-02-11  Bruno Haible  <bruno@clisp.org>
53412
53413         * lib/c-strstr.c: Include allocsa.h.
53414         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
53415         * lib/c-strcasestr.c: Include allocsa.h.
53416         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
53417         * lib/strcasestr.c: Include allocsa.h.
53418         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
53419         * lib/mbsstr.c: Include allocsa.h.
53420         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
53421         allocsa/freesa instead of malloc/free.
53422         * lib/mbscasestr.c: Include allocsa.h.
53423         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
53424         allocsa/freesa instead of malloc/free.
53425         * modules/c-strstr (Depends-on): Add allocsa.
53426         * modules/c-strcasestr (Depends-on): Likewise.
53427         * modules/strcasestr (Depends-on): Likewise.
53428         * modules/mbsstr (Depends-on): Likewise.
53429         * modules/mbscasestr (Depends-on): Likewise.
53430
53431 2007-02-11  Bruno Haible  <bruno@clisp.org>
53432
53433         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
53434
53435         * modules/mbsspn-tests: New file.
53436         * tests/test-mbsspn.sh: New file.
53437         * tests/test-mbsspn.c: New file.
53438
53439 2007-02-11  Bruno Haible  <bruno@clisp.org>
53440
53441         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
53442
53443         * modules/mbspbrk-tests: New file.
53444         * tests/test-mbspbrk.sh: New file.
53445         * tests/test-mbspbrk.c: New file.
53446
53447 2007-02-11  Bruno Haible  <bruno@clisp.org>
53448
53449         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
53450         unneeded cast.
53451
53452         * modules/mbscspn-tests: New file.
53453         * tests/test-mbscspn.sh: New file.
53454         * tests/test-mbscspn.c: New file.
53455
53456 2007-02-11  Bruno Haible  <bruno@clisp.org>
53457
53458         * modules/mbscasecmp-tests: New file.
53459         * tests/test-mbscasecmp.sh: New file.
53460         * tests/test-mbscasecmp.c: New file.
53461
53462 2007-02-11  Bruno Haible  <bruno@clisp.org>
53463
53464         Ensure O(n) worst-case complexity of mbscasestr.
53465         * lib/mbscasestr.c: Include stdbool.h.
53466         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
53467         functions.
53468         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
53469         the bookkeeping indicates that it's worth it.
53470         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
53471
53472         * modules/mbscasestr-tests: New file.
53473         * tests/test-mbscasestr1.c: New file.
53474         * tests/test-mbscasestr2.sh: New file.
53475         * tests/test-mbscasestr2.c: New file.
53476         * tests/test-mbscasestr3.sh: New file.
53477         * tests/test-mbscasestr3.c: New file.
53478         * tests/test-mbscasestr4.sh: New file.
53479         * tests/test-mbscasestr4.c: New file.
53480         * m4/locale-tr.m4: New file.
53481
53482 2007-02-11  Bruno Haible  <bruno@clisp.org>
53483
53484         Ensure O(n) worst-case complexity of mbsstr.
53485         * lib/mbsstr.c: Include stdbool.h.
53486         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
53487         functions.
53488         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
53489         bookkeeping indicates that it's worth it.
53490         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
53491
53492         * modules/mbsstr-tests: New file.
53493         * tests/test-mbsstr1.c: New file.
53494         * tests/test-mbsstr2.sh: New file.
53495         * tests/test-mbsstr2.c: New file.
53496         * tests/test-mbsstr3.sh: New file.
53497         * tests/test-mbsstr3.c: New file.
53498         * m4/locale-fr.m4: New file.
53499
53500 2007-02-11  Bruno Haible  <bruno@clisp.org>
53501
53502         * lib/mbsrchr.c (mbsrchr): Fix bug.
53503
53504         * modules/mbsrchr-tests: New file.
53505         * tests/test-mbsrchr.sh: New file.
53506         * tests/test-mbsrchr.c: New file.
53507
53508 2007-02-11  Bruno Haible  <bruno@clisp.org>
53509
53510         * lib/mbschr.c (mbschr): Fix bug.
53511
53512         * modules/mbschr-tests: New file.
53513         * tests/test-mbschr.sh: New file.
53514         * tests/test-mbschr.c: New file.
53515         * m4/locale-zh.m4: New file.
53516
53517 2007-02-11  Bruno Haible  <bruno@clisp.org>
53518
53519         Support for copying multibyte string iterators.
53520         * lib/mbiter.h: Include <string.h>.
53521         (mbiter_multi_copy): New function.
53522         (mbi_copy): New macro.
53523         * lib/mbuiter.h: Include <string.h>.
53524         (mbuiter_multi_copy): New function.
53525         (mbui_copy): New macro.
53526
53527 2007-02-11  Bruno Haible  <bruno@clisp.org>
53528
53529         New module mbslen.
53530         * modules/mbslen: New file.
53531         * lib/mbslen.c: New file.
53532         * lib/string_.h (mbslen): New declaration.
53533         * m4/mbslen.m4: New file.
53534         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53535         GNULIB_MBSLEN.
53536         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
53537         * MODULES.html.sh (Internationalization functions): Add mbslen.
53538
53539 2007-02-11  Bruno Haible  <bruno@clisp.org>
53540
53541         Ensure O(n) worst-case complexity of strcasestr substitute.
53542         * lib/strcasestr.c: Include stdbool.h.
53543         (knuth_morris_pratt): New function.
53544         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
53545         bookkeeping indicates that it's worth it.
53546         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
53547
53548         * modules/strcasestr-tests: New file.
53549         * tests/test-strcasestr.c: New file.
53550
53551 2007-02-11  Bruno Haible  <bruno@clisp.org>
53552
53553         Ensure O(n) worst-case complexity of c_strcasestr.
53554         * lib/c-strcasestr.c: Include stdbool.h, string.h.
53555         (knuth_morris_pratt): New function.
53556         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
53557         the bookkeeping indicates that it's worth it.
53558         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
53559
53560         * modules/c-strcasestr-tests: New file.
53561         * tests/test-c-strcasestr.c: New file.
53562
53563 2007-02-11  Bruno Haible  <bruno@clisp.org>
53564
53565         Ensure O(n) worst-case complexity of c_strstr.
53566         * lib/c-strstr.c: Include stdbool.h, string.h.
53567         (knuth_morris_pratt): New function.
53568         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
53569         bookkeeping indicates that it's worth it.
53570         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
53571
53572         * lib/c-strstr.c: Complete rewrite for maintainability.
53573
53574         * modules/c-strstr-tests: New file.
53575         * tests/test-c-strstr.c: New file.
53576
53577 2007-02-11  Bruno Haible  <bruno@clisp.org>
53578
53579         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
53580         5.2.1 and earlier, whereby \055 was treated just like the range
53581         delimiter '-'.
53582         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
53583
53584 2007-02-08  Bruno Haible  <bruno@clisp.org>
53585
53586         * modules/regex (Depends-on): Add stdbool.
53587         Reported by Dalibor Topic <robilad@kaffe.org>.
53588
53589 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
53590
53591         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
53592         Prefer returning from main to exiting from it.
53593         Remove unnecessary parens after sizeof.
53594
53595 2007-02-05  Bruno Haible  <bruno@clisp.org>
53596
53597         New module mbssep.
53598         * modules/mbssep: New file.
53599         * lib/mbssep.c: New file.
53600         * lib/string_.h (strsep): Add a conditional link warning.
53601         (mbssep): New declaration.
53602         * m4/mbssep.m4: New file.
53603         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53604         GNULIB_MBSSEP.
53605         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
53606         * MODULES.html.sh (Internationalization functions): Add mbssep.
53607
53608 2007-02-05  Bruno Haible  <bruno@clisp.org>
53609
53610         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
53611         Optimize search in case of 1 delimiter.
53612
53613 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
53614
53615         * lib/acl.h: Include sys/types.h before sys/acl.h.
53616
53617 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
53618
53619         Merge upstream fix for glibc bugzilla #3957:
53620
53621         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
53622
53623         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
53624         bit for RE_HAT_LISTS_NOT_NEWLINE.
53625         (build_charclass_op): Remove bogus comment.
53626
53627 2007-02-05  Simon Josefsson  <simon@josefsson.org>
53628
53629         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
53630
53631 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
53632
53633         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
53634         * lib/memmem.c [!defined _LIBC]: Include config.h.
53635
53636 2007-02-04  Bruno Haible  <bruno@clisp.org>
53637
53638         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
53639         warning message.
53640
53641 2007-02-04  Bruno Haible  <bruno@clisp.org>
53642
53643         New module mbstok_r.
53644         * modules/mbstok_r: New file.
53645         * lib/mbstok_r.c: New file.
53646         * lib/string_.h (strtok_r): Change argument names to match the
53647         comments. Add a conditional link warning.
53648         (mbstok_r): New declaration.
53649         * m4/mbstok_r.m4: New file.
53650         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53651         GNULIB_MBSTOK_R.
53652         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
53653         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
53654
53655 2007-02-04  Bruno Haible  <bruno@clisp.org>
53656
53657         New module mbsspn.
53658         * modules/mbsspn: New file.
53659         * lib/mbsspn.c: New file.
53660         * lib/string_.h (strspn): Add a conditional link warning.
53661         (mbsspn): New declaration.
53662         * m4/mbsspn.m4: New file.
53663         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53664         GNULIB_MBSSPN.
53665         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
53666         * MODULES.html.sh (Internationalization functions): Add mbsspn.
53667
53668 2007-02-04  Bruno Haible  <bruno@clisp.org>
53669
53670         New module mbspbrk.
53671         * modules/mbspbrk: New file.
53672         * lib/mbspbrk.c: New file.
53673         * lib/string_.h (strpbrk): Add a conditional link warning.
53674         (mbspbrk): New declaration.
53675         * m4/mbspbrk.m4: New file.
53676         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53677         GNULIB_MBSPBRK.
53678         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
53679         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
53680
53681 2007-02-04  Bruno Haible  <bruno@clisp.org>
53682
53683         New module mbscspn.
53684         * modules/mbscspn: New file.
53685         * lib/mbscspn.c: New file.
53686         * lib/string_.h (strcspn): Add a conditional link warning.
53687         (mbscspn): New declaration.
53688         * m4/mbscspn.m4: New file.
53689         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53690         GNULIB_MBSCSPN.
53691         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
53692         * MODULES.html.sh (Internationalization functions): Add mbscspn.
53693
53694 2007-02-04  Bruno Haible  <bruno@clisp.org>
53695
53696         New module mbscasestr, reduced goal of strcasestr.
53697         * modules/mbscasestr: New file.
53698         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
53699         (mbscasestr): Renamed from strcasestr.
53700         * lib/strcasestr.c: Don't include mbuiter.h.
53701         (strcasestr): Remove support for multibyte locales.
53702         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
53703         Change the conditional link warning.
53704         (mbscasestr): New declaration.
53705         * m4/mbscasestr.m4: New file.
53706         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
53707         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
53708         REPLACE_STRCASESTR.
53709         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
53710         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
53711         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
53712         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
53713         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
53714         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
53715         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
53716         (Depends-on): Remove mbuiter.
53717         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
53718
53719 2007-02-04  Bruno Haible  <bruno@clisp.org>
53720
53721         Simplify handling of strncasecmp.
53722         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
53723         the conditional link warning.
53724         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
53725         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
53726         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
53727         * modules/strcase (configure.ac): Don't invoke
53728         gl_STRING_MODULE_INDICATOR.
53729         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
53730
53731 2007-02-04  Bruno Haible  <bruno@clisp.org>
53732
53733         New module mbscasecmp, reduced goal of strcasecmp.
53734         * modules/mbscasecmp: New file.
53735         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
53736         (mbscasecmp): Renamed from strcasecmp.
53737         * lib/strcasecmp.c: Don't include mbuiter.h.
53738         (strcasecmp): Remove support for multibyte locales.
53739         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
53740         Change the conditional link warning.
53741         (mbscasecmp): New declaration.
53742         * m4/mbscasecmp.m4: New file.
53743         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
53744         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
53745         REPLACE_STRCASECMP.
53746         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
53747         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53748         GNULIB_MBSCASECMP.
53749         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
53750         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
53751         * modules/strcase (Files): Remove m4/mbrtowc.m4.
53752         (Depends-on): Remove mbuiter.
53753         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
53754
53755 2007-02-04  Bruno Haible  <bruno@clisp.org>
53756
53757         New module mbsstr. Remove module strstr.
53758         * modules/mbsstr: New file.
53759         * modules/strstr: Remove file.
53760         * lib/mbsstr.c: Renamed from lib/strstr.c.
53761         (mbsstr): Renamed from strstr.
53762         * lib/string_.h (strstr): Remove declaration. Change the conditional
53763         link warning.
53764         (mbsstr): New declaration.
53765         * m4/mbsstr.m4: New file.
53766         * m4/strstr.m4: Remove file.
53767         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
53768         REPLACE_STRSTR.
53769         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
53770         Don't initialize GNULIB_STRSTR.
53771         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
53772         substitute GNULIB_STRSTR and REPLACE_STRSTR.
53773         * MODULES.html.sh (Internationalization functions): Add mbsstr.
53774         (Support for systems lacking ANSI C 89): Remove strstr.
53775
53776 2007-02-04  Bruno Haible  <bruno@clisp.org>
53777
53778         New module mbsrchr.
53779         * modules/mbsrchr: New file.
53780         * lib/mbsrchr.c: New file.
53781         * lib/string_.h (strrchr): Add a conditional link warning.
53782         (mbsrchr): New declaration.
53783         * m4/mbsrchr.m4: New file.
53784         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53785         GNULIB_MBSRCHR.
53786         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
53787         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
53788
53789 2007-02-04  Bruno Haible  <bruno@clisp.org>
53790
53791         New module mbschr.
53792         * modules/mbschr: New file.
53793         * lib/mbschr.c: New file.
53794         * lib/string_.h (strchr): Add a conditional link warning.
53795         (mbschr): New declaration.
53796         * m4/mbschr.m4: New file.
53797         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
53798         GNULIB_MBSCHR.
53799         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
53800         * MODULES.html.sh (Internationalization functions): Add mbschr.
53801
53802 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
53803
53804         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
53805
53806         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
53807
53808 2007-02-04  Bruno Haible  <bruno@clisp.org>
53809
53810         New module description section 'configure.ac-early'.
53811         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
53812         (func_get_autoconf_early_snippet): New function.
53813         (func_import, func_create_testdir): Use it. Remove special cases for
53814         modules 'extensions' and 'lock'.
53815         * modules/extensions (configure.ac-early): Require
53816         gl_USE_SYSTEM_EXTENSIONS.
53817         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
53818
53819 2007-02-04  Bruno Haible  <bruno@clisp.org>
53820
53821         Make use of gcj-4.3's -fsource and -ftarget option.
53822         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
53823         and if so try the options -fsource and -ftarget.
53824         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
53825         source_version, ftarget_option, target_version arguments.
53826         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
53827         (is_envjavac_oldgcj_14_14_usable): Renamed from
53828         is_envjavac_gcj_14_14_usable.
53829         (is_envjavac_oldgcj_14_13_usable): Renamed from
53830         is_envjavac_gcj_14_13_usable.
53831         (is_gcj_present): Update.
53832         (is_gcj_43, is_gcj43_usable): New functions.
53833         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
53834         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
53835         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
53836         try the options -fsource and -ftarget.
53837
53838 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
53839
53840         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
53841         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
53842         larger value.
53843
53844 2007-02-03  Jim Meyering  <jim@meyering.net>
53845
53846         Give tools a better chance to allocate space for very large buffers.
53847         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
53848
53849         Make pwd and readlink work also when run with an unreadable parent dir
53850         on systems with openat support.
53851         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
53852         provided getcwd function, even when we have openat support.
53853         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
53854
53855 2007-02-02  Bruno Haible  <bruno@clisp.org>
53856
53857         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
53858         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
53859         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
53860         portability problems if one of these functions is only used on specific
53861         platforms.
53862         Reported by Paul Eggert.
53863
53864 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
53865
53866         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
53867         is causing more trouble than it's curing.
53868         * lib/regex_internal.h (__mempcpy): Remove.
53869         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
53870         (and make the code a tad smaller to boot).
53871         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
53872
53873 2007-02-02  Jim Meyering  <jim@meyering.net>
53874
53875         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
53876         section, not in the Makefile.am: one.
53877
53878 2007-02-02  Eric Blake  <ebb9@byu.net>
53879
53880         * lib/strchrnul.c: Always include config.h first.
53881
53882         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
53883         gnulib strstr is not necessary here.
53884
53885 2007-02-02  Simon Josefsson  <simon@josefsson.org>
53886
53887         * m4/socklen.m4: Fix typo.
53888
53889 2007-02-02  Eric Blake  <ebb9@byu.net>
53890
53891         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
53892         * modules/netinet_in (Makefile.am): Likewise.
53893
53894 2007-02-01  Bruno Haible  <bruno@clisp.org>
53895
53896         * lib/string_.h (GL_LINK_WARNING): New macro.
53897         (strcasecmp, strstr, strcasestr): If provided by the system,
53898         conditionally define as a macro that leads to a warning instead of to
53899         an error.
53900         (strncasecmp): Conditionally define as a macro that leads to a warning.
53901
53902 2007-02-01  Karl Berry  <karl@gnu.org>
53903
53904         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
53905
53906 2007-02-01  Bruno Haible  <bruno@clisp.org>
53907
53908         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
53909         renamings.
53910
53911 2007-02-01  Eric Blake  <ebb9@byu.net>
53912
53913         * modules/regex (Depends-on): Revert dependence on mempcpy.
53914         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
53915         module's definition of mempcpy.
53916         Reported by Paul Eggert.
53917
53918 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
53919
53920         * lib/string_.h: If the gnulib module XYZ is not present, undefine
53921         the symbol XYZ before redefining it.  This fixes a problem with
53922         programs that don't use XYZ, when compiled on systems that define
53923         XYZ to something else.
53924
53925 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
53926
53927         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
53928         occurs when "mkdir -m foo" creates a setgid directory that is (1)
53929         writeable to group or other and (2) is intended to have a special
53930         mode bit that is set or cleared.  In such a case, the directory
53931         should be neither group- nor other-writeable until the special
53932         mode bits are right.
53933
53934 2007-01-31  Eric Blake  <ebb9@byu.net>
53935
53936         * modules/mountlist (Depends-on): Add strstr.
53937
53938         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
53939         bug.
53940         * modules/string (Makefile.am): Remove redundant replacement.
53941         * modules/regex (Depends-on): Add mempcpy.
53942
53943 2007-01-31  Bruno Haible  <bruno@clisp.org>
53944
53945         New module description field 'Link'.
53946         * gnulib-tool (func_usage): Document --extract-link-directive.
53947         (sed_extract_prog): Recognize 'Link' directive.
53948         (func_get_link_directive): New function.
53949         (func_import): Show summary of link directives.
53950         Handle --extract-link-directive option.
53951         * modules/acl (Link): New section.
53952         * modules/clock-time (Link): New section.
53953         * modules/euidaccess (Link): New section.
53954         * modules/gettext (Link): New section.
53955         * modules/iconv (Link): New section.
53956         * modules/lock (Link): New section.
53957         * modules/nanosleep (Link): New section.
53958         * modules/readline (Link): New section.
53959
53960 2007-01-27  Bruno Haible  <bruno@clisp.org>
53961
53962         Enforce the use of gnulib modules for unportable <string.h> functions.
53963         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
53964         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
53965         (gl_HEADER_STRING_H_BODY): Require it.
53966         * lib/string_.h: If the gnulib module XYZ is not present, redefine
53967         the symbol XYZ to one that gives a link error.
53968         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
53969         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
53970         * modules/mempcpy (configure.ac): Likewise.
53971         * modules/memrchr (configure.ac): Likewise.
53972         * modules/stpcpy (configure.ac): Likewise.
53973         * modules/stpncpy (configure.ac): Likewise.
53974         * modules/strcase (configure.ac): Likewise.
53975         * modules/strcasestr (configure.ac): Likewise.
53976         * modules/strchrnul (configure.ac): Likewise.
53977         * modules/strdup (configure.ac): Likewise.
53978         * modules/strndup (configure.ac): Likewise.
53979         * modules/strnlen (configure.ac): Likewise.
53980         * modules/strpbrk (configure.ac): Likewise.
53981         * modules/strsep (configure.ac): Likewise.
53982         * modules/strstr (configure.ac): Likewise.
53983         * modules/strtok_r (configure.ac): Likewise.
53984
53985 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
53986
53987         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
53988
53989 2007-01-30  Jim Meyering  <jim@meyering.net>
53990
53991         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
53992
53993 2007-01-29  Bruno Haible  <bruno@clisp.org>
53994
53995         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
53996         * lib/execute.c: Likewise.
53997         * lib/pipe.c: Likewise.
53998         * lib/printf-args.h: Likewise.
53999         * lib/printf-args.c: Likewise.
54000         * lib/printf-parse.c: Likewise.
54001         * lib/vasnprintf.c: Likewise.
54002
54003 2007-01-29  Eric Blake  <ebb9@byu.net>
54004
54005         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
54006         declaration.
54007
54008 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
54009
54010         * lib/strptime.h (strptime): Use 'restrict' for args where
54011         POSIX requires this.
54012         * lib/strptime.c (strptime): Likewise.
54013         Change license notice from LGPL to GPL, since gnulib-tool will
54014         change this as needed.
54015         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
54016         defined.
54017         Include "strptime.h" first, to check interface.
54018         Do not #undef _LIBC and _NL_CURRENT.
54019         Do not include <stdlib.h>; no longer needed.
54020         Include "time_r.h" and declare ptime_locale_status
54021         only if _LIBC is not defined.
54022         (__P): Remove unused macro.
54023         (match_string): Bring back glibc version, but use it only if _LIBC
54024         is defined.
54025         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
54026         Remove unnecessary assertion and abort() call.
54027         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
54028         * m4/strptime.m4: Fix serial number comment.
54029         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
54030         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
54031         (Depends-on): Add time_r.
54032
54033 2007-01-29  Bruno Haible  <bruno@clisp.org>
54034
54035         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
54036         strptime.
54037         * modules/strptime (Depends-on): Add stdbool.
54038         * lib/strptime.h: Include <time.h> always. Add comments.
54039
54040 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
54041
54042         * modules/strptime: New file.
54043         * lib/strptime.h: New file.
54044         * lib/strptime.c: New file.
54045         * m4/strptime.m4: New file.
54046
54047 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
54048
54049         * MODULES.html.sh: New module mpsort.
54050         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
54051
54052         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
54053         a circularity problem with HP-UX ia64 reported by Bob Proulx in
54054         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
54055         All uses changed.
54056         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
54057         All uses changed.
54058         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
54059         to _Restrict_.
54060         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
54061         the parameter matches the prototype.
54062
54063 2007-01-28  Jim Meyering  <jim@meyering.net>
54064
54065         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
54066         sys/time.h here, reverting that part of the previous patch:
54067         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
54068
54069 2007-01-28  Bruno Haible  <bruno@clisp.org>
54070
54071         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
54072         value of $(SYS_TIME_H).
54073         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
54074         remove it conditionally, too. [added by Jim Meyering]
54075         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
54076         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
54077         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
54078         GETTIMEOFDAY_REPLACEMENT to 1.
54079
54080 2007-01-28  Bruno Haible  <bruno@clisp.org>
54081
54082         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
54083         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
54084         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
54085         Set UNISTD_H instead of UNISTD_H2.
54086         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
54087
54088 2007-01-28  Bruno Haible  <bruno@clisp.org>
54089
54090         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
54091         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
54092
54093 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54094
54095         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
54096         (func_create_testdir): Ensure C locale for `grep' and `tr'
54097         character ranges.
54098         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
54099         ACLOCAL_AMFLAGS parsing state machine.
54100
54101 2007-01-27  Bruno Haible  <bruno@clisp.org>
54102
54103         * modules/unistr/base: Update.
54104
54105 2007-01-27  Bruno Haible  <bruno@clisp.org>
54106
54107         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
54108         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
54109         * modules/unistr/u32-mbtouc-unsafe: Renamed from
54110         modules/unistr/u32-mbtouc.
54111         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
54112         * lib/unistr.h: Update.
54113         * lib/linebreak.c: Update.
54114         * modules/unistr/u32-mbtouc: Renamed from
54115         modules/unistr/u32-mbtouc-safe.
54116         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
54117         * lib/unistr.h: Update.
54118         * lib/unistr/u32-to-u8.c: Update.
54119         * lib/unistr/u32-to-u16.c: Update.
54120
54121 2007-01-27  Bruno Haible  <bruno@clisp.org>
54122
54123         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
54124         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
54125         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
54126         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
54127         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
54128         * modules/unistr/u16-mbtouc-unsafe: Renamed from
54129         modules/unistr/u16-mbtouc.
54130         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
54131         * lib/unistr.h: Update.
54132         * lib/linebreak.c: Update.
54133         * modules/linebreak: Update.
54134         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
54135         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
54136         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
54137         * modules/unistr/u16-mbtouc: Renamed from
54138         modules/unistr/u16-mbtouc-safe.
54139         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
54140         * lib/unistr.h: Update.
54141         * lib/unistr/u16-to-u8.c: Update.
54142         * modules/unistr/u16-to-u8: Update.
54143         * lib/unistr/u16-to-u32.c: Update.
54144         * modules/unistr/u16-to-u32: Update.
54145
54146 2007-01-27  Bruno Haible  <bruno@clisp.org>
54147
54148         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
54149         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
54150         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
54151         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
54152         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
54153         * modules/unistr/u8-mbtouc-unsafe: Renamed from
54154         modules/unistr/u8-mbtouc.
54155         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
54156         * lib/unistr.h: Update.
54157         * lib/striconveh.c: Update.
54158         * modules/striconveh: Update.
54159         * lib/linebreak.c: Update.
54160         * modules/linebreak: Update.
54161         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
54162         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
54163         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
54164         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
54165         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
54166         * lib/unistr.h: Update.
54167         * lib/striconveh.c: Update.
54168         * modules/striconveh: Update.
54169         * lib/unistr/u8-to-u16.c: Update.
54170         * modules/unistr/u8-to-u16: Update.
54171         * lib/unistr/u8-to-u32.c: Update.
54172         * modules/unistr/u8-to-u32: Update.
54173
54174 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54175
54176         Sync from Libtool.
54177         * lib/argz.c: Do not include strings.h nor memory.h, include
54178         string.h unconditionally.  Patch by Simon Josefsson.
54179
54180 2007-01-27  Bruno Haible  <bruno@clisp.org>
54181
54182         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
54183         from gl_HEADER_STRING_H_BODY.
54184         (gl_HEADER_STRING_H_BODY): Require it.
54185         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
54186         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
54187         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
54188         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
54189         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
54190         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
54191         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54192         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
54193         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
54194         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
54195         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
54196         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
54197         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
54198         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
54199         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
54200
54201 2007-01-27  Bruno Haible  <bruno@clisp.org>
54202
54203         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
54204         check_PROGRAMS into noinst_PROGRAMS.
54205         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
54206         check_PROGRAMS in this case.
54207         (func_import): Set for_test to false.
54208         (func_create_testdir): Set for_test to true.
54209
54210 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
54211             Bruno Haible  <bruno@clisp.org>
54212
54213         * modules/strcasestr (Files): Remove lib/strcasestr.h.
54214         (Depends-on): Add string.
54215         (Includes): Use <string.h> instead of strcasestr.h.
54216         * modules/string (Makefile.am): Also substitute the value of
54217         REPLACE_STRCASESTR.
54218         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
54219         assume strcasestr is declared in <string.h> not <strings.h>. Also
54220         set REPLACE_STRCASESTR.
54221         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
54222         REPLACE_STRCASESTR.
54223         * lib/strcasestr.h: Remove file.
54224         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
54225         * lib/string_.h (strcasestr): New declaration.
54226
54227 2007-01-27  Bruno Haible  <bruno@clisp.org>
54228
54229         * lib/string_.h: Use 'extern'.
54230
54231 2007-01-27  Jim Meyering  <jim@meyering.net>
54232
54233         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
54234         of set-but-not-used local, "q".
54235
54236         * lib/mempcpy.c: Include <config.h> before <string.h>.
54237         This fixes a compilation error on HP-UX, due to the system's
54238         "restrict"-using mempcpy prototype.
54239
54240 2007-01-26  Bruno Haible  <bruno@clisp.org>
54241
54242         Small optimization.
54243         * lib/javacomp.c: Include c-strstr.h.
54244          (is_envjavac_gcj): Use c_strstr instead of strstr.
54245         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
54246
54247 2007-01-26  Bruno Haible  <bruno@clisp.org>
54248
54249         * MODULES.html.sh (Unicode string functions): Add the new modules.
54250
54251         * modules/uniconv/u32-strconv-to-locale: New file.
54252         * lib/uniconv/u32-strconv-to-locale.c: New file.
54253
54254         * modules/uniconv/u16-strconv-to-locale: New file.
54255         * lib/uniconv/u16-strconv-to-locale.c: New file.
54256
54257         * modules/uniconv/u8-strconv-to-locale: New file.
54258         * lib/uniconv/u8-strconv-to-locale.c: New file.
54259
54260         * modules/uniconv/u32-strconv-from-locale: New file.
54261         * lib/uniconv/u32-strconv-from-locale.c: New file.
54262
54263         * modules/uniconv/u16-strconv-from-locale: New file.
54264         * lib/uniconv/u16-strconv-from-locale.c: New file.
54265
54266         * modules/uniconv/u8-strconv-from-locale: New file.
54267         * lib/uniconv/u8-strconv-from-locale.c: New file.
54268
54269         * modules/uniconv/u32-strconv-to-enc: New file.
54270         * lib/uniconv/u32-strconv-to-enc.c: New file.
54271         * modules/uniconv/u32-strconv-to-enc-tests: New file.
54272         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
54273
54274         * modules/uniconv/u16-strconv-to-enc: New file.
54275         * lib/uniconv/u16-strconv-to-enc.c: New file.
54276         * lib/uniconv/u-strconv-to-enc.h: New file.
54277         * modules/uniconv/u16-strconv-to-enc-tests: New file.
54278         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
54279
54280         * modules/uniconv/u8-strconv-to-enc: New file.
54281         * lib/uniconv/u8-strconv-to-enc.c: New file.
54282         * modules/uniconv/u8-strconv-to-enc-tests: New file.
54283         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
54284
54285         * modules/uniconv/u32-strconv-from-enc: New file.
54286         * lib/uniconv/u32-strconv-from-enc.c: New file.
54287         * modules/uniconv/u32-strconv-from-enc-tests: New file.
54288         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
54289
54290         * modules/uniconv/u16-strconv-from-enc: New file.
54291         * lib/uniconv/u16-strconv-from-enc.c: New file.
54292         * modules/uniconv/u16-strconv-from-enc-tests: New file.
54293         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
54294
54295         * modules/uniconv/u8-strconv-from-enc: New file.
54296         * lib/uniconv/u8-strconv-from-enc.c: New file.
54297         * lib/uniconv/u-strconv-from-enc.h: New file.
54298         * modules/uniconv/u8-strconv-from-enc-tests: New file.
54299         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
54300
54301         * modules/uniconv/u32-conv-from-enc: New file.
54302         * lib/uniconv/u32-conv-from-enc.c: New file.
54303         * modules/uniconv/u32-conv-from-enc-tests: New file.
54304         * tests/uniconv/test-u32-conv-from-enc.c: New file.
54305
54306         * modules/uniconv/u16-conv-from-enc: New file.
54307         * lib/uniconv/u16-conv-from-enc.c: New file.
54308         * lib/uniconv/u-conv-from-enc.h: New file.
54309         * modules/uniconv/u16-conv-from-enc-tests: New file.
54310         * tests/uniconv/test-u16-conv-from-enc.c: New file.
54311
54312         * modules/uniconv/u8-conv-from-enc: New file.
54313         * lib/uniconv/u8-conv-from-enc.c: New file.
54314         * modules/uniconv/u8-conv-from-enc-tests: New file.
54315         * tests/uniconv/test-u8-conv-from-enc.c: New file.
54316
54317         * modules/uniconv/base: New file.
54318         * lib/uniconv.h: New file.
54319
54320 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
54321
54322         * doc/gnulib-tool.texi (Initial import): Update to match current
54323         behavior with strdup module.
54324         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
54325         * lib/memmem.h: Remove; all uses removed.  This is now done
54326         by <string.h>.
54327         * lib/mempcpy.h: Likewise.
54328         * lib/memrchr.h: Likewise.
54329         * lib/stpcpy.h: Likewise.
54330         * lib/stpncpy.h: Likewise.
54331         * lib/strcase.h: Likewise.
54332         * lib/strchrnul.h: Likewise.
54333         * lib/strdup.h: Likewise.
54334         * lib/strndup.h: Likewise.
54335         * lib/strnlen.h: Likewise.
54336         * lib/strpbrk.h: Likewise.
54337         * lib/strsep.h: Likewise.
54338         * lib/strstr.h: Likewise.
54339         * lib/strtok_r.h: Likewise.
54340         * lib/string_.h: New file.
54341         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
54342         Rely on <string.h> instead.
54343         * lib/canon-host.c: Likewise.
54344         * lib/chdir-long.c: Likewise.
54345         * lib/concatpath.c: Likewise.
54346         * lib/exclude.c: Likewise.
54347         * lib/fchdir.c: Likewise.
54348         * lib/getaddrinfo.c: Likewise.
54349         * lib/getcwd.c: Likewise.
54350         * lib/getsubopt.c: Likewise.
54351         * lib/glob.c: Likewise.
54352         * lib/hard-locale.c: Likewise.
54353         * lib/iconvme.c: Likewise.
54354         * lib/javacomp.c: Likewise.
54355         * lib/mempcpy.c: Likewise.
54356         * lib/memrchr.c: Likewise.
54357         * lib/regex_internal.h: Likewise.
54358         * lib/stpncpy.c: Likewise.
54359         * lib/strcasecmp.c: Likewise.
54360         * lib/strchrnul.c: Likewise.
54361         * lib/strdup.c: Likewise.
54362         * lib/striconv.c: Likewise.
54363         * lib/striconveh.c: Likewise.
54364         * lib/striconveha.c: Likewise.
54365         * lib/strncasecmp.c: Likewise.
54366         * lib/strndup.c: Likewise.
54367         * lib/strnlen.c: Likewise.
54368         * lib/strsep.c: Likewise.
54369         * lib/strstr.c: Likewise.
54370         * lib/strtok_r.c: Likewise.
54371         * lib/userspec.c: Likewise.
54372         * lib/w32spawn.h: Likewise.
54373         * lib/xstrndup.c: Likewise.
54374         * lib/mountlist.c (strstr): Remove decl.
54375         * m4/string_h.m4: New file.
54376         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
54377         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
54378         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
54379         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
54380         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
54381         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
54382         Set REPLACE_STRCASECMP if necessary.
54383         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
54384         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
54385         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
54386         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
54387         HAVE_DECL_STRDUP if necessary.
54388         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
54389         since gl_FUNC_STRNDUP does that now.
54390         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
54391         Check for decl here...
54392         (gl_PREREQ_STRNLEN): ... not here.
54393         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
54394         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
54395         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
54396         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
54397         necessary.
54398         * modules/string: New file.
54399         * modules/memmem (Files): Remove special-purpose include file.
54400         (Depends-on): Add string.
54401         (Include): Include <string.h>, not the removed file.
54402         * modules/mempcpy: Likewise.
54403         * modules/memrchr: Likewise.
54404         * modules/stpcpy: Likewise.
54405         * modules/stpncpy: Likewise.
54406         * modules/strcase: Likewise.
54407         * modules/strchrnul: Likewise.
54408         * modules/strdup: Likewise.
54409         * modules/strndup: Likewise.
54410         * modules/strnlen: Likewise.
54411         * modules/strpbrk: Likewise.
54412         * modules/strsep: Likewise.
54413         * modules/strstr: Likewise.
54414         * modules/strtok_r: Likewise.
54415         * tests/test-dirname.c: Don't include "strdup.h", since
54416         <string.h> now suffices.
54417         * tests/test-memmem.c: Don't include "memmem.h", since
54418         <string.h> now suffices.
54419
54420 2007-01-25  Bruno Haible  <bruno@clisp.org>
54421
54422         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
54423         *resultp is 0.
54424
54425         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
54426         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
54427         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
54428         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
54429
54430         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
54431         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
54432         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
54433         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
54434         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
54435         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
54436
54437 2007-01-24  Bruno Haible  <bruno@clisp.org>
54438
54439         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
54440         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
54441         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
54442         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
54443         gl_FUNC_FTS_CORE.
54444         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
54445         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
54446         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
54447         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
54448         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
54449         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
54450         gl_FUNC_FCHOWNAT.
54451         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
54452         gl_FUNC_STRFTIME.
54453         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
54454         Reported by Ralf Wildenhues.
54455
54456 2007-01-24  Bruno Haible  <bruno@clisp.org>
54457
54458         Drop AC_REQUIRE calls that are redundant with the module dependencies.
54459         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
54460         gl_GETADDRINFO.
54461         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
54462         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
54463         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
54464
54465 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
54466
54467         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
54468         Don't use 'exit'; just return from 'main'.
54469         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
54470
54471         * lib/fnmatch_.h: Readjust white space and comments to match
54472         glibc, to avoid spurious diffs.
54473
54474 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
54475
54476         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
54477         2004-12-01 change by Jakub Jelinek, since this code won't compile
54478         if !LIBC.  Problem reported by Bob Proulx.
54479
54480 2007-01-23  Bruno Haible  <bruno@clisp.org>
54481
54482         * lib/striconveh.c: Include c-strcaseeq.h.
54483         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
54484         * modules/striconveh (Depends-on): Add c-strcaseeq.
54485
54486 2007-01-23  Bruno Haible  <bruno@clisp.org>
54487
54488         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
54489
54490         * modules/c-strcaseeq: New file.
54491         * lib/c-strcaseeq.h: New file.
54492
54493         * modules/streq: New file.
54494         * lib/streq.h: New file.
54495
54496 2007-01-23  Bruno Haible  <bruno@clisp.org>
54497
54498         * modules/striconveha-tests: New file.
54499         * tests/test-striconveha.c: New file.
54500
54501         * lib/striconveha.h: Include <stdbool.h>.
54502         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
54503         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
54504         (mem_iconveha_notranslit): Renamed from mem_iconveha.
54505         (mem_iconveha): New function.
54506         (str_iconveha_notranslit): Renamed from str_iconveha.
54507         (str_iconveha): New function.
54508         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
54509         c-strcase.
54510
54511 2007-01-23  Bruno Haible  <bruno@clisp.org>
54512
54513         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
54514         encodings without forgiving before trying any encoding with handler.
54515         (str_iconveha): Try all encodings without forgiving before trying any
54516         encoding with handler.
54517
54518 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
54519
54520         Import the following changes from libc.
54521
54522         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
54523
54524         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
54525
54526         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
54527
54528         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
54529         normal_bracket label.
54530
54531         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
54532
54533         [BZ #361]
54534         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
54535         to normal_bracket after fetching the next character.
54536
54537 2007-01-22  Bruno Haible  <bruno@clisp.org>
54538
54539         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
54540         argument.
54541         * lib/striconveh.c (iconv_carefully_1): New function.
54542         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
54543         argument.
54544         (str_cd_iconveh): Update.
54545         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
54546         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
54547         * tests/test-striconveh.c (MAGIC): New macro.
54548         (new_offsets): New function.
54549         (main): Test call with and without offsets.
54550
54551 2007-01-22  Bruno Haible  <bruno@clisp.org>
54552
54553         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
54554         * modules/sys_select (Makefile.am): Likewise.
54555         * modules/sys_socket (Makefile.am): Likewise.
54556         * modules/sys_time (Makefile.am): Likewise.
54557
54558 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
54559
54560         * modules/gettimeofday (License): Change from GPL to LGPL, since
54561         gettimeofday is a library function.
54562
54563 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54564
54565         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
54566
54567 2007-01-21  Bruno Haible  <bruno@clisp.org>
54568
54569         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
54570
54571 2007-01-21  Bruno Haible  <bruno@clisp.org>
54572
54573         * modules/striconveha: New file.
54574         * lib/striconveha.h: New file.
54575         * lib/striconveha.c: New file.
54576         * MODULES.html.sh (Internationalization functions): Add striconveha.
54577         * lib/striconv.c (str_iconv): Optimize the case of an empty input
54578         string.
54579         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
54580
54581 2007-01-21  Bruno Haible  <bruno@clisp.org>
54582
54583         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
54584         * lib/striconveh.c (str_iconveh): Likewise.
54585
54586 2007-01-21  Bruno Haible  <bruno@clisp.org>
54587
54588         * lib/striconveh.h (mem_iconveh): New declaration.
54589         * lib/striconveh.c (mem_iconveh): New function.
54590         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
54591
54592 2007-01-21  Bruno Haible  <bruno@clisp.org>
54593
54594         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
54595
54596         * lib/striconveh.h (mem_cd_iconveh): Change specification.
54597         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
54598         original result buffer.
54599         (str_cd_iconveh): Update.
54600         * tests/test-striconveh.c (main): Update.
54601
54602         * lib/striconv.h (mem_cd_iconv): Change specification.
54603         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
54604         result buffer.
54605         (str_cd_iconv): Update.
54606         * tests/test-striconv.c (main): Update.
54607
54608 2007-01-21  Bruno Haible  <bruno@clisp.org>
54609
54610         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
54611
54612 2007-01-20  Jim Meyering  <jim@meyering.net>
54613
54614         * lib/userspec.c (parse_with_separator): If a user or group string
54615         starts with "+", skip the corresponding name-to-ID look-up, since
54616         such a look-up must fail: user and group names may not include "+".
54617
54618 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
54619
54620         * lib/poll.c: Include sys/time.h and time.h unconditionally,
54621         since we now assume the sys_time module.
54622         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
54623         check for sys/time.h; no longer needed.
54624         * modules/poll (Depends-on): Depend on sys_time.
54625
54626 2007-01-18  Bruno Haible  <bruno@clisp.org>
54627
54628         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
54629         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
54630
54631         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
54632         gettimeofday.
54633
54634         * tests/test-gettimeofday.c: Include <time.h>.
54635         (dummy): Remove variable.
54636
54637         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
54638         gl_HEADER_SYS_TIME_H.
54639         (gl_HEADER_SYS_TIME_H): New macro.
54640
54641         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
54642         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54643         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
54644         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
54645         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54646         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
54647         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
54648         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54649         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
54650         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
54651         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54652
54653         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
54654         last change; it caused a compilation error when cross-compiling to
54655         Cygwin.
54656
54657 2007-01-18  Jim Meyering  <jim@meyering.net>
54658
54659         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
54660         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
54661         than the race-prone "test -d sys || mkdir sys".
54662         (configure.ac): Use AC_PROG_MKDIR_P.
54663         * modules/sys_select: Likewise.
54664         * modules/sys_socket: Likewise.
54665         * modules/sys_time: Likewise.
54666
54667 2007-01-18  Eric Blake  <ebb9@byu.net>
54668
54669         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
54670         replace gettimeofday.
54671         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
54672         name, to avoid infinite recursion.
54673
54674 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
54675
54676         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
54677         module sys_time.
54678         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
54679         assume timespec.h defines struct timeval.
54680         * lib/settime.c: Likewise.
54681         * lib/utimens.c: Likewise.
54682         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
54683         since we now assume the gettimeofday module.
54684         * lib/tempname.c (__gen_tempname): Likewise.
54685         * lib/gettimeofday.h: Remove.
54686         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
54687         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
54688         Include <time.h>, for 'time()'.
54689         (localtime_buffer_addr): Also use this workaround if
54690         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
54691         to simplify the uses.  All uses changed.
54692         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
54693         that #undef is inside {}, and 'const' follows type name consistently.
54694         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
54695         (gettimeofday): Do not use the maximum possible value for
54696         tv->tv_usec, since that might break usages other than ls.c.
54697         Instead, we'll leave ls.c alone.  This undoes today's patch
54698         by Bruno.  Add a compile-time warning for 1s-clock resolution;
54699         we've never observed the problem but might as well keep the
54700         canary.
54701         * lib/nanosleep.c: Include timespec.h first, for interface check.
54702         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
54703         now assume the sys_time module.
54704         * lib/tempname.c: Likewise.
54705         * lib/timespec.h: Likewise.
54706         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
54707         needed.
54708         * lib/strftime.c: Likewise.
54709         * lib/timespec.h: Likewise.
54710         * lib/posixtm.c: Include posixtm.h first, for interface check.
54711         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
54712         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
54713         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
54714         * lib/sys_time_.h: New file.
54715         * lib/timespec.h (struct timespec): Use long int, not long.
54716         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
54717         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
54718         Remove obsolescent call to AC_HEADER_TIME.
54719         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
54720         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
54721         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
54722         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
54723         Likewise.
54724         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
54725         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
54726         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
54727         into the sys_time module.  Check for gettimeofday just once.
54728         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
54729         for gettimeofday signature to just check the signature.  Merely
54730         compile it, since linking doesn't test signature.  Improve test for
54731         whether gettimeofday.o is actually needed.
54732         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
54733         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
54734         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
54735         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54736         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
54737         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
54738         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
54739         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
54740         than worrying about sys/time.h.
54741         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
54742         Don't bother worrying about TIME_WITH_SYS_TIME.
54743         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
54744         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
54745         * m4/sys_time_h.m4: New file.
54746         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
54747         Don't include sys/time.h.  Return from main rather than exiting.
54748         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
54749         all uses changed.
54750         * modules/gethrxtime (Depends-on): Add sys_time.
54751         * modules/gettime (Depends-on): Likewise.
54752         * modules/gettimeofday (Depends-on): Likewise.
54753         * modules/nanosleep (Depends-on): Likewise.
54754         * modules/settime (Depends-on): Likewise.
54755         * modules/tempname (Depends-on): Likewise.
54756         * modules/utimens (Depends-on): Likewise.
54757         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
54758         (Include): Change back to <sys/time.h>.
54759         (Maintainer): Add self.
54760         * modules/sys_time: New file.
54761         * modules/tempname (Depends-on): Add gettimeofday.
54762         * tests/test-gettimeofday.c: Include <sys/time.h>
54763         rather than gettimeofday.h.
54764
54765 2007-01-17  Bruno Haible  <bruno@clisp.org>
54766
54767         * gnulib-tool (func_get_license): Revert last patch. Instead, let
54768         the license default to GPL.
54769         (func_create_testdir): Don't complain if a module is LGPL and its
54770         tests module depends on GPLed modules.
54771
54772 2007-01-17  Bruno Haible  <bruno@clisp.org>
54773
54774         * lib/gettimeofday.c (gettimeofday): Add code for the case
54775         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
54776         maximum possible value for tv->tv_usec, rather than the minimum one.
54777
54778 2005-10-08  Martin Lambers  <marlam@marlam.de>
54779 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
54780 2007-01-16  Bruno Haible  <bruno@clisp.org>
54781
54782         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
54783         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
54784         gl_FUNC_GETTIMEOFDAY.
54785         (Include): Add gettimeofday.h.
54786         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
54787         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
54788         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
54789         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
54790         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
54791         * lib/gettimeofday.h: New file.
54792         * lib/gettimeofday.c: Include <sys/timeb.h>.
54793         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
54794         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
54795         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
54796         fall back on time().
54797
54798         * tests/test-gettimeofday.c: New file.
54799         * modules/gettimeofday-tests: New file.
54800
54801 2007-01-16  Eric Blake  <ebb9@byu.net>
54802
54803         * modules/fnmatch (Depends-on): Depend on wchar.
54804         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
54805         * m4/fnmatch.m4: Likewise.
54806         * modules/mbchar (Makefile.am): Assume <wchar.h>.
54807         * m4/mbchar.m4: Likewise.
54808         * modules/mbswidth (Depends-on): Depend on wchar.
54809         * lib/mbswidth.c: Assume <wchar.h>.
54810         * m4/mbswidth.m4: Likewise.
54811         * modules/quotearg (Depends-on): Depend on wchar.
54812         * lib/quotearg.c: Assume <wchar.h>.
54813         * m4/quotearg.m4: Likewise.
54814         * modules/regex (Depends-on): Depend on wchar.
54815         * lib/regex_internal.h: Assume <wchar.h>.
54816         * m4/regex.m4: Likewise.
54817         * modules/stdint (Depends-on): Depend on wchar.
54818         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
54819         * m4/stdint.m4: Likewise.
54820         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
54821         * modules/strftime (Depends-on): Depend on wchar.
54822         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
54823         * modules/strtol (Depends-on): Depend on wchar.
54824         * lib/strtol.c: Assume <wchar.h>.
54825         * modules/wcwidth (Depends-on): Depend on wchar.
54826         * lib/wcwidth.h: Assume <wchar.h>.
54827         * m4/wcwidth.m4: Likewise.
54828
54829 2007-01-16  Bruno Haible  <bruno@clisp.org>
54830
54831         * modules/csharpexec-script: New, created from...
54832         * modules/csharpexec: ... this.
54833
54834 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
54835
54836         * modules/javaexec-script: New, created from...
54837         * modules/javaexec: ... this.
54838
54839 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
54840
54841         * modules/poll (Dependencies): Add sys_select.
54842
54843 2007-01-15  Jim Meyering  <jim@meyering.net>
54844
54845         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
54846         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
54847         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
54848         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
54849
54850 2007-01-15  Bruno Haible  <bruno@clisp.org>
54851
54852         * modules/striconveh: New file.
54853         * lib/striconveh.h: New file.
54854         * lib/striconveh.c: New file.
54855         * MODULES.html.sh (Internationalization functions): Add striconveh.
54856
54857         * modules/striconveh-tests: New file.
54858         * tests/test-striconveh.c: New file.
54859
54860 2007-01-15  Bruno Haible  <bruno@clisp.org>
54861
54862         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
54863         not from GNU libiconv or GNU libc.
54864
54865 2007-01-15  Bruno Haible  <bruno@clisp.org>
54866
54867         * doc/gnulib-intro.texi (Copyright): Explain the different license
54868         terms for module descriptions, autoconf macros, tests, documentation.
54869
54870 2007-01-14  Bruno Haible  <bruno@clisp.org>
54871
54872         * modules/striconv-tests: New file.
54873         * tests/test-striconv.c: New file.
54874
54875 2007-01-14  Bruno Haible  <bruno@clisp.org>
54876
54877         * modules/iconv-tests: New file.
54878         * tests/test-iconv.c: New file.
54879
54880 2007-01-14  Bruno Haible  <bruno@clisp.org>
54881
54882         * gnulib-tool (func_get_license): For test modules, use the license of
54883         the main module.
54884
54885 2007-01-14  Bruno Haible  <bruno@clisp.org>
54886
54887         * modules/iconv (Include): Clarify that <iconv.h> can only be included
54888         if iconv is found to exist.
54889
54890 2007-01-14  Bruno Haible  <bruno@clisp.org>
54891
54892         * modules/c-ctype-tests: New file.
54893         * tests/test-c-ctype.c: New file.
54894
54895 2007-01-14  Bruno Haible  <bruno@clisp.org>
54896
54897         * modules/binary-io-tests: New file.
54898         * tests/test-binary-io.sh: New file.
54899         * tests/test-binary-io.c: New file.
54900
54901 2007-01-14  Bruno Haible  <bruno@clisp.org>
54902
54903         * modules/array-oset-tests: New file.
54904         * tests/test-array_oset.c: New file.
54905
54906 2007-01-14  Bruno Haible  <bruno@clisp.org>
54907
54908         * modules/array-list-tests: New file.
54909         * tests/test-array_list.c: New file.
54910
54911 2007-01-14  Bruno Haible  <bruno@clisp.org>
54912
54913         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
54914         and make.
54915         Reported by Simon Josefsson in
54916         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
54917
54918 2007-01-14  Bruno Haible  <bruno@clisp.org>
54919
54920         * modules/allocsa-tests: New file.
54921         * tests/test-allocsa.c: New file.
54922
54923 2007-01-14  Bruno Haible  <bruno@clisp.org>
54924
54925         * modules/fchdir (Depends-on): Add absolute-header.
54926         * modules/unistd (Depends-on): Likewise.
54927
54928 2006-12-30  Bruno Haible  <bruno@clisp.org>
54929
54930         * modules/fchdir: New file.
54931         * modules/unistd (Files): Add lib/unistd_.h.
54932         (Makefile.am): Generate unistd.h from unistd_.h.
54933         * lib/fchdir.c: New file.
54934         * lib/dirent_.h: New file.
54935         * lib/unistd_.h: New file.
54936         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
54937         * m4/fchdir.m4: New file.
54938         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
54939         (gl_HEADER_UNISTD): Invoke it.
54940         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
54941         function.
54942         * lib/backupfile.c (opendir, closedir): Undefine.
54943         * lib/chown.c (open, close): Undefine.
54944         * lib/clean-temp.c (open, close): Undefine.
54945         * lib/copy-file.c (open, close): Undefine.
54946         * lib/execute.c (open, close): Undefine.
54947         * lib/fsusage.c (open, close): Undefine.
54948         * lib/gc-gnulib.c (open, close): Undefine.
54949         * lib/getcwd.c (opendir, closedir): Undefine.
54950         * lib/glob.c (opendir, closedir): Undefine.
54951         * lib/javacomp.c (open, close): Undefine.
54952         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
54953         * lib/openat-proc.c (open, close): Undefine.
54954         * lib/pagealign_alloc.c (open, close): Undefine.
54955         * lib/pipe.c (open, close): Undefine.
54956         * lib/progreloc.c (open, close): Undefine.
54957         * lib/savedir.c (opendir, closedir): Undefine.
54958         * lib/utime.c (open, close): Undefine.
54959         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
54960
54961 2007-01-10  Bruno Haible  <bruno@clisp.org>
54962
54963         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
54964
54965 2007-01-12  Eric Blake  <ebb9@byu.net>
54966
54967         Provide a robust <wchar.h>.  Further simplifications are now
54968         possible in other modules, but not included here.
54969         * modules/wchar: New module.
54970         * m4/wchar.m4: New file.
54971         * lib/wchar_.h: Likewise.
54972         * modules/mbchar (Depends-on): Depend on wchar, as the first use
54973         of the new module.
54974         * MODULES.html.sh (Extended multibyte and wide character utilities):
54975         New section.
54976
54977 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
54978
54979         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
54980         to a reasonable default for memory allocation.
54981         (xreadlink): Don't allocate a huge buffer, to work around a buggy
54982         file system that reports garbage st_size values for symlinks.
54983         Problem reported by Liyang Hu.
54984
54985 2007-01-11  Simon Josefsson  <simon@josefsson.org>
54986
54987         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
54988         Emacs .#* auto-save files).
54989
54990 2007-01-11  Bruno Haible  <bruno@clisp.org>
54991
54992         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
54993         directory.
54994
54995 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
54996
54997         Use @...@ consistently in lib/wctype_.h.
54998         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
54999         on it being set to 1 or 0.
55000         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
55001         go back to AC_SUBSTing it.
55002         * modules/wctype (Makefile.am): Undo previous change.
55003
55004 2007-01-10  Eric Blake  <ebb9@byu.net>
55005
55006         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
55007         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
55008         * modules/wctype (Makefile.am): Likewise.
55009         Reported by Chris McGuire.
55010
55011 2007-01-10  Jim Meyering  <jim@meyering.net>
55012
55013         fts.c: a small readability/maintainability improvement
55014         * lib/fts.c (fts_read): Make this code slightly more readable and
55015         maintainable by hoisting the "sp->fts_cur = p" assignments to
55016         immediately follow the statements that set P.  Derived from
55017         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
55018
55019 2007-01-10  Eric Blake  <ebb9@byu.net>
55020
55021         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
55022         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
55023         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
55024         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
55025         Reported by Chris McGuire.
55026
55027 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55028
55029         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
55030         in sed script.
55031
55032 2007-01-09  Bruno Haible  <bruno@clisp.org>
55033
55034         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
55035         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
55036         variables.
55037         (func_module): Use them.
55038
55039 2007-01-09  Bruno Haible  <bruno@clisp.org>
55040
55041         * modules/unistr/base: New file.
55042         * lib/unistr.h: New file.
55043
55044         * modules/unistr/u8-to-u16: New file.
55045         * lib/unistr/u8-to-u16.c: New file.
55046
55047         * modules/unistr/u8-to-u32: New file.
55048         * lib/unistr/u8-to-u32.c: New file.
55049
55050         * modules/unistr/u16-to-u8: New file.
55051         * lib/unistr/u16-to-u8.c: New file.
55052
55053         * modules/unistr/u16-to-u32: New file.
55054         * lib/unistr/u16-to-u32.c: New file.
55055
55056         * modules/unistr/u32-to-u8: New file.
55057         * lib/unistr/u32-to-u8.c: New file.
55058
55059         * modules/unistr/u32-to-u16: New file.
55060         * lib/unistr/u32-to-u16.c: New file.
55061
55062         * modules/unistr/u8-check: New file.
55063         * modules/unistr/u16-check: New file.
55064         * modules/unistr/u32-check: New file.
55065         * lib/unistr/u8-check.c: New file.
55066         * lib/unistr/u16-check.c: New file.
55067         * lib/unistr/u32-check.c: New file.
55068
55069         * modules/unistr/u8-chr: New file.
55070         * modules/unistr/u16-chr: New file.
55071         * modules/unistr/u32-chr: New file.
55072         * lib/unistr/u8-chr.c: New file.
55073         * lib/unistr/u16-chr.c: New file.
55074         * lib/unistr/u32-chr.c: New file.
55075
55076         * modules/unistr/u8-cmp: New file.
55077         * modules/unistr/u16-cmp: New file.
55078         * modules/unistr/u32-cmp: New file.
55079         * lib/unistr/u8-cmp.c: New file.
55080         * lib/unistr/u16-cmp.c: New file.
55081         * lib/unistr/u32-cmp.c: New file.
55082
55083         * modules/unistr/u8-cpy: New file.
55084         * modules/unistr/u16-cpy: New file.
55085         * modules/unistr/u32-cpy: New file.
55086         * lib/unistr/u8-cpy.c: New file.
55087         * lib/unistr/u16-cpy.c: New file.
55088         * lib/unistr/u32-cpy.c: New file.
55089         * lib/unistr/u-cpy.h: New file.
55090
55091         * modules/unistr/u8-cpy-alloc: New file.
55092         * modules/unistr/u16-cpy-alloc: New file.
55093         * modules/unistr/u32-cpy-alloc: New file.
55094         * lib/unistr/u8-cpy-alloc.c: New file.
55095         * lib/unistr/u16-cpy-alloc.c: New file.
55096         * lib/unistr/u32-cpy-alloc.c: New file.
55097         * lib/unistr/u-cpy-alloc.h: New file.
55098
55099         * modules/unistr/u8-endswith: New file.
55100         * modules/unistr/u16-endswith: New file.
55101         * modules/unistr/u32-endswith: New file.
55102         * lib/unistr/u8-endswith.c: New file.
55103         * lib/unistr/u16-endswith.c: New file.
55104         * lib/unistr/u32-endswith.c: New file.
55105         * lib/unistr/u-endswith.h: New file.
55106
55107         * modules/unistr/u8-mblen: New file.
55108         * modules/unistr/u16-mblen: New file.
55109         * modules/unistr/u32-mblen: New file.
55110         * lib/unistr/u8-mblen.c: New file.
55111         * lib/unistr/u16-mblen.c: New file.
55112         * lib/unistr/u32-mblen.c: New file.
55113
55114         * modules/unistr/u8-mbtouc: New file.
55115         * modules/unistr/u16-mbtouc: New file.
55116         * modules/unistr/u32-mbtouc: New file.
55117         * lib/unistr/u8-mbtouc.c: New file.
55118         * lib/unistr/u16-mbtouc.c: New file.
55119         * lib/unistr/u32-mbtouc.c: New file.
55120
55121         * modules/unistr/u8-mbtouc-safe: New file.
55122         * modules/unistr/u16-mbtouc-safe: New file.
55123         * modules/unistr/u32-mbtouc-safe: New file.
55124         * lib/unistr/u8-mbtouc-safe.c: New file.
55125         * lib/unistr/u16-mbtouc-safe.c: New file.
55126         * lib/unistr/u32-mbtouc-safe.c: New file.
55127
55128         * modules/unistr/u8-move: New file.
55129         * modules/unistr/u16-move: New file.
55130         * modules/unistr/u32-move: New file.
55131         * lib/unistr/u8-move.c: New file.
55132         * lib/unistr/u16-move.c: New file.
55133         * lib/unistr/u32-move.c: New file.
55134         * lib/unistr/u-move.h: New file.
55135
55136         * modules/unistr/u8-next: New file.
55137         * modules/unistr/u16-next: New file.
55138         * modules/unistr/u32-next: New file.
55139         * lib/unistr/u8-next.c: New file.
55140         * lib/unistr/u16-next.c: New file.
55141         * lib/unistr/u32-next.c: New file.
55142
55143         * modules/unistr/u8-prev: New file.
55144         * modules/unistr/u16-prev: New file.
55145         * modules/unistr/u32-prev: New file.
55146         * lib/unistr/u8-prev.c: New file.
55147         * lib/unistr/u16-prev.c: New file.
55148         * lib/unistr/u32-prev.c: New file.
55149
55150         * modules/unistr/u8-set: New file.
55151         * modules/unistr/u16-set: New file.
55152         * modules/unistr/u32-set: New file.
55153         * lib/unistr/u8-set.c: New file.
55154         * lib/unistr/u16-set.c: New file.
55155         * lib/unistr/u32-set.c: New file.
55156         * lib/unistr/u-set.h: New file.
55157
55158         * modules/unistr/u8-startswith: New file.
55159         * modules/unistr/u16-startswith: New file.
55160         * modules/unistr/u32-startswith: New file.
55161         * lib/unistr/u8-startswith.c: New file.
55162         * lib/unistr/u16-startswith.c: New file.
55163         * lib/unistr/u32-startswith.c: New file.
55164         * lib/unistr/u-startswith.h: New file.
55165
55166         * modules/unistr/u8-stpcpy: New file.
55167         * modules/unistr/u16-stpcpy: New file.
55168         * modules/unistr/u32-stpcpy: New file.
55169         * lib/unistr/u8-stpcpy.c: New file.
55170         * lib/unistr/u16-stpcpy.c: New file.
55171         * lib/unistr/u32-stpcpy.c: New file.
55172         * lib/unistr/u-stpcpy.h: New file.
55173
55174         * modules/unistr/u8-stpncpy: New file.
55175         * modules/unistr/u16-stpncpy: New file.
55176         * modules/unistr/u32-stpncpy: New file.
55177         * lib/unistr/u8-stpncpy.c: New file.
55178         * lib/unistr/u16-stpncpy.c: New file.
55179         * lib/unistr/u32-stpncpy.c: New file.
55180         * lib/unistr/u-stpncpy.h: New file.
55181
55182         * modules/unistr/u8-strcat: New file.
55183         * modules/unistr/u16-strcat: New file.
55184         * modules/unistr/u32-strcat: New file.
55185         * lib/unistr/u8-strcat.c: New file.
55186         * lib/unistr/u16-strcat.c: New file.
55187         * lib/unistr/u32-strcat.c: New file.
55188         * lib/unistr/u-strcat.h: New file.
55189
55190         * modules/unistr/u8-strchr: New file.
55191         * modules/unistr/u16-strchr: New file.
55192         * modules/unistr/u32-strchr: New file.
55193         * lib/unistr/u8-strchr.c: New file.
55194         * lib/unistr/u16-strchr.c: New file.
55195         * lib/unistr/u32-strchr.c: New file.
55196
55197         * modules/unistr/u8-strcmp: New file.
55198         * modules/unistr/u16-strcmp: New file.
55199         * modules/unistr/u32-strcmp: New file.
55200         * lib/unistr/u8-strcmp.c: New file.
55201         * lib/unistr/u16-strcmp.c: New file.
55202         * lib/unistr/u32-strcmp.c: New file.
55203
55204         * modules/unistr/u8-strcpy: New file.
55205         * modules/unistr/u16-strcpy: New file.
55206         * modules/unistr/u32-strcpy: New file.
55207         * lib/unistr/u8-strcpy.c: New file.
55208         * lib/unistr/u16-strcpy.c: New file.
55209         * lib/unistr/u32-strcpy.c: New file.
55210         * lib/unistr/u-strcpy.h: New file.
55211
55212         * modules/unistr/u8-strcspn: New file.
55213         * modules/unistr/u16-strcspn: New file.
55214         * modules/unistr/u32-strcspn: New file.
55215         * lib/unistr/u8-strcspn.c: New file.
55216         * lib/unistr/u16-strcspn.c: New file.
55217         * lib/unistr/u32-strcspn.c: New file.
55218         * lib/unistr/u-strcspn.h: New file.
55219
55220         * modules/unistr/u8-strdup: New file.
55221         * modules/unistr/u16-strdup: New file.
55222         * modules/unistr/u32-strdup: New file.
55223         * lib/unistr/u8-strdup.c: New file.
55224         * lib/unistr/u16-strdup.c: New file.
55225         * lib/unistr/u32-strdup.c: New file.
55226         * lib/unistr/u-strdup.h: New file.
55227
55228         * modules/unistr/u8-strlen: New file.
55229         * modules/unistr/u16-strlen: New file.
55230         * modules/unistr/u32-strlen: New file.
55231         * lib/unistr/u8-strlen.c: New file.
55232         * lib/unistr/u16-strlen.c: New file.
55233         * lib/unistr/u32-strlen.c: New file.
55234         * lib/unistr/u-strlen.h: New file.
55235
55236         * modules/unistr/u8-strmblen: New file.
55237         * modules/unistr/u16-strmblen: New file.
55238         * modules/unistr/u32-strmblen: New file.
55239         * lib/unistr/u8-strmblen.c: New file.
55240         * lib/unistr/u16-strmblen.c: New file.
55241         * lib/unistr/u32-strmblen.c: New file.
55242
55243         * modules/unistr/u8-strmbtouc: New file.
55244         * modules/unistr/u16-strmbtouc: New file.
55245         * modules/unistr/u32-strmbtouc: New file.
55246         * lib/unistr/u8-strmbtouc.c: New file.
55247         * lib/unistr/u16-strmbtouc.c: New file.
55248         * lib/unistr/u32-strmbtouc.c: New file.
55249
55250         * modules/unistr/u8-strncat: New file.
55251         * modules/unistr/u16-strncat: New file.
55252         * modules/unistr/u32-strncat: New file.
55253         * lib/unistr/u8-strncat.c: New file.
55254         * lib/unistr/u16-strncat.c: New file.
55255         * lib/unistr/u32-strncat.c: New file.
55256         * lib/unistr/u-strncat.h: New file.
55257
55258         * modules/unistr/u8-strncmp: New file.
55259         * modules/unistr/u16-strncmp: New file.
55260         * modules/unistr/u32-strncmp: New file.
55261         * lib/unistr/u8-strncmp.c: New file.
55262         * lib/unistr/u16-strncmp.c: New file.
55263         * lib/unistr/u32-strncmp.c: New file.
55264
55265         * modules/unistr/u8-strncpy: New file.
55266         * modules/unistr/u16-strncpy: New file.
55267         * modules/unistr/u32-strncpy: New file.
55268         * lib/unistr/u8-strncpy.c: New file.
55269         * lib/unistr/u16-strncpy.c: New file.
55270         * lib/unistr/u32-strncpy.c: New file.
55271         * lib/unistr/u-strncpy.h: New file.
55272
55273         * modules/unistr/u8-strnlen: New file.
55274         * modules/unistr/u16-strnlen: New file.
55275         * modules/unistr/u32-strnlen: New file.
55276         * lib/unistr/u8-strnlen.c: New file.
55277         * lib/unistr/u16-strnlen.c: New file.
55278         * lib/unistr/u32-strnlen.c: New file.
55279         * lib/unistr/u-strnlen.h: New file.
55280
55281         * modules/unistr/u8-strpbrk: New file.
55282         * modules/unistr/u16-strpbrk: New file.
55283         * modules/unistr/u32-strpbrk: New file.
55284         * lib/unistr/u8-strpbrk.c: New file.
55285         * lib/unistr/u16-strpbrk.c: New file.
55286         * lib/unistr/u32-strpbrk.c: New file.
55287         * lib/unistr/u-strpbrk.h: New file.
55288
55289         * modules/unistr/u8-strrchr: New file.
55290         * modules/unistr/u16-strrchr: New file.
55291         * modules/unistr/u32-strrchr: New file.
55292         * lib/unistr/u8-strrchr.c: New file.
55293         * lib/unistr/u16-strrchr.c: New file.
55294         * lib/unistr/u32-strrchr.c: New file.
55295
55296         * modules/unistr/u8-strspn: New file.
55297         * modules/unistr/u16-strspn: New file.
55298         * modules/unistr/u32-strspn: New file.
55299         * lib/unistr/u8-strspn.c: New file.
55300         * lib/unistr/u16-strspn.c: New file.
55301         * lib/unistr/u32-strspn.c: New file.
55302         * lib/unistr/u-strspn.h: New file.
55303
55304         * modules/unistr/u8-strstr: New file.
55305         * modules/unistr/u16-strstr: New file.
55306         * modules/unistr/u32-strstr: New file.
55307         * lib/unistr/u8-strstr.c: New file.
55308         * lib/unistr/u16-strstr.c: New file.
55309         * lib/unistr/u32-strstr.c: New file.
55310         * lib/unistr/u-strstr.h: New file.
55311
55312         * modules/unistr/u8-strtok: New file.
55313         * modules/unistr/u16-strtok: New file.
55314         * modules/unistr/u32-strtok: New file.
55315         * lib/unistr/u8-strtok.c: New file.
55316         * lib/unistr/u16-strtok.c: New file.
55317         * lib/unistr/u32-strtok.c: New file.
55318         * lib/unistr/u-strtok.h: New file.
55319
55320         * modules/unistr/u8-uctomb: New file.
55321         * modules/unistr/u16-uctomb: New file.
55322         * modules/unistr/u32-uctomb: New file.
55323         * lib/unistr/u8-uctomb.c: New file.
55324         * lib/unistr/u16-uctomb.c: New file.
55325         * lib/unistr/u32-uctomb.c: New file.
55326
55327         * MODULES.html.sh (Unicode string functions): Add the new modules.
55328
55329 2007-01-08  Bruno Haible  <bruno@clisp.org>
55330
55331         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
55332         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
55333         subdirectories.
55334
55335 2007-01-08  Karl Berry  <karl@gnu.org>
55336
55337         * doc/error.texi: mention that main() fns must set program_name
55338         when progname is used.
55339
55340 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
55341
55342         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
55343         WCTYPE_H is empty, for the benefit of builds from non-distclean
55344         directories.  Problem reported by Eric Blake in
55345         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
55346
55347 2007-01-08  Bruno Haible  <bruno@clisp.org>
55348
55349         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
55350         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
55351         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
55352         PROVIDE_CANONICALIZE_FILENAME_MODE.
55353         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
55354
55355 2007-01-08  Bruno Haible  <bruno@clisp.org>
55356
55357         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
55358         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
55359         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
55360         * lib/fts.c: Likewise.
55361         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
55362
55363 2006-12-25  Bruno Haible  <bruno@clisp.org>
55364
55365         * modules/utf8-ucs4-safe: New file.
55366         * lib/utf8-ucs4-safe.h: New file.
55367         * lib/unistr/utf8-ucs4-safe.c: New file.
55368
55369         * modules/utf16-ucs4-safe: New file.
55370         * lib/utf16-ucs4-safe.h: New file.
55371         * lib/unistr/utf16-ucs4-safe.c: New file.
55372
55373         * MODULES.html.sh (Unicode string functions): Add the new modules.
55374
55375 2007-01-08  Bruno Haible  <bruno@clisp.org>
55376
55377         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
55378         (Depends-on): Add unitypes.
55379         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
55380         (u8_mbtouc_aux): Move out to separate file.
55381         (u8_mbtouc): Use ucs4_t, uint8_t types.
55382         * lib/unistr/utf8-ucs4.c: New file.
55383
55384         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
55385         (Depends-on): Add unitypes.
55386         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
55387         (u16_mbtouc_aux): Move out to separate file.
55388         (u16_mbtouc): Use ucs4_t, uint16_t types.
55389         * lib/unistr/utf16-ucs4.c: New file.
55390
55391         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
55392         (Depends-on): Add unitypes.
55393         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
55394         (u8_uctomb_aux): Move out to separate file.
55395         (u8_uctomb): Use ucs4_t, uint8_t types.
55396         * lib/unistr/ucs4-utf8.c: New file.
55397
55398         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
55399         (Depends-on): Add unitypes.
55400         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
55401         (u16_uctomb_aux): Move out to separate file.
55402         (u16_uctomb): Use ucs4_t, uint16_t types.
55403         * lib/unistr/ucs4-utf16.c: New file.
55404
55405 2006-12-25  Bruno Haible  <bruno@clisp.org>
55406
55407         * modules/unitypes: New file.
55408         * lib/unitypes.h: New file.
55409         * MODULES.html.sh (func_all_modules): New section "Unicode string
55410         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
55411         this section. Add unitypes.
55412
55413 2007-01-08  Bruno Haible  <bruno@clisp.org>
55414
55415         Avoid variable names that conflict with those from libtool.
55416         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
55417         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
55418         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
55419         library_names_spec to acl_library_names_spec, hardcode_* to
55420         acl_hardcode_*.
55421         Reported by Ralf Wildenhues.
55422
55423 2007-01-08  Bruno Haible  <bruno@clisp.org>
55424
55425         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
55426         definition.
55427         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
55428         definition.
55429         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
55430         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
55431         definition.
55432         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
55433         definition.
55434         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
55435         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
55436         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
55437         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
55438         definition.
55439         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
55440         definition.
55441         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
55442         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
55443         GC_USE_<algorithm>.
55444         * lib/gc-libgcrypt.c: Likewise.
55445         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
55446         * modules/gc-arctwo (configure.ac): Likewise.
55447         * modules/gc-des (configure.ac): Likewise.
55448         * modules/gc-hmac-md5 (configure.ac): Likewise.
55449         * modules/gc-hmac-sha1 (configure.ac): Likewise.
55450         * modules/gc-md2 (configure.ac): Likewise.
55451         * modules/gc-md4 (configure.ac): Likewise.
55452         * modules/gc-md5 (configure.ac): Likewise.
55453         * modules/gc-random (configure.ac): Likewise.
55454         * modules/gc-rijndael (configure.ac): Likewise.
55455         * modules/gc-sha1 (configure.ac): Likewise.
55456
55457 2007-01-08  Bruno Haible  <bruno@clisp.org>
55458
55459         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
55460         macro definition.
55461         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
55462         definition.
55463         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
55464         definition.
55465         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
55466         * modules/fcntl-safer (configure.ac): Likewise.
55467         * modules/fopen-safer (configure.ac): Likewise.
55468         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
55469         GNULIB_FWRITEERROR macro definition.
55470
55471 2007-01-08  Bruno Haible  <bruno@clisp.org>
55472
55473         * m4/gnulib-common.m4: New file.
55474         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
55475         (func_get_filelist): Add m4/gnulib-common.m4.
55476
55477 2007-01-08  Bruno Haible  <bruno@clisp.org>
55478
55479         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
55480         command.
55481
55482 2007-01-08  Jim Meyering  <jim@meyering.net>
55483
55484         Use a more robust test for a "can't happen" condition.
55485         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
55486         narrowed the st_size value.  Presuming the "can't happen" condition
55487         is true, that narrowing could conceivably convert an invalid st_size
55488         value into a valid one.  Instead, use a change based on Matthew
55489         Woehlke's original patch.
55490
55491         Slight readability improvement: use an assert-like macro
55492         in place of literal "abort ()" uses.
55493         * lib/fts.c (fts_assert): Define.
55494         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
55495         Use this macro instead of a bare 'abort'.
55496
55497 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
55498
55499         Don't worry about using IRIX 5.3's wctype.h broken definitions;
55500         simply work around them.
55501         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
55502         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
55503         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
55504         declaring.
55505         Don't bother to define as macros, since the standard doesn't require it.
55506         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
55507         longer worry about IRIX 5.3.
55508         (HAVE_WCTYPE_CTMP_BUG): Remove.
55509
55510 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
55511
55512         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
55513         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
55514         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
55515         Problems reported by Georg Schwarz for IRIX 5.3.
55516
55517         * gnulib-tool (autoconf_minversion): Take the maximum version number
55518         found, not the minimum.  Problem reported by James Youngman.
55519
55520 2007-01-03  Karl Berry  <karl@gnu.org>
55521
55522         * doc/error.texi: new file, explaining interaction with progname.
55523         * doc/gnulib.texi: include it.  Update copyright.
55524
55525 2007-01-03  Simon Josefsson  <simon@josefsson.org>
55526
55527         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
55528         AC_CANONICAL_HOST, to improve autobuild outputs.
55529
55530 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
55531             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
55532
55533         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
55534         sockets, server sockets, and other file descriptors.  Count errors
55535         to compute the return value.  Reorder the code a bit to be easier
55536         to follow.  Don't set event bits that were not requested (except
55537         POLLERR and POLLHUP).
55538
55539 2007-01-01  Bruno Haible  <bruno@clisp.org>
55540
55541         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
55542
55543 2007-01-03  Jim Meyering  <jim@meyering.net>
55544
55545         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
55546
55547 2007-01-02  Bruno Haible  <bruno@clisp.org>
55548
55549         * modules/settime (Include): Require timespec.h.
55550         * modules/nanosleep (Include): Likewise.
55551
55552 2007-01-01  Bruno Haible  <bruno@clisp.org>
55553
55554         * gnulib-tool (func_emit_copyright_notice): Bump year.
55555         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
55556
55557 2007-01-01  Bruno Haible  <bruno@clisp.org>
55558
55559         Improve support for OpenBSD.
55560         * build-aux/config.rpath (libname_spec): Export.
55561         (library_names_spec): New variable. Export.
55562         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
55563         library_names_spec from the config.rpath output. Locate shared library
55564         through the name pattern in library_names_spec.
55565
55566 2007-01-01  Eric Blake  <ebb9@byu.net>
55567
55568         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
55569
55570 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
55571
55572         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
55573         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
55574         assume the C locale, and avoid an "eval" that could cause trouble.
55575         Problem with SORT reported by Bob Proulx.
55576
55577         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
55578         Define.  Trivial patch from Henning Nielsen Lund, originally
55579         sent to bug-grep@gnu.org today.
55580
55581 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
55582
55583         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
55584         struct stat.  Problem reported by Henning Nielsen Lund.
55585         * lib/acl.c: Include acl.h first, to check interface.  Don't
55586         bother to include sys/types.h and sys/stat.h again.
55587
55588 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
55589
55590         Import the following change from libc; problem reported by
55591         Sven Verdoolaege.
55592
55593         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
55594
55595         [BZ #1373]
55596         * lib/argp.h: Remove __NTH for __argp_usage inline function.
55597
55598 2006-12-28  Jim Meyering  <jim@meyering.net>
55599
55600         * build-aux/announce-gen: Do not assume that the package
55601         builds any of tar.gz, tar.bz2, and .xdelta files.
55602         Suggestion from Simon Josefsson.
55603
55604 2006-12-28  Simon Josefsson  <simon@josefsson.org>
55605
55606         * modules/announce-gen: New file.
55607
55608 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
55609
55610         * lib/mbchar.h: Just include <wctype.h>; the wctype module
55611         handles its gotchas now.
55612         * lib/mbswidth.c: Likewise.
55613         * lib/wcwidth.h: Likewise.
55614         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
55615         and iswcntrl; the wctype module does this stuff now.
55616         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
55617         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
55618         * modules/mbchar (Depends-on): Add wctype.
55619         * modules/mbswidth (Depends-on): Likewise.
55620         * modules/wcwidth (Depends-on): Likewise.
55621
55622 2006-12-27  Eric Blake  <ebb9@byu.net>
55623
55624         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
55625         module uses more than what <wctype.h> is required to provide.
55626
55627 2006-12-26  Eric Blake  <ebb9@byu.net>
55628
55629         * gnulib-tool (sed_extract_prog): Avoid space-tab.
55630
55631 2006-12-26  Eric Blake  <ebb9@byu.net>
55632
55633         * modules/absolute-header: New module.
55634         * modules/fcntl (Depends-on): Depend on it.
55635         * modules/inttypes (Depends-on): Likewise.
55636         * modules/stdint (Depends-on): Likewise.
55637         * modules/sys_stat (Depends-on): Likewise.
55638         * modules/wctype (Depends-on): Likewise.
55639         * MODULES.html.sh (Support for building libraries and
55640         executables): Document it.
55641
55642 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
55643
55644         * gnulib-tool (SED): Remove, undoing previous change.
55645         The problem was that it broke coreutils on Solaris, because
55646         "sed --posix" leaked into a makefile.
55647         (sed): New alias, if 'alias' and GNU sed.
55648
55649 2006-12-24  Jim Meyering  <jim@meyering.net>
55650
55651         Work around an fchownat bug in glibc-2.4:
55652         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
55653         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
55654         in spite of the -P option.
55655         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
55656         New macros.
55657         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
55658         * modules/openat (Files): Add lib/fchownat.c.
55659         * lib/openat.c (fchownat): Don't define here.  Move to...
55660         * lib/fchownat.c: ...this new file.
55661
55662 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
55663
55664         Fix bug reported by Bruno Haible in
55665         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
55666         where quotearg.c didn't compile on Mac OS X 10.2 because it
55667         lacks <wchar.h> and wint_t.
55668         * lib/wctype_.h (__wctype_wint_t): New type.
55669         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
55670         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
55671         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
55672         Arg is now of type __wctype_wint_t, not wint_t.
55673         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
55674         substitute HAVE_WINT_T.
55675         * modules/wctype (Files): Add m4/wint_t.m4.
55676         (wctype.h): Substitute HAVE_WINT_T.
55677
55678 2006-12-23  Bruno Haible  <bruno@clisp.org>
55679
55680         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
55681
55682 2006-12-23  Bruno Haible  <bruno@clisp.org>
55683
55684         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
55685         S_ISLNK.
55686         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
55687         mingw.
55688
55689 2006-12-22  Bruno Haible  <bruno@clisp.org>
55690
55691         * lib/copy-file.c: Include acl.h.
55692         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
55693         Close the file descriptors only after being done with copy_acl.
55694         * modules/copy-file (Depends-on): Add acl.
55695
55696 2006-12-22  Bruno Haible  <bruno@clisp.org>
55697
55698         * gnulib-tool (SED): New variable.
55699         Use $SED instead of sed everywhere.
55700
55701 2006-12-22  Bruno Haible  <bruno@clisp.org>
55702
55703         * modules/no-c++: New file.
55704         * m4/no-c++.m4: New file.
55705         * MODULES.html.sh (Support for building libraries and executables):
55706         Add no-c++.
55707
55708 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
55709
55710         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
55711         Include <limits.h>, and use its INT_MAX to rewrite the
55712         j loop so that it does not overflow 'int'.  Problem reported by
55713         Ralf Wildenhues in
55714         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
55715         Play it safe by shifting left by 1 rather than multiplying by 2,
55716         as GCC is less likely to optimize this away when the value
55717         is signed (when it assumes overflow leads to undefined behavior).
55718         Also, don't assume time_t uses two's complement.
55719
55720 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
55721
55722         * MODULES.html.sh: New module wctype.
55723         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
55724         * lib/fnmatch.c: Don't bother to include <wchar.h> before
55725         <wctype.h>, since the new wctype module should fix this.
55726         * lib/quotearg.c: Include <wctype.h> unconditionally, since
55727         the wctype module should arrange for it.
55728         * lib/regex_internal.h: Likewise.
55729         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
55730         since the wctype module should handle this now.
55731         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
55732         * modules/fnmatch (Depends-on): Add wctype.
55733         * modules/quotearg (Depends-on): Likewise.
55734         * modules/regex (Depends-on): Likewise.
55735
55736 2006-12-19  Bruno Haible  <bruno@clisp.org>
55737
55738         * lib/strdup.h [C++]: Wrap definitions in extern "C".
55739         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
55740
55741 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55742
55743         * modules/savewd (Depends-on): Fix dependency on fcntl.
55744
55745 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
55746
55747         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
55748         conforms to C99, rather than relying on the user's environment
55749         setting of STDINT_H.
55750
55751 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
55752         and Eric Blake  <ebb9@byu.net>
55753
55754         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
55755         This is more consistent with the other defines here.
55756         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
55757         Port to z/OS.  Problem reported by Paul Gilmartin.
55758         Change local vars to use gl_ prefix rather than ac_.
55759         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
55760         with other defines.
55761         * modules/double-slash-root: New module.
55762         * modules/dirname (Files): Remove m4/double-slash-root.m4.
55763         (Depends-on): Add double-slash-root.
55764         * MODULES.html.sh (File system functions): Mention new module.
55765
55766 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
55767
55768         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
55769         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
55770         This is for the benefit of gzip, which doesn't do i18n.
55771
55772 2006-12-12  Jim Meyering  <jim@meyering.net>
55773
55774         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
55775         Reported by Andreas Schwab <schwab@suse.de>.
55776
55777 2006-12-12  Bruno Haible  <bruno@clisp.org>
55778
55779         Merge these changes.
55780         2006-09-05  Bruno Haible  <bruno@clisp.org>
55781         * lib/iconvme.c (iconv_string): No need to save and restore errno when
55782         iconv_alloc succeeded.
55783         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
55784         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
55785         test for " && dest " at the end - dest is always != NULL there. Call
55786         iconv with 4xNULL arguments initially, to reset the state. Call iconv
55787         with 2xNULL arguments, also to flush the state storage. Handle the
55788         IRIX iconv behaviour. Realloc the final result, to throw away unused
55789         memory.
55790
55791 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
55792
55793         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
55794         and fchmodat unconditionally, since glibc 2.4 has them.
55795         Problem reported by Arkadiusz Miskiewicz.
55796
55797 2006-12-10  Bruno Haible  <bruno@clisp.org>
55798
55799         * gnulib-tool (func_import): Show the include files only for those
55800         modules that are copied and specified.
55801         Reported by Karl Berry.
55802
55803 2006-12-08  Jim Meyering  <jim@meyering.net>
55804
55805         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
55806         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
55807
55808         * build-aux/announce-gen: Add two new options, both optional:
55809         --bootstrap-tools=TOOL_LIST
55810               a comma-separated list of tools, e.g.,
55811               autoconf,automake,bison,gnulib
55812         --gnulib-snapshot-date=DATE
55813               if gnulib is in the bootstrap tool list,
55814               then report this as the snapshot date.
55815               If not specified, use the current date/time.
55816               If you specify a date here, be sure it's UTC.
55817
55818 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55819
55820         * tests/test-argp-2.sh: Fix test to match actual output.
55821         (func_compare): Fix sed script to be portable.
55822
55823 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
55824
55825         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
55826         workaround for this case.  It is not autoconfigured now; offhand
55827         it's hard to see how to autoconfigure it.
55828
55829 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
55830
55831         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
55832         a directory that is about to be chowned.  Such a directory's
55833         initial file permissions should permit the owner only and this
55834         should not be changed until after the chown, since the group and
55835         other bits would be incorrect if they granted permission before
55836         the chown.
55837
55838         Fix porting problem for iswctype reported by Georg Schwarz in:
55839         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
55840         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
55841         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
55842         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
55843         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
55844
55845 2006-12-03  Jim Meyering  <jim@meyering.net>
55846
55847         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
55848         p->fts_statp may not yet be defined.
55849         (fts_read): Instead, set it in the caller, once p->fts_statp is
55850         sure to be defined, and corresponds to a top-level directory.
55851         This bug made du -x fail.  Here's the coreutils test case:
55852         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
55853         Reported by Mike Frysinger.
55854
55855 2006-12-01  Jim Meyering  <jim@meyering.net>
55856
55857         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
55858         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
55859         Reported by Simon Josefsson.
55860
55861 2006-11-30  Jim Meyering  <jim@meyering.net>
55862
55863         * m4/warning.m4: Use the all-permissive copyright notice
55864         recommended by RMS (rather than LGPL).
55865         * m4/vararrays.m4: Likewise.
55866         * m4/flexmember.m4: Likewise.
55867
55868 2006-11-29  Bruno Haible  <bruno@clisp.org>
55869
55870         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
55871         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
55872         using +=.
55873         Reported by Simon Josefsson <simon@josefsson.org>.
55874
55875 2006-11-28  James Youngman <jay@gnu.org>
55876
55877         * README: Advise users that they might find the bug-gnulib@gnu.org
55878         and autotools-announce@gnu.org mailing lists useful.
55879
55880 2006-11-28  Bruno Haible  <bruno@clisp.org>
55881
55882         * m4/ptrdiff_max.m4: Remove file.
55883
55884 2006-11-21  Bruno Haible  <bruno@clisp.org>
55885
55886         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
55887         _AC_COMPUTE_INT.
55888         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
55889         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
55890         _AC_COMPUTE_INT.
55891         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
55892         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
55893         _AC_COMPUTE_INT.
55894         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
55895
55896 2006-11-28  Jim Meyering  <jim@meyering.net>
55897
55898         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
55899         warning from "gcc -Wshadow" about shadowing the builtin.
55900
55901 2006-11-27  Bruno Haible  <bruno@clisp.org>
55902
55903         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
55904         _AC_COMPUTE_INT.
55905         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
55906
55907 2006-11-27  Bruno Haible  <bruno@clisp.org>
55908             Paul Eggert  <eggert@cs.ucla.edu>
55909
55910         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
55911
55912 2006-11-26  Bruno Haible  <bruno@clisp.org>
55913
55914         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
55915         noinst_LTLIBRARIES.
55916
55917 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
55918             Bruno Haible  <bruno@clisp.org>
55919
55920         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
55921         if compiling with "gcc -ansi".
55922
55923 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
55924
55925         Fix some incompatibilities with gcc -ansi -pedantic.
55926         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
55927         if compiling pedantically with GCC, unless it's C99 or later.
55928         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
55929         it mishandles gcc -ansi -pedantic as well.
55930         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
55931         if gcc -pedantic.
55932         * lib/regexec.c (check_node_accept_bytes): Don't use auto
55933         initializers for struct if -pedantic, unless it's C99 or later.
55934
55935 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
55936
55937         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
55938         Don't close an fd more than once. Identical atimes indicate
55939         success, not failure.
55940
55941 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
55942
55943         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
55944
55945 2006-11-23  Jim Meyering  <jim@meyering.net>
55946
55947         * build-aux/announce-gen: New file.  From coreutils.
55948
55949 2006-11-22  Jim Meyering  <jim@meyering.net>
55950
55951         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
55952         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
55953         (fts_read): Use a temporary to narrow the overused st_size member
55954         before using it in a switch statement.  Reported by Matthew Woehlke.
55955
55956         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
55957         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
55958
55959 2006-11-20  Bruno Haible  <bruno@clisp.org>
55960
55961         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
55962         changequote instead of pairs of brackets.
55963         Reported by Andreas Schwab <schwab@suse.de>.
55964
55965 2006-11-21  Jim Meyering  <jim@meyering.net>
55966
55967         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
55968         so as to remain compatible with older compilers.
55969         Patch from Michael Deutschmann.
55970
55971 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
55972
55973         * MODULES.html.sh (File system functions): Add openat.
55974
55975         * lib/openat.h (rpl_fstatat): New macro, if
55976         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
55977         (fstatat): Define to rpl_fstatat under the same conditions,
55978         unless COMPILING_FSTATAT.
55979         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
55980         seems to have the bug.
55981         * lib/fstatat.c: New file.
55982         * modules/openat (Files): Add it.
55983
55984 2006-11-20  Bruno Haible  <bruno@clisp.org>
55985
55986         * Makefile: New file.
55987
55988 2006-11-20  Jim Meyering  <jim@meyering.net>
55989
55990         The beginnings of syntax-related checks for gnulib.
55991         * lib/Makefile: New file.
55992         * lib/t-idcache: New script.  Ensure that the two halves of
55993         idcache.c stay in sync.
55994
55995         * lib/idcache.c: Adjust comments in user- and group- portions to
55996         be more accurate, and to be consistent with one another.
55997
55998 2006-11-20  Jim Meyering  <jim@meyering.net>
55999
56000         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
56001         continue using the flexible array member (thus, this module performs
56002         half as many malloc calls), with the addition that...
56003         (getgroup, getuser): Consistently record a non-match via an empty
56004         "name" string, and map an empty string match to a NULL return value.
56005         * modules/idcache (Depends-on): Re-add flexmember.
56006
56007         * lib/idcache.c (getuser): Remove all uses of the register keyword.
56008         (getuidbyname, getgroup, getgidbyname): Likewise.
56009
56010         Use cleaner syntax: NULL rather than 0.
56011         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
56012
56013 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
56014
56015         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
56016         It mishandled the case where the group was missing.
56017         Problem reported by Greg Schafer.
56018         * modules/idcache: Likewise.
56019
56020 2006-11-18  Jim Meyering  <jim@meyering.net>
56021
56022         * check-module (%exempt_header): Add exception for some
56023         conditionally-included headers.
56024
56025         * modules/i-ring (Depends-on): Add verify.
56026         (License): Change to LGPL.
56027
56028 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
56029
56030         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
56031         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
56032         and inttostr.h.  Use snprintf rather than uinttostr, so that
56033         LGPLed code doesn't depend on GPLed.
56034
56035 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
56036
56037         * modules/inline (License): Change from GPL to LGPL.
56038
56039 2006-11-17  Jim Meyering  <jim@meyering.net>
56040
56041         * modules/d-type (License): Switch to LGPL.
56042
56043 2006-11-15  Bruno Haible  <bruno@clisp.org>
56044
56045         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
56046
56047 2006-11-15  Eric Blake  <ebb9@byu.net>
56048
56049         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
56050         the module dependency.
56051
56052 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56053             Bruno Haible  <bruno@clisp.org>
56054
56055         * gnulib-tool (func_create_testdir): Add license consistency check.
56056
56057 2006-11-15  Eric Blake  <ebb9@byu.net>
56058
56059         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
56060         random "(cached)" in configure output.
56061
56062 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56063
56064         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
56065         test for conforming inttypes.h is both announced and cached.
56066
56067         * MODULES.html.sh (seen_modules, seen_files): New variables.
56068         (func_module): Rewrite to use a few less gnulib-tool and sed
56069         invocations.  Avoid a couple of quadratic algorithms for ...
56070         (missed_modules, missed_files): ... these, with ...
56071         (func_append, func_tmpdir): ... these new functions, from
56072         gnulib-tool.  Analogously, install traps for cleanup.
56073
56074         * tests/test-gc.c (main): Remove unused variables.
56075         * tests/test-read-file.c: Include stdlib.h, for 'free'.
56076
56077 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
56078
56079         * modules/inttostr (License): Change to LGPL.
56080
56081 2006-11-14  Eric Blake  <ebb9@byu.net>
56082
56083         * modules/tempname (License): Change to LGPL.
56084
56085 2006-11-14  Eric Blake  <ebb9@byu.net>
56086
56087         * doc/functions.texi (Function Portability): *printf functions on
56088         Cygwin now understand all POSIX size specifiers.
56089
56090 2006-11-14  Bruno Haible  <bruno@clisp.org>
56091
56092         * modules/c-ctype (License): Change to LGPL.
56093
56094 2006-11-12  Bruno Haible  <bruno@clisp.org>
56095
56096         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
56097         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
56098         for GNOME libraries, for which the include files are installed in
56099         subdirectories of $prefix/include.
56100
56101 2006-11-12  Bruno Haible  <bruno@clisp.org>
56102
56103         * m4/lib-link.m4: Require at least autoconf-2.54.
56104         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
56105         name to underscores for the --with option.
56106
56107 2006-11-13  Bruno Haible  <bruno@clisp.org>
56108
56109         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
56110         the tests directory.
56111         Reported by Ralf Wildenhues.
56112
56113 2006-11-13  Bruno Haible  <bruno@clisp.org>
56114
56115         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
56116         (func_emit_initmacro_end): Undo the override here.
56117         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
56118         Works around the famous automake error in coreutils.
56119
56120 2006-11-13  Eric Blake  <ebb9@byu.net>
56121
56122         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
56123         element, not its node.
56124
56125 2006-11-12  Bruno Haible  <bruno@clisp.org>
56126
56127         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
56128         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
56129
56130 2006-11-12  Bruno Haible  <bruno@clisp.org>
56131
56132         * gnulib-tool: New option --local-symlink.
56133         (func_usage): Document it.
56134         (lsymbolic): New variable.
56135         (func_import, func_create_testdir): If --symlink was not specified,
56136         test whether --local-symlink was specified and the file comes from
56137         the local_gnulib_dir.
56138
56139 2006-11-12  Bruno Haible  <bruno@clisp.org>
56140
56141         * gnulib-tool (func_ln): New function.
56142         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
56143
56144 2006-11-12  Bruno Haible  <bruno@clisp.org>
56145
56146         Finish support for source files in subdirectories.
56147         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
56148         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
56149         AUTOMAKE_OPTIONS.
56150         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
56151
56152 2006-11-12  Bruno Haible  <bruno@clisp.org>
56153
56154         * gnulib-tool (func_get_automake_snippet): Synthesize also an
56155         EXTRA_lib_SOURCES augmentation.
56156         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
56157
56158 2006-11-12  Jim Meyering  <jim@meyering.net>
56159
56160         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
56161         file descriptors.  This also averts a failure on systems with
56162         native openat support when a traversed directory lacks "x" access.
56163         * lib/fts_.h: Include "i-ring.h"
56164         (struct FTS) [fts_fd_ring]: New member.
56165         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
56166         (FCHDIR): Add parentheses.
56167         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
56168         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
56169         When descending, rather than simply closing the previous
56170         fts_cwd_fd value, push that file descriptor onto the ring.
56171         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
56172         (fts_open): Initialize the new fd_ring member.
56173         (fts_close): Clear the ring.
56174         (fts_safe_changedir): When possible, use our new fd_ring to skip
56175         the diropen and fstat and dev/ino comparison that would normally
56176         accompany a virtual `chdir ("..")'.
56177
56178         * modules/fts (Depends-on): Add i-ring.
56179         * modules/i-ring: New module.
56180         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
56181         * m4/i-ring.m4: New file.
56182
56183 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56184
56185         * gnulib-tool (func_create_testdir): Fix replacement of
56186         `build-aux' in configure.ac.  Run autotools in gltests
56187         subdirectory.
56188         (func_create_testdir, func_create_megatestdir, test): There is
56189         no need for '--force' in most autotool invocations in a new
56190         tree.  Actually fail the whole test if any of the tools, or the
56191         configure or make stages fail.
56192
56193         Sync from Automake.
56194         * build-aux/gnupload: Revert last change.  Add pointer to upload
56195         instructions of the GNU Maintenance Instructions.
56196         Suggestion by Karl Berry.
56197
56198 2006-11-10  Jim Meyering  <jim@meyering.net>
56199
56200         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
56201
56202 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
56203
56204         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
56205         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
56206         (bind_textdomain_codeset) [! ENABLE_NLS]:
56207         Evaluate all the arguments.  That way, callers get compatible behavior
56208         if the arguments have side effects.  Also, it avoids some GCC
56209         diagnostics in some cases; Joel E. Denny reported problems when Bison
56210         was configured with --enable-gcc-warnigs.
56211
56212 2006-11-10  Jim Meyering  <jim@meyering.net>
56213
56214         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
56215         relevant options in CFLAGS (like -O, -fno-inline) are taken into
56216         account.
56217
56218 2006-11-10  Jim Meyering  <jim@meyering.net>
56219
56220         * modules/inline: New file/module.
56221         * modules/xalloc (Files): Remove m4/inline.m4.
56222         (Depends-on): Add inline, instead.
56223         * modules/oset: Likewise.
56224         * modules/list: Likewise.
56225
56226 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
56227
56228         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
56229         Problem reported by Matthew Woehlke.
56230
56231 2006-11-09  Bruno Haible  <bruno@clisp.org>
56232
56233         * lib/tempname.c (gen_tempname): Remove variant that invokes
56234         __gen_tempname.
56235         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
56236         __gen_tempname.
56237
56238 2006-11-08  Bruno Haible  <bruno@clisp.org>
56239
56240         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
56241         to 'yes' instead of 'cross-compiling'.
56242
56243 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
56244
56245         * lib/quotearg.h (quotearg_free): New decl.
56246         * lib/quotearg.c (quotearg_free): New function.
56247         (slot0, nslots, slotvec0, slotvec):
56248         Now file-scope so that quotearg_free can get at them.
56249
56250 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56251
56252         Sync from Automake.
56253         * build-aux/gnupload: Add missing 'gnu' to example URL.
56254         Report by Karl Berry.
56255
56256 2006-11-08  Bruno Haible  <bruno@clisp.org>
56257
56258         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
56259         Suggested by Paul Eggert.
56260
56261 2006-11-08  Jim Meyering  <jim@meyering.net>
56262
56263         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
56264         It's already included if !_LIBC.
56265         (fts_safe_changedir): Add a comment.
56266
56267 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
56268
56269         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
56270         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
56271         Matthew Woehlke.
56272
56273         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
56274         definitions up, to avoid colliding with change below.
56275         (static_inline) [HAVE_INLINE]: New macro.
56276         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
56277         Provide extern decls when !HAVE_INLINE.  Do not define unless
56278         static_inline is defined, either by us or by xmalloc.c.  Use
56279         static_inline rather than static inline.
56280         (XCALLOC): Optimize sizeof(T) = 1 case.
56281         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
56282
56283 2006-11-07  Bruno Haible  <bruno@clisp.org>
56284
56285         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
56286         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
56287         AC_C_INLINE.
56288         * modules/xalloc (Files): Add m4/inline.m4.
56289
56290 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56291
56292         * README: Fix typo.
56293         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
56294         (Miscellanous Notes): ...from this.
56295
56296 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
56297
56298         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
56299         Mention that offsetof should be used instead of sizeof.
56300         From Bruno Haible.
56301
56302 2006-11-07  Bruno Haible  <bruno@clisp.org>
56303
56304         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
56305
56306 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
56307
56308         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
56309         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
56310         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
56311         (gl_tree_add_before, gl_tree_add_after):
56312         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
56313         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
56314         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
56315         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
56316         (gl_linked_add_after, gl_linked_add_at): Likewise.
56317         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
56318         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
56319         (gl_tree_add_before, gl_tree_add_after): Likewise.
56320         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
56321         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
56322         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
56323
56324 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56325
56326         * lib/gl_oset.h: Use C comment style, not C++ comment style.
56327
56328 2006-11-06  Bruno Haible  <bruno@clisp.org>
56329
56330         * m4/inline.m4: New file.
56331         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
56332         * modules/list (Files): Add m4/inline.m4.
56333         * modules/oset (Files): Likewise.
56334
56335 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
56336
56337         * lib/idcache.c: Include <stddef.h>, for offsetof.
56338         (struct userid.name): Change from char * to a flexible array member.
56339         All uses changed.
56340         * modules/idcache (Depends-on): Add flexmember.
56341
56342         * MODULES.html.sh (Core language properties): New module flexmember.
56343         * modules/flexmember, m4/flexmember.m4: New files.
56344
56345         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
56346         inline functions that are identical with the old xnmalloc_inline,
56347         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
56348         that we can avoid some unnecessary integer multiplications and
56349         divisions in the common case where the element size is known at
56350         compile time.
56351         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
56352         needed.
56353         (xnboundedmalloc): Remove.
56354         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
56355         arguments, for consistency with rest of this header.
56356         (xcharalloc): Rewrite using XNMALLOC.
56357         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
56358         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
56359         versions have been moved to lib/xalloc.h and renamed to be the
56360         non-*_inline versions.
56361         (xmalloc, xrealloc): Implement without reference to the xnmalloc
56362         and xnrealloc functions, since those functions are now inline and
56363         now call us.
56364         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
56365         renaming described above.
56366         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
56367         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
56368         captures the dependency in AC_C_INLINE.
56369
56370         New module canonicalize-lgpl, proposed by Charles Wilson in
56371         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
56372         with a few small changes afterwards.
56373         * MODULES.html.sh (File system functions): New module
56374         canonicalize-lgpl.
56375         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
56376         and canonicalize_file_name.
56377         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
56378         * modules/canonicalize-lgpl: New files.
56379
56380 2006-11-05  Bruno Haible  <bruno@clisp.org>
56381
56382         * gnulib-tool (func_import, func_create_testdir): Create directories
56383         also for files in subdirectories of lib/.
56384
56385 2006-11-05  Bruno Haible  <bruno@clisp.org>
56386
56387         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
56388         ANSI C compliant.
56389
56390 2006-11-03  Bruno Haible  <bruno@clisp.org>
56391
56392         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
56393         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
56394         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
56395         (xnboundedmalloc): New inline function.
56396         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
56397         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
56398         xmalloc.
56399         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
56400         xmalloc.
56401         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
56402         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
56403         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
56404         xmalloc.
56405         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
56406         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
56407         xmalloc.
56408         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
56409         gl_tree_add_after): Use XMALLOC instead of xmalloc.
56410         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
56411         xmalloc.
56412         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
56413         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
56414         gl_tree_add_after): Use XMALLOC instead of xmalloc.
56415         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
56416         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
56417         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
56418         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
56419
56420 2006-11-03  Bruno Haible  <bruno@clisp.org>
56421
56422         * lib/c-ctype.h [C++]: Define functions without name mangling.
56423         * lib/fwriteerror.h [C++]: Likewise.
56424         * lib/gcd.h [C++]: Likewise.
56425         * lib/linebreak.h [C++]: Likewise.
56426
56427 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
56428
56429         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
56430         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
56431         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
56432         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
56433         Check for functions and headers just once.
56434         Check for declaration of canonicalize_file_name.
56435         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
56436
56437 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
56438
56439         * gnulib-tool (func_import): Fix typo in actioncmd.
56440
56441 2006-11-02  Bruno Haible  <bruno@clisp.org>
56442
56443         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
56444         newline sequence in the Makefile.am snippet as a space, like "make"
56445         does.
56446         Reported by Roger Persson <perrog@gmail.com>.
56447
56448 2006-11-01  Bruno Haible  <bruno@clisp.org>
56449
56450         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
56451         already declared in <string.h>.
56452         * lib/strcase.h (strncasecmp): Don't declare it if yes.
56453
56454 2006-11-01  Bruno Haible  <bruno@clisp.org>
56455
56456         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
56457         * lib/strcase.h: Include <string.h>.
56458         (strcasecmp): Define to rpl_strcasecmp here.
56459
56460 2006-11-01  Bruno Haible  <bruno@clisp.org>
56461
56462         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
56463
56464 2006-11-01  Eric Blake  <ebb9@byu.net>
56465
56466         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
56467
56468         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
56469
56470 2006-10-29  Bruno Haible  <bruno@clisp.org>
56471
56472         Make it compile in C++ mode.
56473         * lib/full-write.c (full_rw): Add a cast.
56474
56475 2006-11-01  Bruno Haible  <bruno@clisp.org>
56476
56477         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
56478         be POSIX compliant.
56479         Reported by Roger Persson <perrog@gmail.com>.
56480
56481 2006-11-01  Eric Blake  <ebb9@byu.net>
56482
56483         * lib/getopt_.h: Fix comments.
56484
56485 2006-10-31  Eric Blake  <ebb9@byu.net>
56486
56487         * modules/tmpdir (Depends-on): Add sys_stat.
56488         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
56489         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
56490         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
56491         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
56492         tempname.
56493
56494 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
56495
56496         Avoid some C++ diagnostics reported by Bruno Haible.
56497         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
56498         xmalloc.
56499         (quotearg_alloc): Use xcharalloc rather than xmalloc.
56500         (struct slotvec): Move to top level.
56501         (quotearg_n_options): Rewrite to avoid xmalloc.
56502         * lib/xalloc.h (xcharalloc): New function.
56503         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
56504         [defined __cplusplus]: Add function template that provides result
56505         type propagation.  This part of the change is from Bruno Haible.
56506
56507 2006-10-29  Bruno Haible  <bruno@clisp.org>
56508
56509         Make it compile in C++ mode.
56510         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
56511         * lib/strnlen1.c (strnlen1): Cast memchr result.
56512         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
56513         * lib/clean-temp.c (string_equals, string_hash): Add casts.
56514         (create_temp_dir): Rename local variable 'template'.
56515         (compile_csharp_using_sscli): Add cast.
56516         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
56517         * lib/findprog.c (find_in_path): Likewise.
56518         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
56519         * lib/wait-process.c (register_slave_subprocess): Likewise.
56520
56521 2006-10-22  Bruno Haible  <bruno@clisp.org>
56522
56523         * modules/tsearch: New file.
56524         * lib/tsearch.h: New file.
56525         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
56526         * m4/tsearch.m4: New file.
56527         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
56528
56529 2006-10-29  Eric Blake  <ebb9@byu.net>
56530
56531         * lib/arcfour.c: Assume config.h.
56532         * lib/arctwo.c: Likewise.
56533         * lib/base64.c: Likewise.
56534         * lib/check-version.c: Likewise.
56535         * lib/crc.c: Likewise.
56536         * lib/des.c: Likewise.
56537         * lib/gc-gnulib.c: Likewise.
56538         * lib/gc-libgcrypt.c: Likewise.
56539         * lib/gc-pbkdf2-sha1.c: Likewise.
56540         * lib/getaddrinfo.c: Likewise.
56541         * lib/getdelim.c: Likewise.
56542         * lib/getline.c: Likewise.
56543         * lib/hmac-md5.c: Likewise.
56544         * lib/hmac-sha1.c: Likewise.
56545         * lib/iconvme.c: Likewise.
56546         * lib/md2.c: Likewise.
56547         * lib/md4.c: Likewise.
56548         * lib/memxor.c: Likewise.
56549         * lib/read-file.c: Likewise.
56550         * lib/readline.c: Likewise.
56551         * lib/rijndael-alg-fst.c: Likewise.
56552         * lib/rijndael-api-fst.c: Likewise.
56553         * lib/xgetdomainname.c: Likewise.
56554
56555 2006-10-28  Eric Blake  <ebb9@byu.net>
56556
56557         * lib/xstrndup.c: Assume config.h.
56558
56559 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
56560
56561         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
56562         stat-macros.h is now for our own macros, whereas stat_h is for
56563         macros in the <sys/stat.h> name space.
56564         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
56565         (STAT_MACROS_H): Remove.
56566         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
56567         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
56568         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
56569         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
56570         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
56571         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
56572         Move these macros to ...
56573         * lib/stat_.h: here.  Don't include stat-macros.h.
56574         * lib/canonicalize.c: Don't include stat-macros.h.
56575         * lib/chown.c: Likewise.
56576         * lib/euidaccess.c: Likewise.
56577         * lib/file-type.c: Likewise.
56578         * lib/filemode.c: Likewise.
56579         * lib/glob.c: Likewise.
56580         * lib/isapipe.c: Likewise.
56581         * lib/lchown.c: Likewise.
56582         * lib/lstat.c: Likewise.
56583         * lib/mkdir-p.c: Likewise.
56584         * lib/rmdir.c: Likewise.
56585         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
56586         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
56587         unless mkdir isn't declared, to speed up 'configure'.
56588         Always create sys/stat.h, since it's unlikely any real sys/stat.h
56589         would define all the S_* symbols.
56590         * modules/canonicalize (Depends-on):
56591         Depend on sys_stat, not stat-macros.
56592         * modules/chown: Likewise.
56593         * modules/euidaccess: Likewise.
56594         * modules/filemode: Likewise.
56595         * modules/file-type: Likewise.
56596         * modules/glob: Likewise.
56597         * modules/isapipe: Likewise.
56598         * modules/lchown: Likewise.
56599         * modules/lstat: Likewise.
56600         * modules/mkancesdirs: Likewise.
56601         * modules/rmdir: Likewise.
56602         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
56603         * modules/modechange: Likewise.
56604         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
56605         (configure.ac): Remove gl_STAT_MACROS.
56606         * modules/sys_stat (Depends-on): Remove stat-macros.
56607
56608 2006-10-27  Bruno Haible  <bruno@clisp.org>
56609
56610         * m4/signed.m4: Remove file.
56611         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
56612         invocation.
56613         * modules/vasnprintf (Files): Remove m4/signed.m4.
56614
56615 2006-10-27  Bruno Haible  <bruno@clisp.org>
56616
56617         Update to GNU gettext 0.16.
56618         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
56619         m4/inttypes-h.m4, m4/signed.m4.
56620         * m4/gettext.m4: Update to GNU gettext 0.16.
56621         * m4/intl.m4: New file, from GNU gettext.
56622         * m4/intldir.m4: New file, from GNU gettext.
56623         * config/srclist.txt: Update
56624
56625 2006-10-27  Eric Blake  <ebb9@byu.net>
56626
56627         * MODULES.html.sh: Document tempname.
56628         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
56629         dependencies.
56630         (Files): Move lib/tempname.c...
56631         * modules/tempname: ...to this new module.
56632         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
56633         (gl_PREREQ_TEMPNAME): Move...
56634         * m4/tempname.m4: ...to this new file.
56635         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
56636         * modules/sys_stat (Depends-on): Add stat-macros.
56637         * lib/stat_.h (includes): Pick up stat macros.
56638         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
56639         if stat macros are broken.
56640         * lib/tempname.c (includes): No need to include "stat-macros.h".
56641         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
56642         (direxists, __path_search) [!_LIBC]: Don't compile these in
56643         gnulib; the tmpdir module covers that.
56644         * lib/tempname.h: New file.
56645
56646 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
56647
56648         * COPYING: Explain how gnulib-tool converts licence headers.
56649         Almost all wording by Eric Blake.
56650
56651 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
56652
56653         * lib/mbchar.h (is_basic_table): Make read-only.
56654         * lib/mbchar.c (is_basic_table): Likewise.
56655         Reported by John Darrington.
56656
56657 2006-10-25  Bruno Haible  <bruno@clisp.org>
56658
56659         * lib/progname.h (set_program_name): Undefine before defining.
56660
56661 2006-10-25  Bruno Haible  <bruno@clisp.org>
56662
56663         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
56664         false for non-gcc C++ compilers.
56665         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
56666
56667 2006-10-24  Bruno Haible  <bruno@clisp.org>
56668
56669         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
56670         iconv implementations like Irix iconv.
56671
56672 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
56673
56674         * modules/vararrays: New file.
56675         * m4/vararrays.m4: New file, taken from diffutils.
56676         * MODULES.html.sh: New module vararrays.
56677
56678 2006-10-24  Karl Berry  <karl@gnu.org>
56679
56680         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
56681         Don't call GNU Unix.
56682
56683 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56684
56685         * users.txt: Add Libtool.
56686
56687         Sync from Libtool:
56688
56689         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
56690
56691         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
56692         to gnulib's policy of including config.h unconditionally.
56693
56694 2006-10-24  Bruno Haible  <bruno@clisp.org>
56695
56696         * modules/wcwidth (Files): Add m4/wint_t.m4.
56697         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
56698         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
56699
56700 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
56701
56702         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
56703         to pacify GCC with some -W flags enabled.  Problem reported by
56704         Bruno Haible.
56705
56706 2006-10-24  Jim Meyering  <jim@meyering.net>
56707
56708         * MODULES.html.sh: Remove uinttostr.  It's not a module.
56709         Reported by Karl Berry.
56710
56711 2006-10-23  Bruno Haible  <bruno@clisp.org>
56712
56713         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
56714
56715 2006-10-24  Bruno Haible  <bruno@clisp.org>
56716
56717         * lib/gl_list.h: Use C comment style, not C++ comment style.
56718
56719 2006-10-23  Eric Blake  <ebb9@byu.net>
56720
56721         * lib/getaddrinfo.c (includes): Add missing include.
56722
56723 2006-10-23  Bruno Haible  <bruno@clisp.org>
56724             Paul Eggert  <eggert@cs.ucla.edu>
56725
56726         Ability to rename obstack_free.
56727         * lib/obstack.h (__obstack_free): New macro. Declare instead of
56728         obstack_free.
56729         (obstack_free): Invoke the __obstack_free macro.
56730         * lib/obstack.c (obstack_free): Use __obstack_free macro.
56731
56732 2006-10-23  Bruno Haible  <bruno@clisp.org>
56733             Paul Eggert  <eggert@cs.ucla.edu>
56734
56735         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
56736         __argc, __argv from the declaration. (They are defined as macros on
56737         mingw.)
56738
56739 2006-10-22  Bruno Haible  <bruno@clisp.org>
56740
56741         * doc/gnulib-intro.texi: New file.
56742         * doc/gnulib.texi: Include it.
56743
56744 2006-10-21  Bruno Haible  <bruno@clisp.org>
56745
56746         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
56747         "Introduction", "Miscellanous Notes", "Particular Modules".
56748
56749 2006-10-21  Bruno Haible  <bruno@clisp.org>
56750
56751         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
56752         Change mostlyclean-local rule to avoid sh syntax error from bash
56753         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
56754
56755 2006-10-23  Jim Meyering  <jim@meyering.net>
56756
56757         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
56758         in place of snprintf.
56759
56760         * modules/inttostr (Files): Add lib/uinttostr.c.
56761         * lib/uinttostr.c (inttostr): New file/function.
56762         * lib/inttostr.h (uinttostr): Declare.
56763         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
56764         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
56765         Add uinttostr.
56766         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
56767
56768 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
56769
56770         * lib/canonicalize.c (ELOOP): Define if not already defined.
56771         Problem reported by Bruno Haible in
56772         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
56773
56774 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
56775
56776         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
56777         Problem reported by Perry Smith and Ville Laurikari.
56778
56779         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
56780         uses.
56781
56782 2006-10-19  Bruno Haible  <bruno@clisp.org>
56783
56784         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
56785         for mingw.
56786
56787 2006-10-19  Bruno Haible  <bruno@clisp.org>
56788
56789         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
56790         Needed for mingw.
56791
56792 2006-10-19  Bruno Haible  <bruno@clisp.org>
56793
56794         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
56795
56796 2006-10-19  Bruno Haible  <bruno@clisp.org>
56797
56798         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
56799         it.
56800
56801 2006-10-19  Bruno Haible  <bruno@clisp.org>
56802
56803         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
56804         invocation.
56805
56806 2006-10-19  Bruno Haible  <bruno@clisp.org>
56807
56808         * gnulib-tool (func_create_testdir): Don't include ftruncate and
56809         mountlist by default.
56810
56811 2006-10-16  Bruno Haible  <bruno@clisp.org>
56812
56813         * lib/c-strstr.c: Include c-strstr.h.
56814
56815 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
56816
56817         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
56818         in a slash.
56819
56820 2006-10-18  Bruno Haible  <bruno@clisp.org>
56821
56822         * lib/lock.h [C++]: Wrap definitions in extern "C".
56823
56824 2006-10-18  Bruno Haible  <bruno@clisp.org>
56825
56826         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
56827         gl_LIBOBJS list.
56828
56829 2006-10-18  Bruno Haible  <bruno@clisp.org>
56830
56831         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
56832
56833 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
56834
56835         * lib/xstrtol.h: Include gettext.h.
56836         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
56837         Problem reported by Eric Blake.
56838         * modules/xstrtol (Depends-on): Add gettext-h.
56839
56840 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
56841
56842         * lib/strftime.c (advance): New macro.
56843         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
56844         incomplete type, so you can't add 0 to it.  Problem and patch
56845         reported by Eelco Dolstra for dietlibc.
56846
56847 2006-10-18  Jim Meyering  <jim@meyering.net>
56848
56849         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
56850         type for a local, and rename it: s/up/user_proc/.
56851
56852 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
56853
56854         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
56855         READ_UTMP_USER_PROCESS.
56856         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
56857
56858 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
56859
56860         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
56861         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
56862
56863 2006-10-17  Eric Blake  <ebb9@byu.net>
56864
56865         * lib/sigprocmask.c (sigprocmask): Fix typo.
56866
56867         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
56868
56869         * modules/clean-temp (Makefile.am): Don't add to make output...
56870         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
56871         config.h.
56872
56873 2006-10-17  Bruno Haible  <bruno@clisp.org>
56874
56875         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
56876         differently if DEFAULT_TEXT_DOMAIN is set.
56877
56878 2006-10-16  Bruno Haible  <bruno@clisp.org>
56879
56880         * lib/clean-temp.c: Include fwriteerror.h.
56881
56882 2006-10-16  Bruno Haible  <bruno@clisp.org>
56883
56884         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
56885
56886 2006-10-16  Bruno Haible  <bruno@clisp.org>
56887
56888         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
56889         * lib/sigprocmask.h: Include <sys/types.h>.
56890         (sigset_t): Use the system's definition if present.
56891
56892 2006-10-17  Eric Blake  <ebb9@byu.net>
56893
56894         * lib/xvasprintf.c (includes): Assume config.h.
56895         * lib/xasprintf.c (includes): Likewise.
56896
56897 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
56898
56899         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
56900         at least as wide as intmax_t.
56901
56902 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
56903
56904         (Imported from Automake.)
56905         * build-aux/gnupload: Update to version 1.1 of directive file.
56906
56907 2006-10-16  Eric Blake  <ebb9@byu.net>
56908
56909         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
56910         match Automake 1.10a.
56911
56912 2006-10-14  Bruno Haible  <bruno@clisp.org>
56913
56914         * modules/sigprocmask: New file.
56915         * lib/sigprocmask.h: New file.
56916         * lib/sigprocmask.c: New file.
56917         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
56918         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
56919         request sigprocmask.o.
56920         (gl_PREREQ_SIGPROCMASK): New macro.
56921         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
56922         (Depends-on): Add sigprocmask.
56923         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
56924         gt_SIGNALBLOCKING. Test for 'raise' only once.
56925         * lib/fatal-signal.c: Include sigprocmask.h.
56926         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
56927         unblock_fatal_signals): Define always.
56928         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56929         sigprocmask.
56930
56931 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
56932
56933         Sync from Automake.
56934         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
56935         which incorrectly sets the mode of an existing destination
56936         directory.  In some cases the unpatched install-sh could do the
56937         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
56938         system.  We hope this is rare in practice, but it's clearly worth
56939         fixing.  Problem reported by Alex Unleashed in
56940         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
56941         Also, don't bother to check for -m bugs unless we're using -m;
56942         suggested by Stepan Kasal.
56943
56944 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56945
56946         Sync from Automake.
56947         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
56948         `-c' flag, so they appear at the same position as in %FASTDEP%
56949         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
56950         which ignores unknown options only after the first non-option.
56951         Bug report against M4 by Nelson H. F. Beebe.
56952
56953 2006-10-13  Jim Meyering  <jim@meyering.net>
56954
56955         Fix a bug in yesterday's change.
56956         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
56957         p->fts_statp->st_dev would be used uninitialized.
56958         Ensures that we always call fts_stat on the very first entry.
56959         Miklos Szeredi reported that find -xdev stopped working.
56960
56961 2006-10-12  Bruno Haible  <bruno@clisp.org>
56962
56963         * gnulib-tool (func_get_automake_snippet): Append an automatically
56964         computed EXTRA_DIST augmentation.
56965         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
56966         * modules/alloca-opt (Makefile.am): Likewise.
56967         * modules/allocsa (Makefile.am): Likewise.
56968         * modules/arcfour (Makefile.am): Likewise.
56969         * modules/arctwo (Makefile.am): Likewise.
56970         * modules/argmatch (Makefile.am): Likewise.
56971         * modules/argz (Makefile.am): Likewise.
56972         * modules/atexit (Makefile.am): Likewise.
56973         * modules/backupfile (Makefile.am): Likewise.
56974         * modules/byteswap (Makefile.am): Likewise.
56975         * modules/c-strtod (Makefile.am): Likewise.
56976         * modules/c-strtold (Makefile.am): Likewise.
56977         * modules/calloc (Makefile.am): Likewise.
56978         * modules/canon-host (Makefile.am): Likewise.
56979         * modules/canonicalize (Makefile.am): Likewise.
56980         * modules/chdir-long (Makefile.am): Likewise.
56981         * modules/chdir-safer (Makefile.am): Likewise.
56982         * modules/check-version (Makefile.am): Likewise.
56983         * modules/chown (Makefile.am): Likewise.
56984         * modules/cloexec (Makefile.am): Likewise.
56985         * modules/close-stream (Makefile.am): Likewise.
56986         * modules/closeout (Makefile.am): Likewise.
56987         * modules/crc (Makefile.am): Likewise.
56988         * modules/csharpexec (Makefile.am): Likewise.
56989         * modules/cycle-check (Makefile.am): Likewise.
56990         * modules/des (Makefile.am): Likewise.
56991         * modules/dev-ino (Makefile.am): Likewise.
56992         * modules/dirfd (Makefile.am): Likewise.
56993         * modules/dirname (Makefile.am): Likewise.
56994         * modules/dup2 (Makefile.am): Likewise.
56995         * modules/eealloc (Makefile.am): Likewise.
56996         * modules/error (Makefile.am): Likewise.
56997         * modules/euidaccess (Makefile.am): Likewise.
56998         * modules/exclude (Makefile.am): Likewise.
56999         * modules/exitfail (Makefile.am): Likewise.
57000         * modules/fcntl-safer (Makefile.am): Likewise.
57001         * modules/fcntl (Makefile.am): Likewise.
57002         * modules/file-type (Makefile.am): Likewise.
57003         * modules/fileblocks (Makefile.am): Likewise.
57004         * modules/filemode (Makefile.am): Likewise.
57005         * modules/filenamecat (Makefile.am): Likewise.
57006         * modules/fnmatch (Makefile.am): Likewise.
57007         * modules/fopen-safer (Makefile.am): Likewise.
57008         * modules/fpending (Makefile.am): Likewise.
57009         * modules/fprintftime (Makefile.am): Likewise.
57010         * modules/free (Makefile.am): Likewise.
57011         * modules/fsusage (Makefile.am): Likewise.
57012         * modules/ftruncate (Makefile.am): Likewise.
57013         * modules/fts (Makefile.am): Likewise.
57014         * modules/gc-arcfour (Makefile.am): Likewise.
57015         * modules/gc-des (Makefile.am): Likewise.
57016         * modules/gc-hmac-md5 (Makefile.am): Likewise.
57017         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
57018         * modules/gc-md4 (Makefile.am): Likewise.
57019         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
57020         * modules/gc-sha1 (Makefile.am): Likewise.
57021         * modules/gc (Makefile.am): Likewise.
57022         * modules/getaddrinfo (Makefile.am): Likewise.
57023         * modules/getcwd (Makefile.am): Likewise.
57024         * modules/getdelim (Makefile.am): Likewise.
57025         * modules/getdomainname (Makefile.am): Likewise.
57026         * modules/getgroups (Makefile.am): Likewise.
57027         * modules/gethostname (Makefile.am): Likewise.
57028         * modules/gethrxtime (Makefile.am): Likewise.
57029         * modules/getline (Makefile.am): Likewise.
57030         * modules/getloadavg (Makefile.am): Likewise.
57031         * modules/getlogin_r (Makefile.am): Likewise.
57032         * modules/getndelim2 (Makefile.am): Likewise.
57033         * modules/getopt (Makefile.am): Likewise.
57034         * modules/getpagesize (Makefile.am): Likewise.
57035         * modules/getpass-gnu (Makefile.am): Likewise.
57036         * modules/getpass (Makefile.am): Likewise.
57037         * modules/getsubopt (Makefile.am): Likewise.
57038         * modules/gettime (Makefile.am): Likewise.
57039         * modules/gettimeofday (Makefile.am): Likewise.
57040         * modules/getugroups (Makefile.am): Likewise.
57041         * modules/getusershell (Makefile.am): Likewise.
57042         * modules/glob (Makefile.am): Likewise.
57043         * modules/group-member (Makefile.am): Likewise.
57044         * modules/hard-locale (Makefile.am): Likewise.
57045         * modules/hash (Makefile.am): Likewise.
57046         * modules/hmac-md5 (Makefile.am): Likewise.
57047         * modules/hmac-sha1 (Makefile.am): Likewise.
57048         * modules/human (Makefile.am): Likewise.
57049         * modules/idcache (Makefile.am): Likewise.
57050         * modules/imaxabs (Makefile.am): Likewise.
57051         * modules/imaxdiv (Makefile.am): Likewise.
57052         * modules/inet_ntop (Makefile.am): Likewise.
57053         * modules/inet_pton (Makefile.am): Likewise.
57054         * modules/intprops (Makefile.am): Likewise.
57055         * modules/inttostr (Makefile.am): Likewise.
57056         * modules/inttypes (Makefile.am): Likewise.
57057         * modules/isapipe (Makefile.am): Likewise.
57058         * modules/javaversion (Makefile.am): Likewise.
57059         * modules/lchmod (Makefile.am): Likewise.
57060         * modules/lchown (Makefile.am): Likewise.
57061         * modules/localcharset (Makefile.am): Likewise.
57062         * modules/long-options (Makefile.am): Likewise.
57063         * modules/lstat (Makefile.am): Likewise.
57064         * modules/malloc (Makefile.am): Likewise.
57065         * modules/mathl (Makefile.am): Likewise.
57066         * modules/mbchar (Makefile.am): Likewise.
57067         * modules/md2 (Makefile.am): Likewise.
57068         * modules/md4 (Makefile.am): Likewise.
57069         * modules/md5 (Makefile.am): Likewise.
57070         * modules/memcasecmp (Makefile.am): Likewise.
57071         * modules/memchr (Makefile.am): Likewise.
57072         * modules/memcmp (Makefile.am): Likewise.
57073         * modules/memcoll (Makefile.am): Likewise.
57074         * modules/memcpy (Makefile.am): Likewise.
57075         * modules/memmem (Makefile.am): Likewise.
57076         * modules/memmove (Makefile.am): Likewise.
57077         * modules/mempcpy (Makefile.am): Likewise.
57078         * modules/memrchr (Makefile.am): Likewise.
57079         * modules/memset (Makefile.am): Likewise.
57080         * modules/memxor (Makefile.am): Likewise.
57081         * modules/mkancesdirs (Makefile.am): Likewise.
57082         * modules/mkdir-p (Makefile.am): Likewise.
57083         * modules/mkdir (Makefile.am): Likewise.
57084         * modules/mkdtemp (Makefile.am): Likewise.
57085         * modules/mkstemp (Makefile.am): Likewise.
57086         * modules/mktime (Makefile.am): Likewise.
57087         * modules/modechange (Makefile.am): Likewise.
57088         * modules/mountlist (Makefile.am): Likewise.
57089         * modules/nanosleep (Makefile.am): Likewise.
57090         * modules/obstack (Makefile.am): Likewise.
57091         * modules/openat (Makefile.am): Likewise.
57092         * modules/pagealign_alloc (Makefile.am): Likewise.
57093         * modules/pathmax (Makefile.am): Likewise.
57094         * modules/physmem (Makefile.am): Likewise.
57095         * modules/poll (Makefile.am): Likewise.
57096         * modules/posixtm (Makefile.am): Likewise.
57097         * modules/posixver (Makefile.am): Likewise.
57098         * modules/putenv (Makefile.am): Likewise.
57099         * modules/quote (Makefile.am): Likewise.
57100         * modules/quotearg (Makefile.am): Likewise.
57101         * modules/raise (Makefile.am): Likewise.
57102         * modules/read-file (Makefile.am): Likewise.
57103         * modules/readline (Makefile.am): Likewise.
57104         * modules/readlink (Makefile.am): Likewise.
57105         * modules/readtokens (Makefile.am): Likewise.
57106         * modules/readutmp (Makefile.am): Likewise.
57107         * modules/realloc (Makefile.am): Likewise.
57108         * modules/regex (Makefile.am): Likewise.
57109         * modules/rename-dest-slash (Makefile.am): Likewise.
57110         * modules/rename (Makefile.am): Likewise.
57111         * modules/rijndael (Makefile.am): Likewise.
57112         * modules/rmdir (Makefile.am): Likewise.
57113         * modules/rpmatch (Makefile.am): Likewise.
57114         * modules/safe-read (Makefile.am): Likewise.
57115         * modules/safe-write (Makefile.am): Likewise.
57116         * modules/same-inode (Makefile.am): Likewise.
57117         * modules/same (Makefile.am): Likewise.
57118         * modules/save-cwd (Makefile.am): Likewise.
57119         * modules/savedir (Makefile.am): Likewise.
57120         * modules/setenv (Makefile.am): Likewise.
57121         * modules/settime (Makefile.am): Likewise.
57122         * modules/sha1 (Makefile.am): Likewise.
57123         * modules/sig2str (Makefile.am): Likewise.
57124         * modules/snprintf (Makefile.am): Likewise.
57125         * modules/stat-macros (Makefile.am): Likewise.
57126         * modules/stat-time (Makefile.am): Likewise.
57127         * modules/stdbool (Makefile.am): Likewise.
57128         * modules/stdint (Makefile.am): Likewise.
57129         * modules/stdlib-safer (Makefile.am): Likewise.
57130         * modules/stpcpy (Makefile.am): Likewise.
57131         * modules/stpncpy (Makefile.am): Likewise.
57132         * modules/strcase (Makefile.am): Likewise.
57133         * modules/strcasestr (Makefile.am): Likewise.
57134         * modules/strchrnul (Makefile.am): Likewise.
57135         * modules/strcspn (Makefile.am): Likewise.
57136         * modules/strdup (Makefile.am): Likewise.
57137         * modules/strerror (Makefile.am): Likewise.
57138         * modules/strftime (Makefile.am): Likewise.
57139         * modules/strndup (Makefile.am): Likewise.
57140         * modules/strnlen (Makefile.am): Likewise.
57141         * modules/strpbrk (Makefile.am): Likewise.
57142         * modules/strsep (Makefile.am): Likewise.
57143         * modules/strstr (Makefile.am): Likewise.
57144         * modules/strtod (Makefile.am): Likewise.
57145         * modules/strtoimax (Makefile.am): Likewise.
57146         * modules/strtok_r (Makefile.am): Likewise.
57147         * modules/strtol (Makefile.am): Likewise.
57148         * modules/strtoll (Makefile.am): Likewise.
57149         * modules/strtoul (Makefile.am): Likewise.
57150         * modules/strtoull (Makefile.am): Likewise.
57151         * modules/strtoumax (Makefile.am): Likewise.
57152         * modules/strverscmp (Makefile.am): Likewise.
57153         * modules/sys_socket (Makefile.am): Likewise.
57154         * modules/sys_stat (Makefile.am): Likewise.
57155         * modules/sysexits (Makefile.am): Likewise.
57156         * modules/time_r (Makefile.am): Likewise.
57157         * modules/timegm (Makefile.am): Likewise.
57158         * modules/timespec (Makefile.am): Likewise.
57159         * modules/tmpfile-safer (Makefile.am): Likewise.
57160         * modules/trim (Makefile.am): Likewise.
57161         * modules/unistd-safer (Makefile.am): Likewise.
57162         * modules/unlinkdir (Makefile.am): Likewise.
57163         * modules/unlocked-io (Makefile.am): Likewise.
57164         * modules/userspec (Makefile.am): Likewise.
57165         * modules/utime (Makefile.am): Likewise.
57166         * modules/utimecmp (Makefile.am): Likewise.
57167         * modules/utimens (Makefile.am): Likewise.
57168         * modules/vasnprintf (Makefile.am): Likewise.
57169         * modules/vasprintf (Makefile.am): Likewise.
57170         * modules/vsnprintf (Makefile.am): Likewise.
57171         * modules/xalloc (Makefile.am): Likewise.
57172         * modules/xgetcwd (Makefile.am): Likewise.
57173         * modules/xnanosleep (Makefile.am): Likewise.
57174         * modules/xreadlink (Makefile.am): Likewise.
57175         * modules/xstrtod (Makefile.am): Likewise.
57176         * modules/xstrtol (Makefile.am): Likewise.
57177         * modules/xstrtold (Makefile.am): Likewise.
57178         * modules/yesno (Makefile.am): Likewise.
57179         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
57180
57181 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
57182
57183         * modules/error (Makefile.am): Distribute files through
57184         EXTRA_DIST, not lib_SOURCES.
57185
57186 2006-10-12  Eric Blake  <ebb9@byu.net>
57187
57188         * modules/error (Makefile.am): Distribute files in /lib.
57189         * modules/obstack (Makefile.am): Likewise.
57190
57191 2006-10-12  Bruno Haible  <bruno@clisp.org>
57192
57193         * modules/acl (Makefile.am): Distribute all files in lib/ through
57194         EXTRA_DIST.
57195         * modules/arcfour (Makefile.am): Likewise.
57196         * modules/arctwo (Makefile.am): Likewise.
57197         * modules/argmatch (Makefile.am): Likewise.
57198         * modules/argz (Makefile.am): Likewise.
57199         * modules/atexit (Makefile.am): Likewise.
57200         * modules/backupfile (Makefile.am): Likewise.
57201         * modules/c-strtod (Makefile.am): Likewise.
57202         * modules/c-strtold (Makefile.am): Likewise.
57203         * modules/calloc (Makefile.am): Likewise.
57204         * modules/canon-host (Makefile.am): Likewise.
57205         * modules/canonicalize (Makefile.am): Likewise.
57206         * modules/chdir-long (Makefile.am): Likewise.
57207         * modules/chdir-safer (Makefile.am): Likewise.
57208         * modules/check-version (Makefile.am): Likewise.
57209         * modules/chown (Makefile.am): Likewise.
57210         * modules/cloexec (Makefile.am): Likewise.
57211         * modules/close-stream (Makefile.am): Likewise.
57212         * modules/closeout (Makefile.am): Likewise.
57213         * modules/crc (Makefile.am): Likewise.
57214         * modules/cycle-check (Makefile.am): Likewise.
57215         * modules/des (Makefile.am): Likewise.
57216         * modules/dirfd (Makefile.am): Likewise.
57217         * modules/dirname (Makefile.am): Likewise.
57218         * modules/dup2 (Makefile.am): Likewise.
57219         * modules/euidaccess (Makefile.am): Likewise.
57220         * modules/exclude (Makefile.am): Likewise.
57221         * modules/exitfail (Makefile.am): Likewise.
57222         * modules/fcntl-safer (Makefile.am): Likewise.
57223         * modules/file-type (Makefile.am): Likewise.
57224         * modules/fileblocks (Makefile.am): Likewise.
57225         * modules/filemode (Makefile.am): Likewise.
57226         * modules/filenamecat (Makefile.am): Likewise.
57227         * modules/fnmatch (Makefile.am): Likewise.
57228         * modules/fopen-safer (Makefile.am): Likewise.
57229         * modules/fpending (Makefile.am): Likewise.
57230         * modules/fprintftime (Makefile.am): Likewise.
57231         * modules/free (Makefile.am): Likewise.
57232         * modules/fsusage (Makefile.am): Likewise.
57233         * modules/ftruncate (Makefile.am): Likewise.
57234         * modules/fts (Makefile.am): Likewise.
57235         * modules/gc (Makefile.am): Likewise.
57236         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
57237         * modules/getaddrinfo (Makefile.am): Likewise.
57238         * modules/getcwd (Makefile.am): Likewise.
57239         * modules/getdelim (Makefile.am): Likewise.
57240         * modules/getdomainname (Makefile.am): Likewise.
57241         * modules/getgroups (Makefile.am): Likewise.
57242         * modules/gethostname (Makefile.am): Likewise.
57243         * modules/gethrxtime (Makefile.am): Likewise.
57244         * modules/getline (Makefile.am): Likewise.
57245         * modules/getloadavg (Makefile.am): Likewise.
57246         * modules/getlogin_r (Makefile.am): Likewise.
57247         * modules/getopt (Makefile.am): Likewise.
57248         * modules/getpass (Makefile.am): Likewise.
57249         * modules/getpass-gnu (Makefile.am): Likewise.
57250         * modules/getsubopt (Makefile.am): Likewise.
57251         * modules/gettime (Makefile.am): Likewise.
57252         * modules/gettimeofday (Makefile.am): Likewise.
57253         * modules/getugroups (Makefile.am): Likewise.
57254         * modules/getusershell (Makefile.am): Likewise.
57255         * modules/glob (Makefile.am): Likewise.
57256         * modules/group-member (Makefile.am): Likewise.
57257         * modules/hard-locale (Makefile.am): Likewise.
57258         * modules/hash (Makefile.am): Likewise.
57259         * modules/hmac-md5 (Makefile.am): Likewise.
57260         * modules/hmac-sha1 (Makefile.am): Likewise.
57261         * modules/human (Makefile.am): Likewise.
57262         * modules/idcache (Makefile.am): Likewise.
57263         * modules/imaxabs (Makefile.am): Likewise.
57264         * modules/imaxdiv (Makefile.am): Likewise.
57265         * modules/inet_ntop (Makefile.am): Likewise.
57266         * modules/inet_pton (Makefile.am): Likewise.
57267         * modules/inttostr (Makefile.am): Likewise.
57268         * modules/isapipe (Makefile.am): Likewise.
57269         * modules/lchown (Makefile.am): Likewise.
57270         * modules/long-options (Makefile.am): Likewise.
57271         * modules/lstat (Makefile.am): Likewise.
57272         * modules/malloc (Makefile.am): Likewise.
57273         * modules/mathl (Makefile.am): Likewise.
57274         * modules/mbchar (Makefile.am): Likewise.
57275         * modules/md2 (Makefile.am): Likewise.
57276         * modules/md4 (Makefile.am): Likewise.
57277         * modules/md5 (Makefile.am): Likewise.
57278         * modules/memcasecmp (Makefile.am): Likewise.
57279         * modules/memchr (Makefile.am): Likewise.
57280         * modules/memcmp (Makefile.am): Likewise.
57281         * modules/memcoll (Makefile.am): Likewise.
57282         * modules/memcpy (Makefile.am): Likewise.
57283         * modules/memmem (Makefile.am): Likewise.
57284         * modules/memmove (Makefile.am): Likewise.
57285         * modules/mempcpy (Makefile.am): Likewise.
57286         * modules/memrchr (Makefile.am): Likewise.
57287         * modules/memset (Makefile.am): Likewise.
57288         * modules/memxor (Makefile.am): Likewise.
57289         * modules/mkancesdirs (Makefile.am): Likewise.
57290         * modules/mkdir (Makefile.am): Likewise.
57291         * modules/mkdir-p (Makefile.am): Likewise.
57292         * modules/mkdtemp (Makefile.am): Likewise.
57293         * modules/mkstemp (Makefile.am): Likewise.
57294         * modules/mktime (Makefile.am): Likewise.
57295         * modules/modechange (Makefile.am): Likewise.
57296         * modules/mountlist (Makefile.am): Likewise.
57297         * modules/nanosleep (Makefile.am): Likewise.
57298         * modules/openat (Makefile.am): Likewise.
57299         * modules/pagealign_alloc (Makefile.am): Likewise.
57300         * modules/physmem (Makefile.am): Likewise.
57301         * modules/poll (Makefile.am): Likewise.
57302         * modules/posixtm (Makefile.am): Likewise.
57303         * modules/posixver (Makefile.am): Likewise.
57304         * modules/putenv (Makefile.am): Likewise.
57305         * modules/quote (Makefile.am): Likewise.
57306         * modules/quotearg (Makefile.am): Likewise.
57307         * modules/raise (Makefile.am): Likewise.
57308         * modules/read-file (Makefile.am): Likewise.
57309         * modules/readline (Makefile.am): Likewise.
57310         * modules/readlink (Makefile.am): Likewise.
57311         * modules/readtokens (Makefile.am): Likewise.
57312         * modules/readutmp (Makefile.am): Likewise.
57313         * modules/realloc (Makefile.am): Likewise.
57314         * modules/regex (Makefile.am): Likewise.
57315         * modules/rename (Makefile.am): Likewise.
57316         * modules/rename-dest-slash (Makefile.am): Likewise.
57317         * modules/rijndael (Makefile.am): Likewise.
57318         * modules/rmdir (Makefile.am): Likewise.
57319         * modules/rpmatch (Makefile.am): Likewise.
57320         * modules/safe-read (Makefile.am): Likewise.
57321         * modules/safe-write (Makefile.am): Likewise.
57322         * modules/same (Makefile.am): Likewise.
57323         * modules/save-cwd (Makefile.am): Likewise.
57324         * modules/savedir (Makefile.am): Likewise.
57325         * modules/setenv (Makefile.am): Likewise.
57326         * modules/settime (Makefile.am): Likewise.
57327         * modules/sha1 (Makefile.am): Likewise.
57328         * modules/sig2str (Makefile.am): Likewise.
57329         * modules/snprintf (Makefile.am): Likewise.
57330         * modules/stdlib-safer (Makefile.am): Likewise.
57331         * modules/stpcpy (Makefile.am): Likewise.
57332         * modules/stpncpy (Makefile.am): Likewise.
57333         * modules/strcase (Makefile.am): Likewise.
57334         * modules/strcasestr (Makefile.am): Likewise.
57335         * modules/strchrnul (Makefile.am): Likewise.
57336         * modules/strcspn (Makefile.am): Likewise.
57337         * modules/strdup (Makefile.am): Likewise.
57338         * modules/strerror (Makefile.am): Likewise.
57339         * modules/strftime (Makefile.am): Likewise.
57340         * modules/strndup (Makefile.am): Likewise.
57341         * modules/strnlen (Makefile.am): Likewise.
57342         * modules/strpbrk (Makefile.am): Likewise.
57343         * modules/strsep (Makefile.am): Likewise.
57344         * modules/strstr (Makefile.am): Likewise.
57345         * modules/strtod (Makefile.am): Likewise.
57346         * modules/strtoimax (Makefile.am): Likewise.
57347         * modules/strtok_r (Makefile.am): Likewise.
57348         * modules/strtol (Makefile.am): Likewise.
57349         * modules/strtoll (Makefile.am): Likewise.
57350         * modules/strtoul (Makefile.am): Likewise.
57351         * modules/strtoull (Makefile.am): Likewise.
57352         * modules/strtoumax (Makefile.am): Likewise.
57353         * modules/strverscmp (Makefile.am): Likewise.
57354         * modules/time_r (Makefile.am): Likewise.
57355         * modules/timegm (Makefile.am): Likewise.
57356         * modules/tmpfile-safer (Makefile.am): Likewise.
57357         * modules/unistd-safer (Makefile.am): Likewise.
57358         * modules/unlinkdir (Makefile.am): Likewise.
57359         * modules/userspec (Makefile.am): Likewise.
57360         * modules/utime (Makefile.am): Likewise.
57361         * modules/utimecmp (Makefile.am): Likewise.
57362         * modules/utimens (Makefile.am): Likewise.
57363         * modules/vasnprintf (Makefile.am): Likewise.
57364         * modules/vasprintf (Makefile.am): Likewise.
57365         * modules/vsnprintf (Makefile.am): Likewise.
57366         * modules/xalloc (Makefile.am): Likewise.
57367         * modules/xgetcwd (Makefile.am): Likewise.
57368         * modules/xnanosleep (Makefile.am): Likewise.
57369         * modules/xreadlink (Makefile.am): Likewise.
57370         * modules/xstrtod (Makefile.am): Likewise.
57371         * modules/xstrtol (Makefile.am): Likewise.
57372         * modules/xstrtold (Makefile.am): Likewise.
57373         * modules/yesno (Makefile.am): Likewise.
57374
57375 2006-10-12  Jim Meyering  <jim@meyering.net>
57376
57377         * m4/getloadavg.m4: Revert the change below.
57378
57379         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
57380         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
57381         fail with a symlink, which is what coreutils' ./bootstrap now
57382         creates by default.
57383
57384 2006-10-12  Bruno Haible  <bruno@clisp.org>
57385
57386         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
57387         mingw.
57388         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
57389         MSVC and mingw explicitly.
57390
57391 2006-10-11  Simon Josefsson  <jas@extundo.com>
57392             Bruno Haible  <bruno@clisp.org>
57393
57394         Add support for multiple gnulib-tool invocations in the scope of a
57395         single configure.ac file.
57396         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
57397         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
57398         with the same contents as the _LIBADD variable.
57399         (func_emit_initmacro_start, func_emit_initmacro_end,
57400         func_emit_initmacro_done): New functions.
57401         (func_import, func_create_testdir): Invoke them. Allow the identifiers
57402         gl_LIBOBJS and gl_LTLIBOBJS.
57403
57404 2006-10-11  Bruno Haible  <bruno@clisp.org>
57405
57406         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
57407         (func_create_testdir): Don't create po/Makefile.am, don't invoke
57408         autoreconf. Instead, invoke autopoint explicitly but move back the
57409         *.m4 files from gnulib.
57410
57411 2006-10-11  Bruno Haible  <bruno@clisp.org>
57412
57413         * gnulib-tool (func_usage): Make module names after --create-testdir
57414         optional.
57415         (func_create_testdir): If no module was specified, use nearly all
57416         modules.
57417
57418 2006-10-12  Jim Meyering  <jim@meyering.net>
57419
57420         Big performance improvement for fts-based tools that use FTS_NOSTAT.
57421         Avoid spurious inode-mismatch problems on non-POSIX file systems.
57422         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
57423         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
57424         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
57425         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
57426         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
57427         (fts_set_stat_required): New function.
57428         (fts_open): Defer the calls to fts_stat, if possible or requested.
57429         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
57430         into fts_stat itself.
57431         (fts_read): Perform any required (deferred) fts_stat call.
57432         (fts_build): Likewise, for the directory we're about to open and read.
57433         In the readdir loop, carefully decide whether each entry will require
57434         an eventual call to fts_stat, using dirent.d_type info if available.
57435         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
57436         a command line argument into this function.  Update all callers.
57437         Map a return value of FTS_DOT to FTS_D for a command line argument.
57438         * modules/fts (Depends-on): Add d-type.  Alphabetize.
57439         Thanks to Miklos Szeredi for his tenacity and for the initial
57440         bug report about "find" failing on a FUSE-based file system.
57441
57442         * lib/fts.c (fts_open): Use consistent indentation.
57443
57444 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
57445
57446         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
57447         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
57448         reported by Jim Meyering.  All uses of cache variables renamed
57449         to match Autoconf's.
57450         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
57451         the other one.
57452
57453         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
57454         Fix misspelling in diagnostic.
57455
57456 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
57457
57458         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
57459         defined.  Problem reported by Matthew Woehlke.
57460
57461         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
57462         Add support for Tandem NonStop R series.
57463         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
57464         Use new macro.
57465
57466         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
57467         (has_trailing_slash): Omit size arg; all callers changed.
57468         Omit 'inline', since it doesn't help performance and we'd
57469         need to configure it.
57470         Don't count //, ///, etc. as having a trailing slash.
57471         As a side effect, this removes a C99ism reported by Matthew Woehlke.
57472         (rpl_rename_dest_slash): On failure, use rename's errno rather
57473         than (in some cases) an incorrect or junk errno.
57474         Simplify code by removing need to compute length; this does
57475         cause it to make two passes instead of one over the file name,
57476         but it's worth it.
57477
57478         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
57479         change, since Autoconf's version may no longer be appropriate now
57480         that we are using CVS Autoconf's version.  Add support for Tandem.
57481
57482 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
57483             Bruno Haible  <bruno@clisp.org>
57484
57485         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
57486         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
57487         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
57488         gl_AC_TYPE_LONG_LONG.
57489
57490         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
57491         instead of HAVE_LONG_LONG.
57492         * lib/printf-args.c (printf_fetchargs): Likewise.
57493         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
57494         * lib/vasnprintf.c (VASNPRINTF): Likewise.
57495         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
57496         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
57497         gl_AC_TYPE_LONG_LONG.
57498
57499 2006-10-11  Bruno Haible  <bruno@clisp.org>
57500
57501         * m4/longlong.m4: Add comments.
57502         * m4/ulonglong.m4: Likewise.
57503
57504 2006-10-10  Bruno Haible  <bruno@clisp.org>
57505
57506         Make it possible to #define stpcpy, strdup to aliases.
57507         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
57508         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
57509
57510 2006-10-10  Bruno Haible  <bruno@clisp.org>
57511
57512         Make it possible to #define gcd to an alias.
57513         * lib/gcd.c: Include config.h.
57514
57515 2006-10-10  Bruno Haible  <bruno@clisp.org>
57516
57517         Make it possible to #define c_isascii to an alias.
57518         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
57519         defined. Undefine the macros before defining them, to avoid gcc
57520         warnings.
57521         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
57522         define NO_C_CTYPE_MACROS early.
57523
57524 2006-10-10  Bruno Haible  <bruno@clisp.org>
57525
57526         Make it possible to #define set_program_name to an alias.
57527         * lib/progname.c: Don't undefine set_program_name; instead, undefine
57528         ENABLE_RELOCATABLE early.
57529
57530 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
57531
57532         Port to Tandem NSK OSS, which has 64-bit signed int but at most
57533         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
57534         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
57535         More generally, don't assume that 64-bit signed int is available
57536         if unsigned int is, and vice versa.
57537         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
57538         unsigned symbols, not on their signed counterparts.
57539         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
57540         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
57541         (UINT64_C, UINTMAX_C):
57542         Likewise.
57543         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
57544         unsigned counterparts.
57545         (Have_long_long, Unsigned): New macros.
57546         (Int): Renamed from INT.
57547         (strtoimax): Use the new macros.
57548         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
57549         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
57550         * modules/inttypes (inttypes.h): Substitute
57551         HAVE_UNSIGNED_LONG_LONG_INT.
57552         * modules/stdint (stdint.h): Likewise.
57553         (Files): Add m4/ulonglong.m4.
57554
57555 2006-10-10  Bruno Haible  <bruno@clisp.org>
57556
57557         Fix a gcc -Wshadow warning.
57558         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
57559         to 'bucket'.
57560         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
57561         gl_linked_indexof_from_to): Likewise.
57562         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
57563         Likewise.
57564         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
57565         Likewise.
57566         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
57567         Reported by Eric Blake.
57568
57569 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
57570
57571         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
57572         for NetBSD.  Problem reported by Bruno Haible.
57573
57574 2006-10-09  Jim Meyering  <jim@meyering.net>
57575
57576         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
57577         Patch from Bruno Haible.
57578
57579 2006-10-09  Jim Meyering  <jim@meyering.net>
57580
57581         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
57582         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
57583         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
57584
57585 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
57586
57587         Don't include <config.h> twice; this doesn't work in some cases,
57588         e.g., when config.h has "#define intmax_t long long int" and
57589         we include <config.h>, <inttypes.h>, <config.h> in that order.
57590         Problem reported by Matthew Woehlke in:
57591         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
57592         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
57593         * lib/fts-cycle.c: Don't include config.h.
57594         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
57595         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
57596         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
57597         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
57598         inttypes.h.
57599         * lib/xstrtoumax.c: Likewise.
57600         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
57601         __strtol and the like, so that this module is more like its siblings.
57602         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
57603         Remove; no longer needed now that we assume gnulib inttypes.h.
57604
57605 2006-10-08  Bruno Haible  <bruno@clisp.org>
57606
57607         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
57608         option.
57609
57610 2006-10-07  Jim Meyering  <jim@meyering.net>
57611
57612         * modules/inttypes (inttypes.h): Revert what seems to have been
57613         an inadvertent part of today's change: use "|", not "/" in the
57614         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
57615
57616 2006-10-07  Bruno Haible  <bruno@clisp.org>
57617
57618         * modules/sublist: New file.
57619
57620 2006-10-07  Bruno Haible  <bruno@clisp.org>
57621
57622         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
57623         * modules/argz (argz.h): Likewise.
57624         * modules/arpa_inet (arpa/inet.h): Likewise.
57625         * modules/byteswap (byteswap.h): Likewise.
57626         * modules/configmake (configmake.h): Likewise.
57627         * modules/fcntl (fcntl.h): Likewise.
57628         * modules/fnmatch (fnmatch.h): Likewise.
57629         * modules/getopt (getopt.h): Likewise.
57630         * modules/glob (glob.h): Likewise.
57631         * modules/inttypes (inttypes.h): Likewise.
57632         * modules/netinet_in (netinet/in.h): Likewise.
57633         * modules/poll (poll.h): Likewise.
57634         * modules/stdbool (stdbool.h): Likewise.
57635         * modules/stdint (stdint.h): Likewise.
57636         * modules/sys_select (sys/select.h): Likewise.
57637         * modules/sys_socket (sys/socket.h): Likewise.
57638         * modules/sys_stat (sys/stat.h): Likewise.
57639         * modules/sysexits (sysexits.h): Likewise.
57640         * modules/unistd (unistd.h): Likewise.
57641         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
57642         Add a "DO NOT EDIT" comment to the generated file.
57643         (func_import): Likewise for gnulib-comp.m4.
57644
57645 2006-10-07  Bruno Haible  <bruno@clisp.org>
57646
57647         * lib/gl_sublist.h: New file.
57648         * lib/gl_sublist.c: New file.
57649
57650 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
57651
57652         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
57653         name (relative to the original working directory) and the file
57654         name component (relative to the temporary working directory).  All
57655         callers changed.
57656         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
57657         * lib/mkdir-p.c (make_dir_parents): Likewise.
57658         * lib/mkdir-p.h (make_dir_parents): Likewise.
57659
57660 2006-10-06  Eric Blake  <ebb9@byu.net>
57661
57662         Define several macros for use by the clean-temp module.
57663         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
57664         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
57665         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
57666
57667         * lib/clean-temp.h (close_stream_temp): New declaration.
57668         * lib/clean-temp.c (includes): Pull in headers according to what
57669         other modules are in use.
57670         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
57671
57672 2006-10-06  Bruno Haible  <bruno@clisp.org>
57673
57674         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
57675         instead of fopen, fwriteerror.
57676
57677 2006-10-06  Bruno Haible  <bruno@clisp.org>
57678
57679         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
57680         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
57681         int.
57682         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
57683         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
57684         Return an error indicator.
57685         Suggested by Eric Blake.
57686
57687 2006-10-06  Bruno Haible  <bruno@clisp.org>
57688
57689         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
57690         Reported by Eric Blake.
57691
57692 2006-10-06  Bruno Haible  <bruno@clisp.org>
57693
57694         * modules/closeout (Description): Mention stderr too.
57695
57696 2006-10-06  Bruno Haible  <bruno@clisp.org>
57697         and Paul Eggert  <eggert@cs.ucla.edu>
57698
57699         * lib/closeout.c (close_stdout): Also close stderr.
57700         * lib/closeout.h: Update comment.
57701
57702 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
57703
57704         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
57705         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
57706         * lib/dirchownmod.c: Include lchown.h.
57707         * lib/lchown.c: Don't include files that lchown.h now includes.
57708         Don't declare chown, since lchown.h now does that.
57709         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
57710         (lchown): Define to rpl_chown if lchown is declared but
57711         does not exist.  Declare using a prototype if lchown is not
57712         declared.  Add a copyright notice.
57713         * lib/mkstemp.h: Include <unistd.h>.
57714         * lib/openat.c: Include lchown.h.
57715
57716         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
57717         we now test for that separately.
57718         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
57719         rather than O_NOFOLLOW, when testing whether it's possible to
57720         avoid a race condition reliably.
57721         * lib/savewd.c (savewd_chdir): Likewise.
57722
57723         Remove macros that are no longer needed now that stdint.h is
57724         reliable.
57725         * lib/fsusage.c (UINTMAX_MAX): Remove.
57726         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
57727         * lib/utimecmp.c (SIZE_MAX): Remove.
57728
57729         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
57730
57731         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
57732         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
57733         O_NOATIME works.
57734
57735 2006-10-05  Bruno Haible  <bruno@clisp.org>
57736
57737         * lib/gl_list.h (gl_sortedlist_search_from_to,
57738         gl_sortedlist_indexof_from_to): New declarations.
57739         (gl_list_implementation): New fields sortedlist_search_from_to,
57740         sortedlist_indexof_from_to.
57741         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
57742         inline functions.
57743         * lib/gl_list.c (gl_sortedlist_search_from_to,
57744         gl_sortedlist_indexof_from_to): New functions.
57745         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
57746         function.
57747         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
57748         (gl_array_sortedlist_search_from_to): New function.
57749         (gl_array_list_implementation): Update.
57750         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
57751         function.
57752         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
57753         (gl_carray_sortedlist_search_from_to): New function.
57754         (gl_carray_list_implementation): Update.
57755         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
57756         gl_linked_sortedlist_indexof_from_to): New functions.
57757         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
57758         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
57759         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
57760         gl_tree_sortedlist_indexof_from_to): New functions.
57761         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
57762         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
57763         Update.
57764         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
57765         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
57766         Update.
57767
57768 2006-10-05  Bruno Haible  <bruno@clisp.org>
57769
57770         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
57771         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
57772         (struct gl_list_implementation): Add fields search_from_to,
57773         indexof_from_to. Remove fields search, indexof.
57774         (gl_list_search): Use the search_from_to method.
57775         (gl_list_search_from, gl_list_search_from_to): New functions.
57776         (gl_list_indexof): Use the indexof_from_to method.
57777         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
57778         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
57779         (gl_list_search_from, gl_list_search_from_to): New functions.
57780         (gl_list_indexof): Use the indexof_from_to method.
57781         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
57782         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
57783         gl_array_indexof. Add start_index, end_index arguments.
57784         (gl_array_search_from_to): Renamed from gl_array_search. Add
57785         start_index, end_index arguments.
57786         (gl_array_remove, gl_array_list_implementation): Update.
57787         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
57788         gl_carray_indexof. Add start_index, end_index arguments.
57789         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
57790         start_index, end_index arguments.
57791         (gl_carray_remove, gl_carray_list_implementation): Update.
57792         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
57793         gl_linked_search. Add start_index, end_index arguments.
57794         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
57795         start_index, end_index arguments.
57796         (gl_linked_remove): Update.
57797         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
57798         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
57799         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
57800         field to 'size_t'.
57801         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
57802         gl_tree_search. Add start_index, end_index arguments.
57803         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
57804         start_index, end_index arguments.
57805         (gl_tree_remove): Update.
57806         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
57807         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
57808         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
57809         function.
57810         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
57811         gl_tree_search. Add start_index, end_index arguments.
57812         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
57813         start_index, end_index arguments.
57814         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
57815         Update.
57816         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
57817
57818 2006-10-05  Bruno Haible  <bruno@clisp.org>
57819
57820         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
57821
57822         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
57823         fwriteerror_temp): New declarations.
57824         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
57825         (descriptors): New variable.
57826         (cleanup): First, close the descriptors.
57827         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
57828         fclose_temp, fwriteerror_temp): New functions.
57829
57830 2006-10-04  Jim Meyering  <jim@meyering.net>
57831
57832         * lib/fts.c (fts_open): Tiny comment change.
57833
57834 2006-10-04  Bruno Haible  <bruno@clisp.org>
57835
57836         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
57837         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
57838         gl_LOCK_BODY.
57839         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
57840         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
57841         gl_LOCK_EARLY_BODY.
57842         (gl_LOCK): Require gl_LOCK_BODY.
57843
57844 2006-10-04  Bruno Haible  <bruno@clisp.org>
57845
57846         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
57847         (gl_oset_search_atleast): New declaration.
57848         (struct gl_oset_implementation): Add field 'search_atleast'.
57849         (gl_oset_search_atleast): New inline function.
57850         * lib/gl_oset.c (gl_oset_search_atleast): New function.
57851         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
57852         (gl_array_oset_implementation): Update.
57853         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
57854         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
57855         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
57856
57857 2006-10-04  Bruno Haible  <bruno@clisp.org>
57858
57859         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
57860
57861 2006-10-03  Bruno Haible  <bruno@clisp.org>
57862
57863         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
57864         from gl_avltreehash_list_implementation.
57865
57866 2006-10-03  Bruno Haible  <bruno@clisp.org>
57867
57868         * lib/gl_oset.c (gl_oset_add): Fix return type.
57869
57870 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
57871
57872         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
57873
57874 2006-10-02  Eric Blake  <ebb9@byu.net>
57875
57876         * modules/strnlen (Depends-on): Add extensions.
57877
57878 2006-10-02  Eric Blake  <ebb9@byu.net>
57879
57880         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
57881         definition in 2.60+.
57882
57883 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
57884
57885         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
57886         checks.
57887
57888 2006-10-02  Bruno Haible  <bruno@clisp.org>
57889
57890         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
57891         to the AUTOMAKE_OPTIONS.
57892         Reported by Jim Meyering.
57893
57894 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
57895
57896         Work around bug in Solaris 10 /proc file system:
57897         /proc/self/fd/NNN/.. isn't the parent directory of
57898         the directory whose file descriptor is NNN.  This needs to
57899         be worked around at run time, not compile time, since a
57900         program might be built on Solaris 8, where things work, and
57901         run on Solaris 10.
57902         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
57903         to use the following interface instead:
57904         (OPENAT_BUFFER_SIZE): New macro.
57905         (openat_proc_name): New function.
57906         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
57907         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
57908         Likewise.
57909         * lib/openat-proc.c: New file.
57910         * modules/openat (Files): Add lib/openat-proc.c.
57911         (Depends-on): Add same-inode, stdbool.
57912         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
57913
57914 2006-09-29  Bruno Haible  <bruno@clisp.org>
57915
57916         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
57917         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
57918         argument. Set stdout_closed before testing for ferror, not after.
57919         (fwriteerror, fwriteerror_no_ebadf): New functions.
57920
57921 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57922
57923         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
57924
57925 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
57926
57927         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
57928         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
57929
57930 2006-09-28  Jim Meyering  <jim@meyering.net>
57931
57932         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
57933         Include <unistd.h>.
57934
57935 2006-09-28  Bruno Haible  <bruno@clisp.org>
57936
57937         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
57938         * modules/linkedhash-list (Depends-on): Likewise.
57939         * modules/rbtreehash-list (Depends-on): Likewise.
57940
57941 2006-09-28  Bruno Haible  <bruno@clisp.org>
57942
57943         * lib/strndup.h: Simplify the redefinition of strndup.
57944         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
57945         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
57946
57947 2006-09-28  Bruno Haible  <bruno@clisp.org>
57948
57949         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
57950         * lib/gl_linkedhash_list.c: Likewise.
57951         * lib/gl_rbtreehash_list.c: Likewise.
57952
57953 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
57954
57955         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
57956         getaddrinfo.
57957
57958         * lib/__fpending.h: Don't include <stdio_ext.h> unless
57959         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
57960         it causes <stdio_ext.h> to cause a compile-time error.
57961         Problem reported by Nelson H. F. Beebe.
57962         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
57963         of HAVE_DECL___PENDING.
57964
57965         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
57966         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
57967         declaration.
57968
57969 2006-09-27  Jim Meyering  <jim@meyering.net>
57970
57971         This file could end up with a definition for a function
57972         named __strndup, rather than rpl_strndup on a system with
57973         incomplete weak_alias support.
57974         * lib/strndup.c (strndup): Rename from __strndup.
57975         Remove #defines that used to map __strndup to strndup.
57976         Don't use K&R prototypes.
57977         Remove LIBC-related code, since this file is not sync'd with glibc.
57978         * lib/strndup.h: Revamp, accordingly.
57979         * m4/strndup.m4: Modernize.
57980
57981 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
57982
57983         * modules/savewd (Depends-on): Add 'raise'.
57984         * lib/savewd.c: Include <signal.h>, for 'raise'.
57985
57986 2006-09-26  Jim Meyering  <jim@meyering.net>
57987
57988         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
57989         when we detect Darwin 8.7.0's acl_get_file bug.
57990         Rearrange to perform the new (below) run-test while $LIBS
57991         contains any acl-related library.  Set USE_ACL at the end.
57992         (gl_ACL_GET_FILE): New function.
57993
57994 2006-09-26  Eric Blake  <ebb9@byu.net>
57995
57996         * lib/verror.c: Include <config.h> unconditionally.
57997
57998 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
57999
58000         * modules/clock-time (Maintainer): Add self.
58001         * modules/getlogin_r (Depends-on): Add extensions.
58002
58003 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58004
58005         * modules/clock-time: New module.
58006         * modules/nanosleep (Depends-on): Add clock-time.
58007         * modules/gethrxtime (Depends-on): Likewise.
58008         * modules/gettime (Depends-on): Likewise.
58009         * modules/settime (Depends-on): Likewise.
58010
58011         * modules/fts-lgpl: Depend on openat.
58012         * modules/mkancesdirs: Depend on savewd.
58013         * modules/mkdir-p: Likewise.
58014
58015 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58016
58017         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
58018
58019         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
58020         `gl_have_arbitrary_file_name_length_limit' to
58021         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
58022         actually works between configure runs.
58023
58024 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58025             Bruno Haible  <bruno@clisp.org>
58026
58027         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
58028
58029 2006-09-25  Jim Meyering  <jim@meyering.net>
58030
58031         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
58032         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
58033
58034 2006-09-25  Eric Blake  <ebb9@byu.net>
58035
58036         * gnulib-tool (func_import, func_create_testdir): Fix typos in
58037         exec's in 2006-09-18 patch when shuffling fds.
58038
58039 2006-09-25  Bruno Haible  <bruno@clisp.org>
58040
58041         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
58042         Reported by Jim Meyering.
58043
58044 2006-09-24  Jim Meyering  <jim@meyering.net>
58045
58046         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
58047         compare a pointer against a literal "0".  That caused failures with
58048         at least HP-UX's hpcc.
58049
58050 2006-09-22  Simon Josefsson  <jas@extundo.com>
58051
58052         * modules/gc-sha1:
58053         * modules/gc-md4:
58054         * modules/gc-hmac-sha1:
58055         * modules/gc-hmac-md5:
58056         * modules/gc-des:
58057         * modules/gc-arcfour: Distribute more files.
58058
58059 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58060
58061         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
58062         (gl_linked_iterator_from_to): Initialize struct completely.
58063         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
58064         (gl_tree_iterator_from_to): Likewise
58065         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
58066         * lib/gl_array_list.c [lint] (gl_array_iterator)
58067         (gl_array_iterator_from_to): Likewise.
58068         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
58069         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
58070         (gl_carray_iterator_from_to): Likewise.
58071
58072         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
58073         * lib/md4.c (md4_process_block): Remove unused variable.
58074         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
58075         parentheses for clarity.
58076
58077 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58078
58079         * modules/bison-i18n (Depends-on): Add gettext.
58080
58081 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58082
58083         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
58084         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
58085         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
58086         also add missing comma that caused broken test.
58087         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
58088         stdlib.h, for `abort'.
58089         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
58090         variables.
58091         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
58092         include unistd.h if present, for `rmdir'.
58093         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
58094         variables.
58095         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
58096         in the process include standard headers for prototypes.
58097         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
58098         gets declared on GNU/Linux.
58099         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
58100         unistd.h, for `rmdir'.
58101         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
58102
58103         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
58104         always true.
58105         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
58106
58107         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
58108
58109 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58110
58111         * gnulib-tool (func_version): Create output all at once.  This
58112         may help avoid triggering unnecessary SIGPIPEs, and at any
58113         rate it doesn't hurt.
58114
58115 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58116             Bruno Haible  <bruno@clisp.org>
58117
58118         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
58119         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
58120         * m4/signed.m4 (bh_C_SIGNED): Likewise.
58121
58122         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
58123         (gl_FUNC_VASPRINTF): Invoke it.
58124
58125 2006-09-22  Bruno Haible  <bruno@clisp.org>
58126
58127         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
58128         getloadavg.c as first argument.
58129
58130 2006-09-22  Bruno Haible  <bruno@clisp.org>
58131
58132         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
58133         at the beginning of the gl_INIT macro.
58134         * modules/getloadavg (configure.ac): Pass $gl_source_base to
58135         gl_GETLOADAVG.
58136
58137 2006-09-22  Bruno Haible  <bruno@clisp.org>
58138
58139         * gnulib-tool (func_create_megatestdir): Don't include the config-h
58140         module.
58141         Suggested by Ralf Wildenhues.
58142
58143 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
58144
58145         Import this patch from libc:
58146
58147         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
58148
58149         * lib/regex_internal.c (re_string_reconstruct): Handle
58150         offset < pstr->valid_raw_len && pstr->offsets_needed case.
58151         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
58152         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
58153         re_string_context_at.
58154
58155         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
58156         now requires it.
58157         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
58158         gl_REGEX now does it for us.
58159         (gl_REGEX): Add test taken from
58160         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
58161
58162         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
58163         Check that large offsets work.  Modernize Autoconf usages.
58164         Prefer "yes" to mean a good thing rather than a bad.
58165         Don't put "#define mkstemp" in config.h, as this might interfere
58166         with standard system headers that "#define mkstemp mkstemp64".
58167
58168         * modules/mkstemp (Depends-on): Add extensions, so that
58169         mkstemp is visible on some platforms.
58170         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
58171         (Include): Change to "mkstemp.h" from <stdlib.h>.
58172         (Files): Add mkstemp.h.
58173
58174         * lib/mkstemp.h: New file, since some standard headers
58175         #define mkstemp.
58176         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
58177         Include "mkstemp.h".
58178         Make the _LIBC code resemble glibc original more,
58179         e.g., use K&R style.
58180         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
58181         (mkstemp): Remove, since mkstemp.h does this for us.
58182         * lib/stdlib--.h: Include mkstemp.h.
58183
58184         Import this patch from libc:
58185
58186         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
58187
58188         * lib/tempname.c (__gen_tempname): Change attempts_min
58189         into a macro.  Use preprocessor to decide how to initialize
58190         attempts [Coverity CID 67].
58191
58192 2006-09-20  Bruno Haible  <bruno@clisp.org>
58193
58194         * lib/mkdtemp.c: Import from libc.
58195         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
58196                 * sysdeps/posix/tempname.c (__gen_tempname): Change
58197                 attempts_min into a macro.  Use preprocessor to decide how to
58198                 initialize attempts [Coverity CID 67].
58199         2001-11-27  Paul Eggert  <eggert@twinsun.com>
58200                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
58201                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
58202
58203 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58204
58205         * gnulib-tool (func_exit): New function, to allow to pass the
58206         exit status portably through the trap.  Use everywhere.
58207         (--help, --version): Signal a write error.
58208         (trap): catch SIGPIPE, for write errors.
58209         Exit at the end of the trap, with the correct exit status.
58210
58211 2006-09-19  Karl Berry  <karl@gnu.org>
58212
58213         * doc/gnulib.texi: note about the license texinfo files.
58214
58215 2006-09-19  Eric Blake  <ebb9@byu.net>
58216
58217         * gnulib-tool: Avoid space-tab.
58218
58219 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
58220
58221         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
58222         that prevented coreutils 6.1 from building.  Problem reported
58223         by Petter Reinholdtsen.
58224
58225 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
58226
58227         * gnulib-tool (avoidlist): Fix typo that broke options like
58228         --avoid=lock that are used by coreutils bootstrap.
58229
58230 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
58231
58232         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
58233         more systematically.
58234
58235 2006-09-18  Jim Meyering  <jim@meyering.net>
58236
58237         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
58238
58239 2006-09-18  Bruno Haible  <bruno@clisp.org>
58240
58241         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
58242
58243 2006-09-18  Bruno Haible  <bruno@clisp.org>
58244
58245         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
58246         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
58247         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
58248         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
58249         * m4/gettext.m4: Require autoconf >= 2.52.
58250         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
58251         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
58252         of gl_cv_header_inttypes_h.
58253
58254 2006-09-18  Bruno Haible  <bruno@clisp.org>
58255
58256         * lib/javaversion.c: Include configmake.h.
58257
58258 2006-09-18  Bruno Haible  <bruno@clisp.org>
58259
58260         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
58261         avoid that the while loops be executed in a subshell.
58262
58263 2006-09-18  Bruno Haible  <bruno@clisp.org>
58264
58265         * MODULES.html.sh (func_module): Break long lines.
58266         Suggested by Bruce Korb <bkorb@gnu.org>.
58267
58268 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58269
58270         Speed up by a factor of 1.12.
58271         * gnulib-tool (nl): New variable.
58272         (func_import): Rewrite include directive extraction to only read each
58273         directive once.
58274
58275 2006-09-17  Bruno Haible  <bruno@clisp.org>
58276
58277         * modules/javaversion (Makefile.am): Remove DEFS setting.
58278         (Depends-on): Add configmake, for PKGDATADIR definition.
58279
58280 2006-09-17  Bruno Haible  <bruno@clisp.org>
58281
58282         * gnulib-tool (func_create_testdir): Rewrite all files at once.
58283
58284 2006-09-17  Bruno Haible  <bruno@clisp.org>
58285
58286         * gnulib-tool (func_append): New function, stolen from libtool.m4.
58287         (func_modules_transitive_closure, func_modules_add_dummy,
58288         func_modules_to_filelist, func_import, func_create_testdir,
58289         func_create_megatestdir, ...): Use it wherever possible.
58290         Suggested by Ralf Wildenhues.
58291
58292 2006-09-16  Karl Berry  <karl@gnu.org>
58293
58294         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
58295         to avoid sectioning errors.
58296         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
58297         [ifinfo]: blank line after @center-ed titles.
58298         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
58299         Spell FSF address consistently with others.
58300         (These changes approved by rms.)
58301
58302 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58303
58304         Speed up by a factor of 1.61.
58305         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
58306         already checked module names again.
58307
58308 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58309
58310         Speed up by a factor of 1.13.
58311         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
58312         for new_files, and the input to func_add_or_update.
58313
58314 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58315
58316         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
58317         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
58318
58319 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
58320
58321         * modules/mkancesdirs (Depends-on): Add fcntl.
58322         * modules/savewd: New file.
58323         * MODULES.html.sh (File system functions): Add savewd.
58324
58325         * modules/configmake (Makefile.am): Add support for the
58326         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
58327
58328 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
58329
58330         * m4/savewd.m4: New file.
58331
58332 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
58333
58334         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
58335         (dirchownmod): New arg FD.  All callers changed.
58336         Use FD rather than opening the directory ourself, as opening is
58337         now the caller's responsibility.
58338         * lib/dirchownmod.h: Likewise.
58339         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
58340         hosts that require <sys/types.h> before <sys/stat.h>.  Include
58341         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
58342         (test_dir): Remove.
58343         (mkancesdirs): Return length of prefix of FILE that has already
58344         been made, or -2 if there is a child doing the work.  Redo
58345         algorithm so that it is O(N) rather than O(N**2).  Optimize away
58346         ".", and treat ".." specially since it might stray back into
58347         already-created areas.  Use a subprocess if necessary.  New arg
58348         WD; all users changed.  MAKE_DIR function should now return 1
58349         if it creates a directory that is not readable.  Return -2 if
58350         a child process is spun off.
58351         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
58352         Adjust signature to match code.
58353         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
58354         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
58355         all users changed.
58356         * lib/savewd.c, lib/savewd.h: New files.
58357
58358 2006-09-15  Jim Meyering  <jim@meyering.net>
58359
58360         * modules/rename-dest-slash: New module.
58361         * MODULES.html.sh (posix_compat): Add it here.
58362
58363         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
58364
58365 2006-09-15  Jim Meyering  <jim@meyering.net>
58366
58367         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
58368         file.
58369
58370         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
58371
58372 2006-09-15  Jim Meyering  <jim@meyering.net>
58373
58374         * lib/rename-dest-slash.c (has_trailing_slash): Use
58375         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
58376         (rpl_rename_dest_slash): Perform the cheaper trailing slash
58377         test before testing whether SRC is a directory.
58378         Suggestions from Bruno Haible.
58379
58380         Avoid a warning about an unused variable.
58381         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
58382         into the #ifdef block where it's used.
58383
58384         * lib/rename-dest-slash.c: New file.
58385
58386 2006-09-14  Bruno Haible  <bruno@clisp.org>
58387
58388         * lib/allocsa.c: Include <config.h> unconditionally.
58389         * lib/asnprintf.c: Likewise.
58390         * lib/asprintf.c: Likewise.
58391         * lib/c-strcasecmp.c: Likewise.
58392         * lib/c-strcasestr.c: Likewise.
58393         * lib/c-strncasecmp.c: Likewise.
58394         * lib/c-strstr.c: Likewise.
58395         * lib/classpath.c: Likewise.
58396         * lib/clean-temp.c: Likewise.
58397         * lib/concatpath.c: Likewise.
58398         * lib/copy-file.c: Likewise.
58399         * lib/csharpcomp.c: Likewise.
58400         * lib/csharpexec.c: Likewise.
58401         * lib/execute.c: Likewise.
58402         * lib/fatal-signal.c: Likewise.
58403         * lib/findprog.c: Likewise.
58404         * lib/fwriteerror.c: Likewise.
58405         * lib/gl_array_list.c: Likewise.
58406         * lib/gl_array_oset.c: Likewise.
58407         * lib/gl_avltree_list.c: Likewise.
58408         * lib/gl_avltree_oset.c: Likewise.
58409         * lib/gl_avltreehash_list.c: Likewise.
58410         * lib/gl_carray_list.c: Likewise.
58411         * lib/gl_linked_list.c: Likewise.
58412         * lib/gl_linkedhash_list.c: Likewise.
58413         * lib/gl_list.c: Likewise.
58414         * lib/gl_oset.c: Likewise.
58415         * lib/gl_rbtree_list.c: Likewise.
58416         * lib/gl_rbtree_oset.c: Likewise.
58417         * lib/gl_rbtreehash_list.c: Likewise.
58418         * lib/imaxabs.c: Likewise.
58419         * lib/imaxdiv.c: Likewise.
58420         * lib/javacomp.c: Likewise.
58421         * lib/javaexec.c: Likewise.
58422         * lib/javaversion.c: Likewise.
58423         * lib/linebreak.c: Likewise.
58424         * lib/localcharset.c: Likewise.
58425         * lib/lock.c: Likewise.
58426         * lib/mbchar.c: Likewise.
58427         * lib/mbswidth.c: Likewise.
58428         * lib/mkdtemp.c: Likewise.
58429         * lib/pipe.c: Likewise.
58430         * lib/printf-args.c: Likewise.
58431         * lib/printf-parse.c: Likewise.
58432         * lib/progname.c: Likewise.
58433         * lib/progreloc.c: Likewise.
58434         * lib/readlink.c: Likewise.
58435         * lib/sh-quote.c: Likewise.
58436         * lib/stpcpy.c: Likewise.
58437         * lib/stpncpy.c: Likewise.
58438         * lib/strcasecmp.c: Likewise.
58439         * lib/strcasestr.c: Likewise.
58440         * lib/strcspn.c: Likewise.
58441         * lib/striconv.c: Likewise.
58442         * lib/strncasecmp.c: Likewise.
58443         * lib/strnlen1.c: Likewise.
58444         * lib/strstr.c: Likewise.
58445         * lib/strtok_r.c: Likewise.
58446         * lib/tls.c: Likewise.
58447         * lib/tmpdir.c: Likewise.
58448         * lib/unicodeio.c: Likewise.
58449         * lib/unsetenv.c: Likewise.
58450         * lib/vasnprintf.c: Likewise.
58451         * lib/vasprintf.c: Likewise.
58452         * lib/wait-process.c: Likewise.
58453         * lib/xallocsa.c: Likewise.
58454         * lib/xsetenv.c: Likewise.
58455         * lib/xstriconv.c: Likewise.
58456
58457 2006-09-13  Simon Josefsson  <jas@extundo.com>
58458
58459         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
58460         that internally, suggested by Ralf Wildenhues
58461         <Ralf.Wildenhues@gmx.de>.
58462
58463 2006-09-13  Simon Josefsson  <jas@extundo.com>
58464
58465         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
58466         @LIBOBJS@.
58467         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58468
58469 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
58470
58471         * lib/_fpending.c: Include <config.h> unconditionally, since we no
58472         longer worry about uses that don't define HAVE_CONFIG_H.
58473         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
58474         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
58475         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
58476         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
58477         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
58478         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
58479         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
58480         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
58481         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
58482         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
58483         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
58484         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
58485         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
58486         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
58487         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
58488         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
58489         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
58490         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
58491         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
58492         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
58493         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
58494         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
58495         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
58496         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
58497         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
58498         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
58499         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
58500         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
58501         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
58502         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
58503         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
58504         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
58505         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
58506         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
58507         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
58508         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
58509         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
58510         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
58511         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
58512         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
58513         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
58514         Likewise.
58515
58516 2006-09-13  Eric Blake  <ebb9@byu.net>
58517
58518         * lib/getopt.c: Fix typo in last commit.
58519
58520 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
58521
58522         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
58523         dgettext.
58524
58525 2006-09-12  Jim Meyering  <jim@meyering.net>
58526
58527         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
58528         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
58529         Reported by Nelson H. F. Beebe.
58530
58531 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
58532
58533         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
58534         program_invocation_name and program_invocation_short_name are
58535         initialized.
58536         * lib/argp-namefrob.h: Move declarations of program_invocation_name
58537         and program_invocation_short_name to argp.h, so they are visible
58538         to user programs.
58539         * lib/argp.h: Likewise
58540
58541 2006-09-10  Bruno Haible  <bruno@clisp.org>
58542
58543         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
58544         m4/inttypes_h.m4, m4/uintmax_t.m4.
58545
58546 2006-09-10  Bruno Haible  <bruno@clisp.org>
58547
58548         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
58549         gl_AC_TYPE_UINTMAX_T.
58550
58551 2006-09-10  Bruno Haible  <bruno@clisp.org>
58552
58553         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
58554
58555 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
58556
58557         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
58558         convention.  Text proposed by Bruno Haible.
58559         (struct argp_option): Document the use of N_() wrappers.
58560
58561         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
58562         '\v', and translate the two parts separately, instead of feeding
58563         the whole string to gettext.  This allows to exclude
58564         '\v' from the strings visible to the translator by writing doc
58565         strings as N_("..") "\v" N_("..").
58566
58567 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
58568
58569         * config/srclist.txt: Undo latest change; the bug was fixed.
58570
58571 2006-09-09  Bruno Haible  <bruno@clisp.org>
58572
58573         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
58574         assignments if building a library without libtool.
58575         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
58576         in func_emit_lib_Makefile_am.
58577         (func_import): When building a static library libfoo.a, arrange to
58578         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
58579         (func_create_testdir): Likewise.
58580         * modules/gc (configure.ac, Makefile.am): If building statically,
58581         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
58582         * modules/iconvme (configure.ac, Makefile.am): Likewise.
58583         * modules/striconv (configure.ac, Makefile.am): Likewise.
58584         Based on a suggestion by Ralf Wildenhues.
58585
58586 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
58587
58588         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
58589         Check for unistd.h too, since Autoconf doesn't assume POSIX.
58590         Also:
58591
58592         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
58593         Add year_2050_test to catch glibc bug 2821
58594         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
58595
58596         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
58597         Prefer #ifdef to #if.
58598
58599         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
58600         Return from 'main' instead of calling 'exit'.
58601
58602 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
58603
58604         * lib/mktime.c (guess_time_tm): Fix bug where mktime
58605         returned the maximum time_t value rather than (time_t) -1.
58606         Problem originally reported by William Bardwell
58607         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
58608
58609         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
58610         Moved to here ...
58611         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
58612         ... from here.
58613
58614 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
58615
58616         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
58617         2821 is fixed.
58618
58619 2006-09-08  Jim Meyering  <jim@meyering.net>
58620
58621         Don't make generated files read-only.  That would bother too many
58622         people.  However, do retain the ability to work when targets are
58623         read-only: remove the destination and temporary files before writing
58624         them (when generated via sed or echo), or by using the -f option for
58625         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
58626         * modules/alloca-opt, modules/argz, modules/arpa_inet:
58627         * modules/byteswap, modules/configmake, modules/fcntl:
58628         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
58629         * modules/localcharset, modules/netinet_in, modules/poll:
58630         * modules/stdbool, modules/stdint, modules/sys_select:
58631         * modules/sys_socket, modules/sys_stat, modules/sysexits:
58632
58633 2006-09-08  Jim Meyering  <jim@meyering.net>
58634
58635         Avoid new build failure on FreeBSD 6.0.
58636         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
58637         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
58638         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
58639
58640 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58641
58642         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
58643
58644 2006-09-07  Jim Meyering  <jim@meyering.net>
58645
58646         Fix global typo in last change: use chmod u-w, not chmod u-x.
58647         Spotted by Paul Eggert and Bruce Korb.
58648         * modules/alloca-opt, modules/argz, modules/arpa_inet:
58649         * modules/byteswap, modules/configmake, modules/fcntl:
58650         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
58651         * modules/localcharset, modules/netinet_in, modules/poll:
58652         * modules/stdbool, modules/stdint, modules/sys_select:
58653         * modules/sys_socket, modules/sys_stat, modules/sysexits:
58654
58655 2006-09-06  Jim Meyering  <jim@meyering.net>
58656
58657         Make generated files be read-only.
58658         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
58659         Ensure that each generated file is now read-only.
58660         * modules/argz: Likewise.
58661         * modules/arpa_inet: Likewise.
58662         * modules/byteswap: Likewise.
58663         * modules/configmake: Likewise.
58664         * modules/fcntl: Likewise.
58665         * modules/fnmatch: Likewise.
58666         * modules/getopt: Likewise.
58667         * modules/glob: Likewise.
58668         * modules/inttypes: Likewise.
58669         * modules/netinet_in: Likewise.
58670         * modules/poll: Likewise.
58671         * modules/stdbool: Likewise.
58672         * modules/stdint: Likewise.
58673         * modules/sys_select: Likewise.
58674         * modules/sys_socket: Likewise.
58675         * modules/sys_stat: Likewise.
58676         * modules/sysexits: Likewise.
58677         * modules/localcharset: Same as above, but continue using temporary
58678         file named "t-$@" (why different?) rather than the "$@-t" used
58679         everywhere else.
58680
58681         * modules/sysexits (Makefile.am): Replace literal occurrences
58682         of "sysexit.h" more readable, and more consistent, "$@".
58683
58684 2006-09-06  Bruno Haible  <bruno@clisp.org>
58685
58686         * modules/striconv: New file.
58687         * modules/xstriconv: New file.
58688         * MODULES.html.sh (Internationalization functions): Add striconv,
58689         xstriconv.
58690
58691 2006-09-06  Bruno Haible  <bruno@clisp.org>
58692
58693         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
58694         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
58695         not using libtool correctly.
58696
58697 2006-09-06  Bruno Haible  <bruno@clisp.org>
58698
58699         * lib/striconv.h: New file.
58700         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
58701         iconvstring.c.
58702         * lib/xstriconv.h: New file.
58703         * lib/xstriconv.c: New file.
58704
58705 2006-09-06  Bruno Haible  <bruno@clisp.org>
58706
58707         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
58708         lib_..._LDFLAGS.
58709
58710 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58711
58712         * lib/argz_.h: Sync from Libtool.
58713
58714         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
58715                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
58716
58717         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
58718
58719 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
58720
58721         * modules/trim: New file.
58722
58723 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
58724
58725         * lib/trim.h: New file.
58726         * lib/trim.c: New file.
58727
58728 2006-09-05  Bruno Haible  <bruno@clisp.org>
58729
58730         * MODULES.html.sh (String handling): Add trim.
58731
58732 2006-09-04  Karl Berry  <karl@gnu.org>
58733
58734         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
58735         until next release.
58736
58737 2006-09-03  Bruno Haible  <bruno@clisp.org>
58738
58739         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
58740         correctly.
58741
58742 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
58743
58744         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
58745         not gl_GETLOADAVG.  Omit unneeded semicolons.
58746         Problems reported by Ralf Wildenhues in
58747         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
58748         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
58749         at the end, which is the usual gnulib style.
58750
58751         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
58752         of doing all the work ourselves.
58753         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
58754         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
58755
58756 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
58757
58758         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
58759         Problem reported by Ralf Wildenhues in
58760         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
58761
58762         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
58763         HAVE_STRUCT_STATFS_F_FSTYPENAME.
58764
58765 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
58766
58767         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
58768         yesterday's patch by changing test -n to test -z.
58769
58770 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
58771
58772         * modules/getloadavg (Files): Add m4/getloadavg.m4.
58773         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
58774         the former is now obsolescent.
58775
58776         * modules/chdir-long (Depends-on): Add fcntl.
58777
58778 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
58779
58780         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
58781         obsolescent, and programs should use gnulib instead.
58782         * m4/getloadavg.m4: New file, with contents taken from Autoconf
58783         but with prefixes changed.
58784
58785 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
58786
58787         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
58788         or stdbool.h, because they might not exist while configuring.
58789
58790         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
58791         Don't include unistd.h or limits.h; not needed, since chdir-long.h
58792         does that for us.
58793         (O_DIRECTORY): Remove.
58794
58795 2006-08-31  Eric Blake  <ebb9@byu.net>
58796
58797         * gnulib-tool: Don't let emacs change spaces to TAB.
58798
58799 2006-08-31  Bruno Haible  <bruno@clisp.org>
58800
58801         * gnulib-tool: When calling func_import more than once, do it in a
58802         subshell.
58803         Reported by Eric Blake <ebb9@byu.net>.
58804
58805 2006-08-31  Bruno Haible  <bruno@clisp.org>
58806
58807         * gnulib-tool (nl): Remove variable.
58808         (sed_transform_lib_file): Use more robust test for config-h module.
58809         (func_import): Fix typo in 2006-08-25 patch.
58810
58811 2006-08-31  Bruno Haible  <bruno@clisp.org>
58812
58813         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
58814         specified, augment Makefile.am variables instead of assigning them.
58815
58816 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
58817
58818         Work around a bug in both the Linux and SunOS 64-bit kernels:
58819         nanosleep mishandles sleeps for longer than 2**31 seconds.
58820         Problem reported by Frank v Waveren in
58821         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
58822         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
58823         Check for nanosleep bug.
58824         (LIB_NANOSLEEP): Append clock_gettime library if needed.
58825
58826 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
58827
58828         Work around a bug in both the Linux and SunOS 64-bit kernels:
58829         nanosleep mishandles sleeps for longer than 2**31 seconds.
58830         Problem reported by Frank v Waveren in
58831         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
58832         * lib/nanosleep.c (BILLION): New constant.
58833         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
58834         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
58835         implementation.
58836
58837 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
58838
58839         * modules/nanosleep (Depends-on): Add gettime.
58840
58841 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
58842         and Simon Josefsson  <jas@extundo.com>
58843         and Oskar Liljeblad  <oskar@osk.mine.nu>
58844
58845         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
58846         * gnulib-tool (func_import): New license type 'unmodifiable license
58847         text'.
58848         * modules/fdl: Use it.  Longer description.
58849         * module/gpl, module/lgpl: New files.
58850
58851 2006-08-30  Jim Meyering  <jim@meyering.net>
58852
58853         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
58854         shadowing the parameter.
58855
58856 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58857
58858         Sync from Libtool:
58859
58860         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58861
58862         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
58863         sharing with gnulib.  Report by Eric Blake.
58864
58865 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
58866
58867         * modules/isapipe: New file.
58868         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
58869
58870 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
58871
58872         * modules/configmake (Makefile.am): Add a comment, and omit
58873         the CONFIGMAKE_ prefix from generated macro names.  Suggested
58874         by Bruno Haible.
58875
58876 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
58877
58878         * m4/isapipe.m4: New file.
58879
58880 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
58881
58882         * lib/isapipe.c, lib/isapipe.h: New files.
58883
58884 2006-08-29  Jim Meyering  <jim@meyering.net>
58885
58886         * modules/configmake (Makefile.am): Make configmake.h depend on
58887         Makefile.  Otherwise, a stale configmake.h could hang around.
58888
58889 2006-08-29  Eric Blake  <ebb9@byu.net>
58890
58891         * lib/error.c (error_at_line, print_errno_message): Match libc, after
58892         resolution of upstream bug 3044.
58893
58894 2006-08-29  Bruno Haible  <bruno@clisp.org>
58895
58896         * modules/localcharset (Depends-on): Add configmake.
58897         (Makefile.am): Remove setting of LIBDIR through DEFS.
58898
58899 2006-08-29  Bruno Haible  <bruno@clisp.org>
58900
58901         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
58902         defined.
58903
58904 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
58905
58906         * modules/fcntl: New file.
58907         * modules/chdir-safer (Depends-on): Add fcntl.
58908         * modules/fts: Likewise.
58909         * modules/mkdir-p: Likewise.
58910
58911         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
58912         This undoes the most recent change, since we're now addressing the
58913         problem in a different way.
58914
58915         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
58916         into output, since the output might be called Makefile.am even
58917         if $makefile_name is something different.
58918         (func_import): Use $makefile_am rather than
58919         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
58920         empty.
58921
58922         * modules/inttypes (Files): Add m4/inttypes-h.m4.
58923
58924 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
58925
58926         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
58927         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
58928         recent change to stdint.m4, since we're now addressing the problem in a
58929         different way.
58930
58931 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
58932
58933         * m4/fcntl_h.m4: New file.
58934
58935 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
58936
58937         * lib/fcntl_.h: New file.
58938         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
58939         the fcntl module.
58940         * lib/dirchownmod.c: Likewise.
58941         * lib/fts.c: Likewise.
58942
58943         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
58944         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
58945         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
58946         just before including <inttypes.h>, to avoid circular inclusion.
58947
58948 2006-08-28  Jim Meyering  <jim@meyering.net>
58949
58950         * doc/visibility.texi: Actually read and correct the grammar of the
58951         sentence affected by yesterday's change.
58952
58953 2006-08-28  Eric Blake  <ebb9@byu.net>
58954
58955         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
58956         needs wrapper.
58957
58958 2006-08-28  Eric Blake  <ebb9@byu.net>
58959
58960         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
58961
58962 2006-08-28  Eric Blake  <ebb9@byu.net>
58963
58964         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
58965
58966 2006-08-28  Bruno Haible  <bruno@clisp.org>
58967
58968         * modules/c-strstr: New file, from GNU gettext.
58969         * MODULES.html.sh (String handling): Add c-strstr.
58970
58971 2006-08-28  Bruno Haible  <bruno@clisp.org>
58972
58973         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
58974         macros.
58975         Reported by Eric Blake.
58976
58977 2006-08-28  Bruno Haible  <bruno@clisp.org>
58978
58979         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
58980         (VASNPRINTF): Return a string of length > INT_MAX without failing.
58981         * lib/vasprintf.c: Include errno.h, limits.h.
58982         (EOVERFLOW): New fallback definition.
58983         (vasprintf): Test here whether the string length is > INT_MAX.
58984         * lib/vsnprintf.c: Include errno.h, limits.h.
58985         (EOVERFLOW): New fallback definition.
58986         (vsnprintf): Fix bug when generated string was too long for the buffer.
58987         Test here whether the string length is > INT_MAX.
58988
58989 2006-08-28  Bruno Haible  <bruno@clisp.org>
58990
58991         * lib/inttypes_.h (SCNX*): Remove definitions.
58992         Reported by Eric Blake.
58993
58994 2006-08-28  Bruno Haible  <bruno@clisp.org>
58995
58996         * lib/c-strstr.h: New file, from GNU gettext.
58997         * lib/c-strstr.c: New file, from GNU gettext.
58998
58999 2006-08-28  Bruno Haible  <bruno@clisp.org>
59000
59001         * gnulib-tool: Reorder some statements.
59002
59003 2006-08-28  Bruno Haible  <bruno@clisp.org>
59004
59005         * gnulib-tool: New option --makefile-name.
59006         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
59007         $makefile_name.
59008         (func_import): Write $makefile_name to the cache file, and read it from
59009         there unless explicitly specified. Use $makefile_name as file name
59010         instead of Makefile.am. Adjust the recommendations accordingly.
59011
59012 2006-08-28  Bruno Haible  <bruno@clisp.org>
59013
59014         * gnulib-tool (func_verify_module): Check against misapplying patch.
59015
59016 2006-08-28  Bruno Haible  <bruno@clisp.org>
59017
59018         * gnulib-tool (func_relativize, func_relconcat): New functions.
59019         Give an error if --local-dir is given with --update.
59020         Remove trailing slashes from $local_gnulib_dir.
59021         (func_import): Store the relativized $local_gnulib_dir in
59022         gnulib-cache.m4, and read it from there if not specified explicitly.
59023
59024 2006-08-28  Bruno Haible  <bruno@clisp.org>
59025
59026         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
59027         is the current directory. Respect also $local_gnulib_dir.
59028
59029 2006-08-28  Bruno Haible  <bruno@clisp.org>
59030             Simon Josefsson  <jas@extundo.com>
59031
59032         BeOS portability.
59033         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
59034
59035 2006-08-27  Jim Meyering  <jim@meyering.net>
59036
59037         * doc/visibility.texi: Remove duplicate word: "pointer".
59038
59039 2006-08-26  Bruno Haible  <bruno@clisp.org>
59040
59041         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
59042         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
59043         (Makefile.am): Create inttypes.h from inttypes_.h.
59044         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
59045
59046         * modules/imaxabs: New file.
59047
59048         * modules/imaxdiv: New file.
59049
59050 2006-08-26  Bruno Haible  <bruno@clisp.org>
59051
59052         * m4/inttypes.m4: New file.
59053         * m4/_inttypes_h.m4: Remove file.
59054         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
59055         PRI_MACROS_BROKEN.
59056         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
59057
59058         * m4/imaxabs.m4: New file.
59059
59060         * m4/imaxdiv.m4: New file.
59061
59062 2006-08-26  Bruno Haible  <bruno@clisp.org>
59063
59064         * lib/inttypes_.h: New file.
59065         * lib/inttypes.h: Remove file.
59066         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
59067
59068         * lib/imaxabs.c: New file.
59069
59070         * lib/imaxdiv.c: New file.
59071
59072 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
59073
59074         New config-h module, so that "make" output needn't be cluttered
59075         by -DHAVE_CONFIG_H.
59076         * MODULES.html.sh (Support for building libraries and executables):
59077         Add config-h.
59078         * modules/config-h: New file.
59079         * gnulib-tool (nl, sed_transform_lib_file): New vars.
59080         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
59081         the config-h module is used.
59082
59083         New configmake module, so that "make" output needn't be cluttered
59084         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
59085         * MODULES.html.sh (Support for building libraries and executables):
59086         Add configmake.
59087         * modules/configmake: New file.
59088
59089 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
59090
59091         * m4/config-h.m4: New file.
59092
59093 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
59094
59095         * config/srclist.txt: Add elisp-comp.
59096
59097 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
59098
59099         * MODULES.html.sh (Support for building libraries and executables):
59100         Add elisp-comp.
59101         * build-aux/elisp-comp: New file.
59102         * modules/elisp-comp: New file.
59103
59104 2006-08-24  Bruno Haible  <bruno@clisp.org>
59105
59106         * gnulib-tool (func_create_testdir): Use non-default values of
59107         sourcebase and m4base.
59108
59109 2006-08-24  Bruno Haible  <bruno@clisp.org>
59110
59111         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
59112         HTML structure.
59113
59114 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
59115
59116         * modules/openat (Depends-on): Add lchown.
59117
59118 2006-08-23  Bruno Haible  <bruno@clisp.org>
59119
59120         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
59121         of gl_LOCK_EARLY instead of gl_LOCK.
59122
59123 2006-08-23  Bruno Haible  <bruno@clisp.org>
59124
59125         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
59126         on OSF/1 to no.
59127         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
59128
59129 2006-08-23  Bruno Haible  <bruno@clisp.org>
59130
59131         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
59132         as unusable.
59133
59134         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
59135         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
59136         (gl_LOCK): New macro.
59137
59138 2006-08-22  Simon Josefsson  <jas@extundo.com>
59139
59140         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
59141         to md5 module.
59142
59143 2006-08-22  Simon Josefsson  <jas@extundo.com>
59144
59145         * MODULES.html.sh: Add "Support for maintaining and release
59146         projects".
59147
59148         * build-aux/gnupload: New file, from coreutils.
59149
59150 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
59151
59152         Avoid the need for AC_LIBSOURCES in m4 macros.
59153         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
59154         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
59155         * modules/check-version (EXTRA_DIST): Add check-version.h.
59156         * modules/crc (EXTRA_DIST): Add crc.h.
59157         * modules/des (EXTRA_DIST): Add des.h.
59158         * modules/gc (EXTRA_DIST): Add gc.h.
59159         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
59160         * modules/getline (EXTRA_DIST): Add getline.h.
59161         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
59162         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
59163         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
59164         * modules/md2 (EXTRA_DIST): Add md2.h.
59165         * modules/md4 (EXTRA_DIST): Add md4.h.
59166         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
59167         * modules/read-file (EXTRA_DIST): Add read-file.h.
59168         * modules/readline (EXTRA_DIST): Add readline.h.
59169         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
59170         rijndael-api-fst.h.
59171
59172 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
59173
59174         * m4/rijndael.m4 (gl_ARCFOUR):
59175         * m4/arctwo.m4 (gl_ARCTWO):
59176         * m4/check-version.m4 (gl_CHECK_VERSION):
59177         * m4/crc.m4 (gl_CRC):
59178         * m4/des.m4 (gl_DES):
59179         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
59180         * m4/gc.m4 (gl_GC):
59181         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
59182         * m4/getline.m4 (gl_FUNC_GETLINE):
59183         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
59184         * m4/hmac-md5.m4 (gl_HMAC_MD5):
59185         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
59186         * m4/md2.m4 (gl_MD2):
59187         * m4/md4.m4 (gl_MD4):
59188         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
59189         * m4/read-file.m4 (gl_FUNC_READ_FILE):
59190         * m4/readline.m4 (gl_FUNC_READLINE):
59191         * m4/rijndael.m4 (gl_RIJNDAEL):
59192         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
59193         to get the necessary .h files and whatnot.
59194
59195 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
59196
59197         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
59198         gnulib rather than the other way around.
59199         * config/srclistvars.sh (COREUTILS): Remove.
59200
59201 2006-08-22  Jim Meyering  <jim@meyering.net>
59202
59203         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
59204
59205         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
59206
59207 2006-08-22  Eric Blake  <ebb9@byu.net>
59208
59209         * modules/regexprops-generic: New file.
59210         * MODULES.html.sh (Support for building documentation): List it.
59211
59212 2006-08-22  Eric Blake  <ebb9@byu.net>
59213
59214         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
59215         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
59216         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
59217         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
59218
59219 2006-08-22  Bruno Haible  <bruno@clisp.org>
59220
59221         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
59222         and lib_LTLIBRARIES like the other lib_* variables.
59223
59224 2006-08-22  Bruno Haible  <bruno@clisp.org>
59225
59226         * build-aux/x-to-1.in: New file, from GNU gettext.
59227
59228 2006-08-22  Bruno Haible  <bruno@clisp.org>
59229
59230         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
59231         <utmpx.h> exists.
59232
59233 2006-08-22  Bruno Haible  <bruno@clisp.org>
59234
59235         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
59236         <utmpx.h> exists.
59237
59238 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
59239
59240         BeOS portability.
59241         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
59242         exist.
59243         Problem reported by Bruno Haible.
59244
59245 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
59246
59247         Avoid the need for AC_LIBSOURCES in m4 macros.
59248         * modules/acl (EXTRA_DIST): Add acl.h.
59249         * modules/argmatch (Files): Add m4/argmatch.m4.
59250         (configure.ac): Add gl_ARGMATCH.
59251         (EXTRA_DIST): Renamed from lib_SOURCES, for
59252         consistency with the other modules.  Remove argmatch.c.
59253         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
59254         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
59255         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
59256         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
59257         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
59258         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
59259         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
59260         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
59261         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
59262         * modules/closeout (EXTRA_DIST): Add closeout.h.
59263         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
59264         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
59265         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
59266         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
59267         dirname.h; remove basename.c and stripslash.c.
59268         * modules/exclude (EXTRA_DIST): Add exclude.h.
59269         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
59270         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
59271         * modules/file-type (EXTRA_DIST): Add file-type.h.
59272         * modules/filemode (EXTRA_DIST): Add filemode.h.
59273         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
59274         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
59275         * modules/fpending (EXTRA_DIST): Add __fpending.h.
59276         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
59277         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
59278         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
59279         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
59280         * modules/getdate (EXTRA_DIST): Add getdate.c.
59281         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
59282         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
59283         * modules/getpass (EXTRA_DIST): Add getpass.h.
59284         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
59285         * modules/group-member (EXTRA_DIST): Add group-member.h.
59286         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
59287         * modules/hash (EXTRA_DIST): Add hash.h.
59288         * modules/human (EXTRA_DIST): Add human.h.
59289         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
59290         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
59291         * modules/lchown (EXTRA_DIST): Add lchown.h.
59292         * modules/long-options (EXTRA_DIST): Add long-options.h.
59293         * modules/lstat (EXTRA_DIST): Add lstat.h.
59294         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
59295         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
59296         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
59297         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
59298         * modules/memxor (EXTRA_DIST): Add memxor.h.
59299         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
59300         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
59301         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
59302         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
59303         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
59304         * modules/physmem (EXTRA_DIST): Add physmem.h.
59305         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
59306         * modules/posixver (EXTRA_DIST): Add posixver.h.
59307         * modules/quote (EXTRA_DIST): Add quote.h.
59308         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
59309         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
59310         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
59311         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
59312         regex_internal.h regexec.c.
59313         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
59314         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
59315         * modules/same (EXTRA_DIST): Add same.h.
59316         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
59317         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
59318         * modules/savedir (EXTRA_DIST): Add savedir.h.
59319         * modules/sha1 (EXTRA_DIST): Add sha1.h.
59320         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
59321         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
59322         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
59323         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
59324         * modules/strdup (EXTRA_DIST): Add strdup.h.
59325         * modules/strftime (EXTRA_DIST): Add strftime.h.
59326         * modules/strndup (EXTRA_DIST): Add strndup.h.
59327         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
59328         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
59329         * modules/time_r (EXTRA_DIST): Add time_r.h.
59330         * modules/timespec (EXTRA_DIST): Add timespec.h.
59331         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
59332         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
59333         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
59334         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
59335         * modules/userspec (EXTRA_DIST): Add userspec.h.
59336         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
59337         * modules/utimens (EXTRA_DIST): Add utimens.h.
59338         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
59339         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
59340         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
59341         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
59342         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
59343         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
59344         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
59345         * modules/yesno (EXTRA_DIST): Add yesno.h.
59346
59347 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
59348
59349         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
59350
59351         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
59352         * m4/dev-ino.m4, same-inode.m4: Remove.
59353
59354         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
59355         * m4/acl.m4 (AC_FUNC_ACL):
59356         * m4/backupfile.m4 (gl_BACKUPFILE):
59357         * m4/c-strtod.m4 (gl_C99_STRTOLD):
59358         * m4/canon-host.m4 (gl_CANON_HOST):
59359         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
59360         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
59361         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
59362         * m4/cloexec.m4 (gl_CLOEXEC):
59363         * m4/close-stream.m4 (gl_CLOSE_STREAM):
59364         * m4/closeout.m4 (gl_CLOSEOUT):
59365         * m4/dirfd.m4 (gl_FUNC_DIRFD):
59366         * m4/dirname.m4 (gl_DIRNAME):
59367         * m4/exclude.m4 (gl_EXCLUDE):
59368         * m4/exitfail.m4 (gl_EXITFAIL):
59369         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
59370         * m4/file-type.m4 (gl_FILE_TYPE):
59371         * m4/filemode.m4 (gl_FILEMODE):
59372         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
59373         * m4/fpending.m4 (gl_FUNC_FPENDING):
59374         * m4/fprintftime.m4 (gl_FPRINTFTIME):
59375         * m4/fts.m4 (gl_FUNC_FTS):
59376         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
59377         * m4/getdate.m4 (gl_GETDATE):
59378         * m4/gethrxtime.m4 (gl_GETHRXTIME):
59379         * m4/getpagesize.m4 (gl_GETPAGESIZE):
59380         * m4/getpass.m4 (gl_FUNC_GETPASS):
59381         * m4/gettime.m4 (gl_GETTIME):
59382         * m4/getugroups.m4 (gl_GETUGROUPS):
59383         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
59384         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
59385         * m4/hard-locale.m4 (gl_HARD_LOCALE):
59386         * m4/hash.m4 (gl_HASH):
59387         * m4/idcache.m4 (gl_IDCACHE):
59388         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
59389         * m4/lchown.m4 (gl_FUNC_LCHOWN):
59390         * m4/long-options.m4 (gl_LONG_OPTIONS):
59391         * m4/lstat.m4 (gl_FUNC_LSTAT):
59392         * m4/md5.m4 (gl_MD5):
59393         * m4/memcasecmp.m4 (gl_MEMCASECMP):
59394         * m4/memcoll.m4 (gl_MEMCOLL):
59395         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
59396         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
59397         * m4/memxor.m4 (gl_MEMXOR):
59398         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
59399         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
59400         * m4/modechange.m4 (gl_MODECHANGE):
59401         * m4/mountlist.m4 (gl_MOUNTLIST):
59402         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
59403         * m4/openat.m4 (gl_FUNC_OPENAT):
59404         * m4/pathmax.m4 (gl_PATHMAX):
59405         * m4/physmem.m4 (gl_PHYSMEM):
59406         * m4/posixtm.m4 (gl_POSIXTM):
59407         * m4/posixver.m4 (gl_POSIXVER):
59408         * m4/quote.m4 (gl_QUOTE):
59409         * m4/quotearg.m4 (gl_QUOTEARG):
59410         * m4/readtokens.m4 (gl_READTOKENS):
59411         * m4/readutmp.m4 (gl_READUTMP):
59412         * m4/regex.m4 (gl_REGEX):
59413         * m4/safe-read.m4 (gl_SAFE_READ):
59414         * m4/safe-write.m4 (gl_SAFE_WRITE):
59415         * m4/same.m4 (gl_SAME):
59416         * m4/save-cwd.m4 (gl_SAVE_CWD):
59417         * m4/savedir.m4 (gl_SAVEDIR):
59418         * m4/settime.m4 (gl_SETTIME):
59419         * m4/sha1.m4 (gl_SHA1):
59420         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
59421         * m4/stat-macros.m4 (gl_STAT_MACROS):
59422         * m4/stat-time.m4 (gl_STAT_TIME):
59423         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
59424         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
59425         * m4/strdup.m4 (gl_FUNC_STRDUP):
59426         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
59427         * m4/strndup.m4 (gl_FUNC_STRNDUP):
59428         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
59429         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
59430         * m4/time_r.m4 (gl_TIME_R):
59431         * m4/timespec.m4 (gl_TIMESPEC):
59432         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
59433         * m4/unlinkdir.m4 (gl_UNLINKDIR):
59434         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
59435         * m4/userspec.m4 (gl_USERSPEC):
59436         * m4/utimecmp.m4 (gl_UTIMECMP):
59437         * m4/utimens.m4 (gl_UTIMENS):
59438         * m4/xalloc.m4 (gl_XALLOC):
59439         * m4/xgetcwd.m4 (gl_XGETCWD):
59440         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
59441         * m4/xreadlink.m4 (gl_XREADLINK):
59442         * m4/xstrtod.m4 (gl_XSTRTOD):
59443         * m4/yesno.m4 (gl_YESNO):
59444         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
59445         to get the necessary .h files and whatnot.
59446
59447 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
59448             Bruno Haible  <bruno@clisp.org>
59449
59450         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
59451         /bin/sh understanding of '!' conditional negation.
59452
59453 2006-08-21  Jim Meyering  <jim@meyering.net>
59454
59455         * modules/openat (Depends-on): Really alphabetize.
59456
59457         * modules/acl (Depends-on): Add error and quote.
59458
59459         * check-module (find_included_lib_files): Add at-func.c to the
59460         ok-to-include-more-than-once white list.
59461
59462         * modules/openat (Depends-on): Add lstat.  Alphabetize.
59463
59464 2006-08-21  Bruno Haible  <bruno@clisp.org>
59465
59466         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
59467         Emit a pkgdata_DATA variable only if some snippets add contents to it.
59468         Reported by Martin Lambers <marlam@marlam.de>.
59469
59470 2006-08-21  Bruno Haible  <bruno@clisp.org>
59471
59472         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
59473         specify an installation location, don't emit a noinst_LIBRARIES or
59474         noinst_LTLIBRARIES assignment.
59475
59476 2006-08-21  Bruno Haible  <bruno@clisp.org>
59477
59478         BeOS portability.
59479         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
59480         BeOS has mbrtowc() but no <wctype.h>.
59481
59482 2006-08-21  Bruno Haible  <bruno@clisp.org>
59483
59484         BeOS portability.
59485         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
59486         exist.
59487
59488 2006-08-21  Bruno Haible  <bruno@clisp.org>
59489
59490         BeOS portability.
59491         * lib/mbchar.h: Include <wctype.h> only if it exists.
59492
59493 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
59494
59495         Remove files that are no longer needed by their respective modules.
59496         * m4/obstack.m4: Remove.
59497         * m4/strerror_r.m4: Remove.
59498         * m4/uint32_t.m4: Remove.
59499         * m4/uintptr_t.m4: Remove.
59500         * m4/ullong_max.m4: Remove.
59501         * m4/xstrtoimax.m4: Remove.
59502         * m4/xstrtoumax.m4: Remove.
59503
59504         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
59505         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
59506         dependencies now capture this.
59507
59508         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
59509         Do not use AC_LIBSOURCES, since gnulib modules now do this.
59510         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
59511         * m4/human.m4 (gl_HUMAN): Likewise.
59512         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
59513         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
59514
59515         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
59516
59517         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
59518         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
59519         stdint.
59520         * m4/human.m4 (gl_HUMAN): Likewise.
59521         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
59522         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
59523         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
59524         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
59525         * m4/xstrtol (gl_XSTRTOL): Likewise.
59526
59527         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
59528         AC_TYPE_LONG_LONG_INT.
59529         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
59530         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
59531         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
59532         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
59533
59534         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
59535         on stdbool.
59536
59537         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
59538         (gl_PREREQ_XSTRTOUL): Remove.
59539
59540         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
59541
59542         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
59543         mode.
59544
59545 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
59546
59547         Add and change modules to make it easier for coreutils to use
59548         gnulib-tool.
59549         * modules/backupfile (Files): Remove m4/d-ino.m4.
59550         (Depends-on): Add d-ino.
59551         * modules/cycle-check (Depends-on): Add stdint.
59552         (lib_SOURCES): Add cycle-check.h.
59553         * modules/d-ino: New module.
59554         * modules/d-type: New module.
59555         * modules/error (Files): Remove m4/strerror_r.m4.
59556         * modules/filemode (Files): Add m4/st_dm_mode.m4.
59557         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
59558         m4/inttypes_h.m4, m4/uintmax_t.m4.
59559         (Depends-on): Add stdint.
59560         (lib_SOURCES): Add fsusage.h.
59561         * modules/getcwd (Files): Remove d-ino.m4.
59562         (Depends-on): Add d-ino.
59563         * modules/getndelim2 (Depends-on): Add stdint.
59564         * modules/glob (Files): Remove m4/d-type.m4.
59565         (Depends-on): Add d-type.
59566         * modules/host-os: New module.
59567         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
59568         m4/inttypes_h.m4, m4/uintmax_t.m4.
59569         * Depends-on: Add stdint.
59570         (lib_SOURCES): Add human.h.
59571         * modules/inttostr (Files): Remove m4/intmax_t.m4,
59572         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
59573         m4/uintmax_t.m4, m4/ulonglong.m4.
59574         (Depends-on): Add stdint.
59575         (EXTRA_DIST): Add inttostr.h.
59576         * modules/lchmod: New module.
59577         * modules/link-follow: New module.
59578         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
59579         (Depends-on): Add lchmod.
59580         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
59581         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
59582         (Depends-on): Add stdint.
59583         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
59584         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
59585         (Depends-on): Add stdint.
59586         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
59587         * modules/perl: New module.
59588         * modules/regex (Depends-on): Add stdint.
59589         * modules/rmdir-errno: New module.
59590         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
59591         m4/intmax_t.m4.
59592         (Depends-on): Add stdint.
59593         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
59594         m4/uintmax_t.m4.
59595         (Depends-on): Add stdint.
59596         * modules/unlink-busy: New module.
59597         * modules/utimecmp (Depends-on): Add stdint.
59598         * modules/uptime: New module.
59599         * modules/winsz-ioctl: New module.
59600         * modules/winsz-termios: New module.
59601         * modules/xnanosleep (Depends-on): Add nanosleep.
59602         * modules/ullong_max: Remove.
59603         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
59604         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
59605         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
59606         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
59607         (Depends-on): Add inttypes.
59608         (lib_SOURCES): Add xstrtol.h.
59609         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
59610         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
59611         * MODULES.html.sh: Move 'assert' into the assert section.
59612         Move 'dummy' into the linking section.
59613         Remove ullong_max.
59614         Add section for compatibility checks for POSIX:2001 functions,
59615         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
59616         winsz-ioctl, and winsz-termios into it.
59617         Add lchmod.
59618         Add top-level Misc section and put host-os, perl, and uptime
59619         into it.
59620
59621 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
59622
59623         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
59624         now assume the stdint module.  Do not include inttypes.h.
59625         * lib/fsusage.h: Likewise.
59626         * lib/getndelim2.c: Likewise.
59627         * lib/human.h: Likewise.
59628         * lib/inttostr.h: Likewise.
59629         * lib/obstack.c: Likewise.
59630         * lib/regex_internal.h: Likewise.
59631         * lib/tempname.c: Likewise.
59632         * lib/utimecmp.c: Likewise.
59633         * lib/xstrtol.h: Likewise.
59634
59635         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
59636
59637         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
59638         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
59639         * lib/xtime.h: Likewise.
59640
59641 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
59642
59643         * modules/openat (Files): Add lib/fchmodat.c.
59644         Fixes problem reported by Jay Youngman.
59645
59646 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
59647
59648         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
59649         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
59650
59651 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
59652             Bruno Haible  <bruno@clisp.org>
59653
59654         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
59655         and is a script that invokes bison. Tighten the code. Add comments.
59656
59657 2006-08-18  Jim Meyering  <jim@meyering.net>
59658
59659         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
59660         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
59661         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
59662         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
59663
59664 2006-08-18  Bruno Haible  <bruno@clisp.org>
59665
59666         * modules/bison-i18n: New file.
59667         * MODULES.html.sh (Internationalization functions): Add it.
59668
59669 2006-08-18  Bruno Haible  <bruno@clisp.org>
59670
59671         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
59672         sys/statvfs.h. When getmntinfo was found, check its declaration and
59673         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
59674
59675 2006-08-18  Bruno Haible  <bruno@clisp.org>
59676
59677         * m4/bison-i18n.m4: New file, from bison.
59678
59679 2006-08-18  Bruno Haible  <bruno@clisp.org>
59680
59681         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
59682         (ME_DUMMY): Treat "kernfs" as a dummy.
59683         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
59684
59685 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
59686
59687         Update from coreutils.
59688
59689         2006-08-15  Jim Meyering  <jim@meyering.net>
59690
59691         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
59692
59693         2006-01-17  Jim Meyering  <jim@meyering.net>
59694
59695         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
59696
59697         2006-01-11  Jim Meyering  <jim@meyering.net>
59698
59699         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
59700         Check for the lchmod function.
59701
59702 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
59703
59704         Update from coreutils.
59705
59706         * lib/__fpending.h: Add copyright notice.
59707         * lib/fprintftime.h: Likewise.
59708         * lib/savedir.c: Use (C) in copyright notice.
59709         * lib/savedir.h: Likewise.
59710
59711         2006-08-15  Jim Meyering  <jim@meyering.net>
59712
59713         * lib/at-func.c: New file, with the logic of all emulated at-functions.
59714         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
59715         in support of the EXPECTED_ERRNO macro.
59716         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
59717         definitions.  Instead, define the appropriate symbols and include
59718         "at-func.c".
59719         * lib/mkdirat.c (mkdirat): Likewise.
59720         * lib/fchmodat.c (fchmodat): Likewise.
59721         (ENOSYS): Remove definition.
59722         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
59723         it.  Don't include "unistd--.h" -- it wasn't ever used.
59724
59725         2006-01-17  Jim Meyering  <jim@meyering.net>
59726
59727         Rewrite fts.c not to change the current working directory,
59728         by using openat, fstatat, fdopendir, etc..
59729
59730         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
59731         (HAVE_OPENAT_SUPPORT): Define.
59732         [_LIBC] (fchdir): Don't undef or define; no longer used.
59733         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
59734         Now, this `function' always succeeds, and consumes its file descriptor
59735         parameter -- so callers must not close such FDs.  Update callers.
59736         (diropen_fd, opendirat, cwd_advance_fd): New functions.
59737         (diropen): Add parameter, SP.  Adjust all callers.
59738         Implement using diropen_fd, rather than open.
59739         (fts_open): Initialize new member, fts_cwd_fd.
59740         Remove fts_rft-setting code.
59741         (fts_close): Close fts_cwd_fd, if necessary.
59742         (__opendir2): Define in terms of opendir or opendirat,
59743         depending on whether the FST_NOCHDIR flag is set.
59744         (fts_build): Since fts_safe_changedir consumes its FD, and since
59745         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
59746         and close the dup'd file descriptor upon failure.
59747         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
59748         (fts_safe_changedir): Tweak semantics to reflect that this function
59749         now calls cwd_advance_fd and hence consumes its FD argument.
59750         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
59751         [struct FTS] (fts_rft): Remove now-unused member.
59752         [struct FTS] (fts_cycle.state): Improve comment.
59753
59754         * lib/openat.c (openat_needs_fchdir): New function.
59755         * lib/openat.h (openat_needs_fchdir): Declare it.
59756
59757 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
59758
59759         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
59760         Problem and fix reported by Pádraig Brady in
59761         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
59762
59763 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59764
59765         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
59766
59767 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59768
59769         * lib/memcoll.c (memcoll): Optimize for the common case where the
59770         arguments are bytewise equal.
59771
59772 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59773
59774         * doc/regexprops-generic.texi: Add a copyright notice.
59775
59776 2006-08-15  Bruno Haible  <bruno@clisp.org>
59777
59778         * modules/tmpdir (License): Change to LGPL.
59779
59780 2006-08-15  Bruno Haible  <bruno@clisp.org>
59781
59782         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
59783         module.
59784
59785 2006-08-14  Simon Josefsson  <jas@extundo.com>
59786
59787         * config/srclist.txt: Add gnupload.
59788
59789 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59790
59791         Change copyright notice from LGPL 2 to GPL 2, since that's the
59792         standard form used in the gnulib repository.
59793         * tests/test-lock.c: Likewise.
59794         * tests/test-stdint.c: Likewise.
59795         * tests/test-tls.c: Likewise.
59796
59797         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
59798         prelude-manager.  User shorter URLs for GNU projects, without '?'.
59799         Add copyright notice.
59800
59801         * check-module: Add copyright notice.  Output a copyright
59802         notice if "--version" is specified.
59803         * modules/COPYING: New file.
59804         * tests/test-getaddrinfo.c: Add copyright notice.
59805         * tests/test-verify.c: Likewise.
59806
59807 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59808
59809         Change copyright notice from LGPL 2 to GPL 2, since that's the
59810         standard form used in the gnulib repository.
59811         * lib/lock.c: LGPL -> GPL.
59812         * lib/lock.h: Likewise.
59813         * lib/strnlen1.c: Likewise.
59814         * lib/strnlen1.h: Likewise.
59815         * lib/tls.c: Likewise.
59816         * lib/tls.h: Likewise.
59817         * lib/tmpdir.c: Likewise.
59818
59819         * lib/TODO: Remove; this belongs only in coreutils.
59820
59821 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59822
59823         Add copyright notices to long-enough files that lack them, since
59824         otherwise the files aren't clearly free.  Use the same notice that
59825         getdate.texi already uses.
59826         * doc/alloca-opt.texi: Add copyright notice.
59827         * doc/alloca.texi: Likewise.
59828         * doc/ctime.texi: Likewise.
59829         * doc/functions.texi: Likewise.
59830         * doc/gcd.texi: Likewise.
59831         * doc/gnulib-tool.texi: Likewise.
59832         * doc/inet_ntoa.texi: Likewise.
59833         * doc/visibility.texi: Likewise.
59834
59835         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
59836         * doc/quote.texi: Add copyright notice.
59837
59838         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
59839         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
59840         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
59841         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
59842         is now obsolete, and give a pointer to the Sun list.
59843         Add copyright notice.
59844
59845 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
59846
59847         * config/srclistvars.sh: Add copyright notice.
59848
59849 2006-08-14  Eric Blake  <ebb9@byu.net>
59850
59851         Import the following change from libc:
59852
59853         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
59854
59855         Upstream bug 2997.
59856         * lib/misc/error.c: Add space between program name and message if file
59857         name is missing.
59858
59859 2006-08-12  Karl Berry  <karl@gnu.org>
59860
59861         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
59862         remove, these originate in gnulib now.
59863
59864 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59865
59866         * doc/Makefile (standards.info standards.html standards.dvi):
59867         Also depend on make-stds.texi.
59868
59869 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
59870
59871         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
59872         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
59873
59874         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
59875         in wchar_t.  Problem reported by Eric Blake.
59876
59877         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
59878         LEN is smaller than SIZE.  Suggested by Bruno Haible.
59879         Also, help the compiler to keep LEN in a register.
59880
59881 2006-08-11  Eric Blake  <ebb9@byu.net>
59882
59883         * users.txt: Sort.  Add tar.
59884
59885 2006-08-11  Bruno Haible  <bruno@clisp.org>
59886
59887         * users.txt: New file.
59888
59889 2006-08-11  Bruno Haible  <bruno@clisp.org>
59890
59891         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
59892         before <wchar.h>. Needed for OSF/1 and BSD/OS.
59893
59894 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
59895
59896         * modules/snprintf (Depends-on): Remove minmax.
59897         (Maintainer): Add self and Bruno.
59898
59899 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
59900
59901         * lib/.cppi-disable: Add snprintf.h, socket_.h.
59902         * lib/snprintf.c: Include <errno.h> and <limits.h>.
59903         (EOVERFLOW): Define if the system does not.
59904         Do not include "minmax.h"; it wasn't used.
59905         (snprintf): Don't assume size_t promotes to an unsigned type.
59906         Fix bug when generated string was too long for the buffer: the
59907         buffer's contents are supposed to be the initial prefix of the
59908         output.  Don't assume vasnprintf returns EOVERFLOW if the size
59909         exceeds INT_MAX; do the check ourselves.
59910
59911         Import the following changes from libc:
59912
59913         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
59914
59915         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
59916         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
59917         set wc to the byte which couldn't be converted.
59918         (re_string_reconstruct): Don't clear valid_raw_len before calling
59919         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
59920         tip_context using re_string_context_at.
59921
59922         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
59923
59924         * lib/posix/regex.h: g++ still cannot handled [restrict].
59925
59926         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
59927
59928         * lib/posix/regex.h: Remove special handling for VMS.
59929
59930 2006-08-10  Jim Meyering  <jim@meyering.net>
59931
59932         * modules/same-inode: New module.
59933         * modules/dev-ino: New module.
59934         * modules/cycle-check: Depend on these modules, rather than simply
59935         including their .h files.
59936         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
59937         required via m4/cycle-check.m4.
59938         * modules/same: Depend on new same-inode module, rather than
59939         including same-inode.h.
59940         * modules/chdir-safer: New file.
59941
59942         * modules/chown (Depends-on): Add stat-macros.
59943
59944 2006-08-10  Jim Meyering  <jim@meyering.net>
59945
59946         * m4/cycle-check.m4: New file.
59947         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
59948         * m4/dev-ino.m4, m4/same-inode.m4: New files.
59949
59950 2006-08-10  Eric Blake  <ebb9@byu.net>
59951
59952         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
59953         in from original proposal.
59954
59955 2006-08-10  Eric Blake  <ebb9@byu.net>
59956         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
59957
59958         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
59959         namespace.
59960
59961 2006-08-10  Bruno Haible  <bruno@clisp.org>
59962
59963         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
59964         as well.
59965
59966 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59967
59968         Sync from coreutils.
59969
59970         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
59971
59972         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
59973         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
59974
59975 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59976
59977         * modules/restrict: Remove; no longer needed now that we assume
59978         Autoconf 2.59 or later.
59979         * MODULES.html.sh: Remove 'restrict'.
59980         * modules/argp (Depends-on): Remove 'restrict'.
59981         * modules/base64 (Depends-on): Likewise.
59982         * modules/gc (Depends-on): Likewise.
59983         * modules/getaddrinfo (Depends-on): Likewise.
59984         * modules/glob (Depends-on): Likewise.
59985         * modules/inet_ntop (Depends-on): Likewise.
59986         * modules/inet_pton (Depends-on): Likewise.
59987         * modules/memxor (Depends-on): Likewise.
59988         * modules/regex (Depends-on): Likewise.
59989         * modules/strtok_r (Depends-on): Likewise.
59990         * modules/time_r (Depends-on): Likewise.
59991
59992 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
59993
59994         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
59995         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
59996         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
59997         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
59998         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
59999         * m4/memxor.m4 (gl_MEMXOR): Likewise.
60000         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
60001         gl_C_RESTRICT replaced by AC_C_RESTRICT.
60002
60003         Merge from coreutils.
60004         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
60005         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
60006         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
60007         * m4/time_r.m4 (gl_TIME_R): Likewise.
60008
60009 2006-08-09  Karl Berry  <karl@gnu.org>
60010
60011         * config/srclist.txt: no more gettext-tools, per Bruno.
60012
60013 2006-08-08  Eric Blake  <ebb9@byu.net>
60014
60015         * modules/verror: New module.
60016         * MODULES.html.sh: Document it.
60017
60018 2006-08-08  Eric Blake  <ebb9@byu.net>
60019
60020         * lib/verror.h, lib/verror.c: New files.
60021
60022 2006-08-08  Eric Blake  <ebb9@byu.net>
60023
60024         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
60025         verror_at_line output complies with GNU Coding Standards even when
60026         file is NULL.
60027
60028 2006-08-07  Bruno Haible  <bruno@clisp.org>
60029
60030         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
60031         versions of AIX.
60032         Reported by Ralf Wildenhues.
60033
60034 2006-08-07  Bruno Haible  <bruno@clisp.org>
60035
60036         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
60037         in an AC_DEFUN. Needed so that the autoconf snippets can use
60038         AC_REQUIRE.
60039
60040 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60041
60042         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60043         Initialize pkgdata_DATA.
60044         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
60045         overriding it.
60046
60047 2006-08-06  Eric Blake  <ebb9@byu.net>
60048
60049         * lib/error.h: Fold in some upstream changes from glibc.
60050         * lib/error.c: Likewise.
60051
60052 2006-08-04  Bruno Haible  <bruno@clisp.org>
60053
60054         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60055         Make the mostlyclean-local rule depend on mostlyclean-generic.
60056         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
60057
60058 2006-07-31  Bruno Haible  <bruno@clisp.org>
60059
60060         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
60061         <stdlib.h>, <string.h>.
60062
60063 2006-07-30  Bruno Haible  <bruno@clisp.org>
60064
60065         * modules/readlink (License): Change to LGPL.
60066
60067 2006-07-30  Bruno Haible  <bruno@clisp.org>
60068
60069         * modules/javaversion (Makefile.am): Distribute javaversion.java and
60070         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
60071         set PKGDATADIR to point to it.
60072
60073 2006-07-30  Bruno Haible  <bruno@clisp.org>
60074
60075         * modules/csharpexec (configure.ac): Comment out macro invocation.
60076         * modules/javaexec (configure.ac): Likewise.
60077         * modules/javacomp-script (configure.ac): Likewise.
60078
60079         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
60080
60081 2006-07-30  Bruno Haible  <bruno@clisp.org>
60082
60083         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
60084         linked-list.
60085
60086 2006-07-30  Bruno Haible  <bruno@clisp.org>
60087
60088         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
60089
60090 2006-07-30  Bruno Haible  <bruno@clisp.org>
60091
60092         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
60093         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
60094         get removed.
60095
60096 2006-07-29  Bruno Haible  <bruno@clisp.org>
60097
60098         Make it possible for gnulib-tool to work with locally modified or
60099         augmented gnulib repositories.
60100         * gnulib-tool (func_usage): Document --local-dir option.
60101         (local_gnulib_dir): New variable.
60102         Handle --local-dir option.
60103         (func_lookup_file): New function.
60104         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
60105         (func_get_description, func_get_filelist, func_get_description,
60106         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
60107         func_get_automake_snippet, func_get_include_directive,
60108         func_get_license, func_get_maintainer): Use func_lookup_file.
60109         (func_import, func_create_testdir): Use func_lookup_file.
60110
60111 2006-07-29  Bruno Haible  <bruno@clisp.org>
60112
60113         * modules/setenv (Depends-on): Add unistd.
60114
60115 2006-07-29  Bruno Haible  <bruno@clisp.org>
60116
60117         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
60118
60119 2006-07-29  Bruno Haible  <bruno@clisp.org>
60120
60121         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
60122
60123 2006-07-29  Bruno Haible  <bruno@clisp.org>
60124
60125         * gnulib-tool (import, update): If there is no Makefile.am, look at
60126         aclocal.m4, instead of bailing out.
60127
60128 2006-07-29  Bruno Haible  <bruno@clisp.org>
60129
60130         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
60131         Categorize the options by when they are useful.
60132
60133 2006-07-29  Bruno Haible  <bruno@clisp.org>
60134
60135         * gnulib-tool (func_usage): Document option --no-libtool.
60136         Handle option --no-libtool.
60137         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
60138         for changed semantics of $libtool variable.
60139         (func_import): Likewise. If libtool is not used, show this through
60140         an option --no-libtool.
60141         (func_create_testdir): Update.
60142
60143 2006-07-29  Bruno Haible  <bruno@clisp.org>
60144
60145         * gnulib-tool (func_import): Extend error message about missing
60146         --doc-base.
60147
60148 2006-07-29  Bruno Haible  <bruno@clisp.org>
60149
60150         * gnulib-tool (func_import): Don't create the $docbase directory if
60151         there is no file to store there.
60152
60153 2006-07-29  Bruno Haible  <bruno@clisp.org>
60154
60155         * gnulib-tool (autoconf_minversion): If a --dir option is given and
60156         relevant, look for configure.ac there, not in the current directory.
60157         Also use a simple search for AC_PREREQ, not "autoconf --trace".
60158
60159 2006-07-29  Bruno Haible  <bruno@clisp.org>
60160
60161         * gnulib-tool (SORT): New variable.
60162         (func_usage): Undocument --assume-autoconf option.
60163         Remove --assume-autoconf option handling.
60164         (autoconf_minversion): Determine from the contents of configure.ac.
60165         (func_import): Remove autoconf_minversion handling.
60166         Suggested by Eric Blake.
60167
60168 2006-07-29  Bruno Haible  <bruno@clisp.org>
60169
60170         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
60171
60172 2006-07-29  Bruno Haible  <bruno@clisp.org>
60173
60174         * config/srclist.txt (*setenv.[ch]): Remove rules.
60175
60176 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60177
60178         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
60179
60180 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60181
60182         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
60183         arpa/inet.h.
60184
60185 2006-07-28  Simon Josefsson  <jas@extundo.com>
60186
60187         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
60188         * modules/inet_pton (Depends-on): Likewise.
60189
60190 2006-07-28  Simon Josefsson  <jas@extundo.com>
60191
60192         * m4/netinet_in_h.m4: New file.
60193
60194 2006-07-28  Simon Josefsson  <jas@extundo.com>
60195
60196         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
60197         #include's.
60198
60199 2006-07-28  Simon Josefsson  <jas@extundo.com>
60200
60201         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
60202         #include's.
60203
60204 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
60205
60206         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
60207         setgid on directories only if they set these bits.
60208         * lib/modechange.h: Remove obsolete comment about masks.
60209
60210 2006-07-28  Eric Blake  <ebb9@byu.net>
60211
60212         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
60213         macro expansion.
60214
60215 2006-07-28  Bruno Haible  <bruno@clisp.org>
60216
60217         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
60218
60219 2006-07-28  Bruno Haible  <bruno@clisp.org>
60220
60221         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
60222
60223 2006-07-28  Bruno Haible  <bruno@clisp.org>
60224
60225         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
60226         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
60227         Define fallbacks.
60228         Avoids link error on FreeBSD 4.x.
60229         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
60230
60231         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
60232         encoding.
60233         * lib/mbswidth.c (iswcntrl): Likewise.
60234
60235 2006-07-27  Bruno Haible  <bruno@clisp.org>
60236
60237         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
60238         test.
60239
60240 2006-07-27  Bruno Haible  <bruno@clisp.org>
60241
60242         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
60243         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
60244         defined.
60245
60246 2006-07-26  Eric Blake  <ebb9@byu.net>
60247
60248         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
60249
60250 2006-07-26  Eric Blake  <ebb9@byu.net>
60251
60252         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
60253         like mingw that lack mkstemp.
60254         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
60255         avoid compilation warning on mingw.
60256
60257 2006-07-26  Bruno Haible  <bruno@clisp.org>
60258
60259         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
60260         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
60261         INT_FAST*_MIN, INTPTR_MIN.
60262
60263 2006-07-25  Bruno Haible  <bruno@clisp.org>
60264
60265         * modules/version-etc (Depends-on): Add stdarg.
60266
60267 2006-07-25  Bruno Haible  <bruno@clisp.org>
60268
60269         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
60270         complex commands.
60271
60272 2006-07-25  Bruno Haible  <bruno@clisp.org>
60273
60274         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
60275         defined in <stdarg.h> or config.h.
60276
60277 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
60278
60279         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
60280         (gl_STDIO_SAFER): Remove.
60281
60282 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
60283
60284         * MODULES.html.sh (File stream based Input/Output):
60285         Add fopen-safer, tmpfile-safer; remove stdio-safer.
60286         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
60287         * modules/fopen-safer, modules/tmpfile-safer: New files.
60288         * modules/stdio-safer: Remove.
60289
60290 2006-07-24  Bruno Haible  <bruno@clisp.org>
60291
60292         * modules/tmpdir: New file.
60293         * MODULES.html.sh (File system functions): Add it.
60294
60295 2006-07-24  Bruno Haible  <bruno@clisp.org>
60296
60297         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
60298         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
60299
60300 2006-07-24  Bruno Haible  <bruno@clisp.org>
60301
60302         * modules/clean-temp: New file.
60303
60304 2006-07-24  Bruno Haible  <bruno@clisp.org>
60305
60306         * m4/tmpdir.m4: New file, from GNU gettext.
60307
60308 2006-07-24  Bruno Haible  <bruno@clisp.org>
60309
60310         * lib/tmpdir.h: New file, from GNU gettext.
60311         * lib/tmpdir.c: New file, from GNU gettext.
60312
60313 2006-07-24  Bruno Haible  <bruno@clisp.org>
60314
60315         * lib/clean-temp.h: New file, from GNU gettext.
60316         * lib/clean-temp.c: New file, from GNU gettext.
60317
60318 2006-07-23  Eric Blake  <ebb9@byu.net>
60319
60320         * modules/stdio-safer (Files): Add tmpfile-safer.c.
60321         (Depends-on): Add binary-io.
60322
60323 2006-07-23  Eric Blake  <ebb9@byu.net>
60324
60325         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
60326
60327 2006-07-23  Eric Blake  <ebb9@byu.net>
60328
60329         * lib/tmpfile-safer.c: New file.
60330         * lib/stdio-safer.h (fopen_safer): Add prototype.
60331         * lib/stdio--.h (tmpfile): Make safer.
60332
60333 2006-07-23  Bruno Haible  <bruno@clisp.org>
60334
60335         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
60336         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
60337         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
60338         gl_linked_remove_at): Use it.
60339
60340 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60341         and Simon Josefsson <jas@extundo.com>
60342
60343         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
60344
60345         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
60346
60347 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
60348
60349         * modules/close-stream: New file.
60350         * modules/closeout (Description): Make it clear that it exits
60351         with a diagnostic on error.
60352         (Depends-on): Add close-stream.  Remove fpending, stdbool.
60353         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
60354
60355 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
60356
60357         * m4/close-stream.m4: New file.
60358
60359 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
60360
60361         * lib/close-stream.c, lib/close-stream.h: New files.
60362
60363 2006-07-22  Bruno Haible  <bruno@clisp.org>
60364
60365         Merge from GNU gettext 0.15.
60366
60367         2006-05-01  Bruno Haible  <bruno@clisp.org>
60368
60369                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
60370
60371         2006-07-22  Bruno Haible  <bruno@clisp.org>
60372
60373                 * modules/javaversion: New file.
60374                 * MODULES.html.sh (Java): Add javaversion.
60375
60376         2006-03-12  Bruno Haible  <bruno@clisp.org>
60377
60378                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
60379
60380         2005-12-04  Bruno Haible  <bruno@clisp.org>
60381
60382                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
60383                 (untested).
60384
60385         2006-06-21  Bruno Haible  <bruno@clisp.org>
60386
60387                 Avoid warnings from recent versions of mcs.
60388                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
60389                 -o, -L, -r any more. Use options documented since mcs-1.0
60390                 instead. Similarly for -g.
60391
60392         2005-12-04  Bruno Haible  <bruno@clisp.org>
60393
60394                 * build-aux/csharpcomp.sh.in: Suffix for resources is
60395                 .resources, not .resource.
60396
60397         2005-07-09  Bruno Haible  <bruno@clisp.org>
60398
60399                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
60400                 add a .dll suffix.
60401                 Reported by Mark Junker <mjscod@gmx.de>.
60402
60403         2006-07-22  Bruno Haible  <bruno@clisp.org>
60404
60405                 * modules/gettext: Upgrade to gettext-0.15.
60406                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
60407                 m4/visibility.m4.
60408                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
60409
60410 2006-07-22  Bruno Haible  <bruno@clisp.org>
60411
60412         Merge from GNU gettext 0.15.
60413
60414         2006-03-25  Bruno Haible  <bruno@clisp.org>
60415
60416                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
60417
60418         2006-07-21  Bruno Haible  <bruno@clisp.org>
60419
60420                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
60421                 "1.1".
60422
60423         2006-05-09  Bruno Haible  <bruno@clisp.org>
60424
60425                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
60426                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
60427                 for the conftestver execution.
60428
60429         2006-05-01  Bruno Haible  <bruno@clisp.org>
60430
60431                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
60432                 optional target-version argument. Verify that the compiler
60433                 groks source of the specified source-version, or add -source
60434                 option as necessary. Verify that the compiler produces
60435                 bytecode in the specified target-version, or add -target and
60436                 -source options as necessary. Make the result of the test
60437                 available as variable CONF_JAVAC. Also log error output in
60438                 config.log.
60439
60440         2006-03-11  Bruno Haible  <bruno@clisp.org>
60441
60442                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
60443
60444         2006-05-09  Bruno Haible  <bruno@clisp.org>
60445
60446                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
60447                 CLASSPATH_SEPARATOR to a semicolon.
60448
60449         2006-03-12  Bruno Haible  <bruno@clisp.org>
60450
60451                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
60452                 available as variable CONF_JAVA, for subsequent autoconf
60453                 tests. Also log error output in config.log.
60454
60455         2006-07-19  Bruno Haible  <bruno@clisp.org>
60456
60457                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
60458                 that getline works on glibc2 systems. Needed to avoid trouble
60459                 in relocatable.c.
60460                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
60461
60462         2005-12-04  Bruno Haible  <bruno@clisp.org>
60463
60464                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
60465                 launcher (untested).
60466
60467         2005-12-04  Bruno Haible  <bruno@clisp.org>
60468
60469                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
60470
60471         2006-07-22  Bruno Haible  <bruno@clisp.org>
60472
60473                 * gettext.m4: Update from GNU gettext-0.15.
60474                 * nls.m4: Likewise.
60475                 * po.m4: Likewise.
60476                 * inttypes-pri.m4: Likewise.
60477                 * inttypes-h.m4: Renamed from inttypes.m4.
60478                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
60479
60480 2006-07-22  Bruno Haible  <bruno@clisp.org>
60481
60482         Merge from GNU gettext 0.15.
60483
60484         2005-07-05  Bruno Haible  <bruno@clisp.org>
60485
60486                 * printf-args.c (printf_fetchargs): Work around broken
60487                 definition of wint_t on mingw.
60488
60489         2005-02-12  Bruno Haible  <bruno@clisp.org>
60490
60491                 * xallocsa.h: Add extern "C" for C++.
60492
60493         2006-05-17  Bruno Haible  <bruno@clisp.org>
60494
60495                 Cygwin portability.
60496                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
60497
60498         2006-04-30  Bruno Haible  <bruno@clisp.org>
60499
60500                 * progreloc.c: Include <mach-o/dyld.h> if available.
60501                 (find_executable): Use _NSGetExecutablePath when possible.
60502
60503         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
60504
60505                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
60506                 function.
60507
60508         2005-12-29  Bruno Haible  <bruno@clisp.org>
60509
60510                 * progreloc.c (set_program_name_and_installdir): Fix
60511                 compilation error.
60512
60513         2005-12-04  Bruno Haible  <bruno@clisp.org>
60514
60515                 Cygwin portability.
60516                 * progreloc.c: Include <windows.h> also on Cygwin.
60517                 (find_executable): Add support for Cygwin.
60518                 (set_program_name_and_installdir): Handle also platforms with
60519                 nonempty EXEEXT.
60520
60521         2006-07-11  Bruno Haible  <bruno@clisp.org>
60522
60523                 * javacomp.c: Fix a comment.
60524                 Reported by Jim Meyering.
60525
60526         2006-04-30  Bruno Haible  <bruno@clisp.org>
60527
60528                 * javacomp.h (compile_java_class): Add source_version,
60529                 target_version arguments.
60530                 * javacomp.c: Rewritten to choose only a compiler that
60531                 respects the specified source_version and target_version.
60532
60533         2006-06-27  Bruno Haible  <bruno@clisp.org>
60534
60535                 Assume correct S_ISDIR macro.
60536                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
60537
60538         2006-07-22  Bruno Haible  <bruno@clisp.org>
60539
60540                 * javaversion.h: New file, from GNU gettext.
60541                 * javaversion.c: New file, from GNU gettext.
60542                 * javaversion.java: New file, from GNU gettext.
60543                 * javaversion.class: New file, from GNU gettext.
60544
60545         2006-05-17  Bruno Haible  <bruno@clisp.org>
60546
60547                 Cygwin portability.
60548                 * javaexec.c (execute_java_class): Test for jview program
60549                 also on Cygwin.
60550
60551         2006-04-09  Bruno Haible  <bruno@clisp.org>
60552
60553                 * fatal-signal.c: Don't include string.h.
60554                 (at_fatal_signal): Use a copying loop instead of memcpy.
60555
60556         2005-12-04  Bruno Haible  <bruno@clisp.org>
60557
60558                 * csharpexec.c: Add support for 'clix' launcher (untested).
60559                 (execute_csharp_using_sscli): New function.
60560                 (execute_csharp_program): Call it.
60561
60562         2006-06-21  Bruno Haible  <bruno@clisp.org>
60563
60564                 Avoid warnings from recent versions of mcs.
60565                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
60566                 -o, -L, -r any more. Use options documented since mcs-1.0
60567                 instead. Similarly for -g.
60568
60569         2005-07-09  Bruno Haible  <bruno@clisp.org>
60570
60571                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
60572                 add a .dll suffix.
60573                 Reported by Mark Junker <mjscod@gmx.de>.
60574
60575         2006-06-17  Bruno Haible  <bruno@clisp.org>
60576
60577                 * config.charset: Update for NetBSD 3.0.
60578
60579         2006-05-17  Bruno Haible  <bruno@clisp.org>
60580
60581                 Cygwin portability.
60582                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
60583
60584         2006-05-16  Bruno Haible  <bruno@clisp.org>
60585
60586                 * localcharset.c [CYGWIN]: Include <windows.h>.
60587                 (get_charset_aliases): For Cygwin, return the same CPxxx
60588                 aliases list as under WIN32.
60589                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
60590                 the environment variables. Fall back to GetACP().
60591
60592         2006-04-05  Bruno Haible  <bruno@clisp.org>
60593
60594                 * config.charset: Update Juan Manuel Guerrero's address.
60595
60596         2005-02-12  Bruno Haible  <bruno@clisp.org>
60597
60598                 * allocsa.h: Add extern "C" for C++.
60599
60600         2005-02-10  Bruno Haible  <bruno@clisp.org>
60601
60602                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
60603                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
60604
60605         2006-07-22  Bruno Haible  <bruno@clisp.org>
60606
60607                 * gettext.h: Update to GNU gettext-0.15.
60608
60609 2006-07-22  Bruno Haible  <bruno@clisp.org>
60610
60611         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
60612         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
60613         lib-prefix.m4, longdouble.m4, ssize_t.m4.
60614
60615 2006-07-21  Eric Blake  <ebb9@byu.net>
60616
60617         * modules/stdlib-safer: New file.
60618         * MODULES.html.sh (File stream based Input/Output): Add
60619         stdlib-safer.
60620
60621 2006-07-21  Eric Blake  <ebb9@byu.net>
60622
60623         * lib/stdlib-safer.h: New file from coreutils, required by
60624         stdlib--.h.
60625
60626 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
60627
60628         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
60629
60630 2006-07-20  Bruno Haible  <bruno@clisp.org>
60631
60632         * gnulib-tool: Recognize new option --assume-autoconf.
60633         (autoconf_minversion): New variable.
60634         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
60635
60636 2006-07-20  Bruno Haible  <bruno@clisp.org>
60637
60638         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
60639
60640 2006-07-19  Derek R. Price  <derek@ximbiot.com>
60641
60642         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
60643         Reindent and repaginate.
60644
60645 2006-07-19  Derek Price  <derek@ximbiot.com>
60646
60647         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
60648         Correct grammar.
60649
60650 2006-07-17  Bruno Haible  <bruno@clisp.org>
60651
60652         * modules/list: New file.
60653         * modules/array-list: New file.
60654         * modules/carray-list, modules/carray-list-tests: New files.
60655         * modules/linked-list, modules/linked-list-tests: New files.
60656         * modules/avltree-list, modules/avltree-list-tests: New files.
60657         * modules/rbtree-list, modules/rbtree-list-tests: New files.
60658         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
60659         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
60660         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
60661         * modules/oset: New file.
60662         * modules/array-oset: New file.
60663         * modules/avltree-oset, modules/avltree-oset-tests: New files.
60664         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
60665         * tests/test-carray_list.c: New file.
60666         * tests/test-linked_list.c: New file.
60667         * tests/test-avltree_list.c: New file.
60668         * tests/test-rbtree_list.c: New file.
60669         * tests/test-linkedhash_list.c: New file.
60670         * tests/test-avltreehash_list.c: New file.
60671         * tests/test-rbtreehash_list.c: New file.
60672         * tests/test-avltree_oset.c: New file.
60673         * tests/test-rbtree_oset.c: New file.
60674         * MODULES.html.sh (Container data structures): New section.
60675
60676 2006-07-17  Bruno Haible  <bruno@clisp.org>
60677
60678         * m4/gl_list.m4: New file.
60679
60680 2006-07-17  Bruno Haible  <bruno@clisp.org>
60681
60682         * lib/gl_list.h: New file.
60683         * lib/gl_list.c: New file.
60684         * lib/gl_array_list.h: New file.
60685         * lib/gl_array_list.c: New file.
60686         * lib/gl_carray_list.h: New file.
60687         * lib/gl_carray_list.c: New file.
60688         * lib/gl_linked_list.h: New file.
60689         * lib/gl_linked_list.c: New file.
60690         * lib/gl_anylinked_list1.h: New file.
60691         * lib/gl_anylinked_list2.h: New file.
60692         * lib/gl_avltree_list.h: New file.
60693         * lib/gl_avltree_list.c: New file.
60694         * lib/gl_anyavltree_list1.h: New file.
60695         * lib/gl_anyavltree_list2.h: New file.
60696         * lib/gl_rbtree_list.h: New file.
60697         * lib/gl_rbtree_list.c: New file.
60698         * lib/gl_anyrbtree_list1.h: New file.
60699         * lib/gl_anyrbtree_list2.h: New file.
60700         * lib/gl_anytree_list1.h: New file.
60701         * lib/gl_anytree_list2.h: New file.
60702         * lib/gl_linkedhash_list.h: New file.
60703         * lib/gl_linkedhash_list.c: New file.
60704         * lib/gl_anyhash_list1.h: New file.
60705         * lib/gl_anyhash_list2.h: New file.
60706         * lib/gl_avltreehash_list.h: New file.
60707         * lib/gl_avltreehash_list.c: New file.
60708         * lib/gl_rbtreehash_list.h: New file.
60709         * lib/gl_rbtreehash_list.c: New file.
60710         * lib/gl_anytreehash_list1.h: New file.
60711         * lib/gl_anytreehash_list2.h: New file.
60712
60713         * lib/gl_oset.h: New file.
60714         * lib/gl_oset.c: New file.
60715         * lib/gl_array_oset.h: New file.
60716         * lib/gl_array_oset.c: New file.
60717         * lib/gl_avltree_oset.h: New file.
60718         * lib/gl_avltree_oset.c: New file.
60719         * lib/gl_rbtree_oset.h: New file.
60720         * lib/gl_rbtree_oset.c: New file.
60721         * lib/gl_anytree_oset.h: New file.
60722
60723 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
60724
60725         * m4/mkancesdirs.m4: New file.
60726         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
60727         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
60728         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
60729         it.
60730
60731 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
60732
60733         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
60734         * lib/mkancesdirs.h: New files.
60735         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
60736         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
60737         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
60738         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
60739         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
60740         callers changed.  Revamp internals significantly, by not
60741         attempting to create directories that are temporarily more
60742         permissive than the final results.  Do not attempt to use
60743         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
60744         This removes some race conditions, fixes some bugs, and simplifies
60745         things.  Use new dirchownmod function to do owner and mode changes.
60746         * lib/mkdir-p.h: Likewise.
60747         * lib/modechange.c (octal_to_mode): New function.
60748         (struct mode_change): New member mentioned.
60749         (make_node_op_equals): New arg mentioned.  All callers changed.
60750         (mode_compile): Keep track of which mode bits the user has explicitly
60751         mentioned.
60752         (mode_adjust): New arg DIR, so that we implement the X op correctly.
60753         New arg PMODE_BITS, to keep track of which mode bits the user
60754         mentioned; it treats S_ISUID and S_ISGID speciall.
60755         All callers changed.
60756         * lib/modechange.h: Likewise.
60757
60758 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
60759
60760         * MODULES.html.sh: Add mkancestors.
60761         * modules/mkancesdirs: New module.
60762         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
60763         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
60764         The chdir-safer and afs files are now orphans; I'll remove them
60765         unless someone speaks up.
60766         Add lib/dirchownmod.c, lib/dirchownmod.h.
60767         (Depends-on): Remove alloca, chown, save-cwd, dirname.
60768         Add lchown, mkancesdirs.
60769         (Maintainer): Add self.
60770
60771 2006-07-15  Karl Berry  <karl@gnu.org>
60772
60773         * gnulib-tool: help message wording/arrangement.
60774
60775 2006-07-14  Simon Josefsson  <jas@extundo.com>
60776
60777         * doc/gnulib.texi (Libtool and Windows): New section.
60778
60779 2006-07-12  Simon Josefsson  <jas@extundo.com>
60780
60781         * modules/gendocs (License): Fix license, approved by Karl.
60782
60783 2006-07-12  Eric Blake  <ebb9@byu.net>
60784
60785         * MODULES.html.sh: Add gendocs.
60786
60787 2006-07-11  Eric Blake  <ebb9@byu.net>
60788
60789         * modules/fdl: New module, to install doc/fdl.texi.
60790         * MODULES.html.sh: Add new section for documentation modules.
60791         * gnulib-tool: Avoid space-tab.
60792         (--doc-base): New option, to manage files from doc.
60793
60794 2006-07-11  Eric Blake  <ebb9@byu.net>
60795
60796         * m4/absolute-header.m4: Fix comments to match recent change.
60797
60798 2006-07-11  Eric Blake  <ebb9@byu.net>
60799
60800         * gnulib-tool: List --doc-base before --tests-base.
60801
60802 2006-07-11  Derek R. Price  <derek@ximbiot.com>
60803
60804         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
60805
60806 2006-07-11  Bruno Haible  <bruno@clisp.org>
60807
60808         * README: Mention where to put documentation.
60809
60810 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60811
60812         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
60813
60814 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
60815
60816         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
60817         to stdint.m4.
60818
60819 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
60820
60821         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
60822         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
60823         "no/such/file/stdint.h" when there is no such file, so that
60824         the resulting C code can be parsed by dodgy compilers.
60825         Problems reported by Bob Proulx.
60826
60827 2006-07-10  Derek R. Price  <derek@ximbiot.com>
60828
60829         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
60830         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
60831         macros into the GNU _D_EXACT_NAMLEN.
60832         * lib/savedir.c:  Likewise.
60833         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
60834
60835 2006-07-10  Derek R. Price  <derek@ximbiot.com>
60836         and Paul Eggert  <eggert@cs.ucla.edu>
60837
60838         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
60839         * m4/savedir.m4:
60840         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
60841         macros into the GNU _D_EXACT_NAMLEN.
60842
60843 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
60844
60845         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
60846         around the absolute name, to work around a problem with the HP-UX
60847         11.23 native C compiler, reported by Bob Proulx.
60848
60849 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
60850
60851         * doc/maintain.texi, make-stds.texi: Sync from
60852         <http://savannah.gnu.org/projects/gnustandards>.
60853
60854 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
60855
60856         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
60857
60858 2006-07-09  Jim Meyering  <jim@meyering.net>
60859
60860         * m4/glob.m4: Remove a doubled word in a comment.
60861
60862 2006-07-09  Jim Meyering  <jim@meyering.net>
60863
60864         * lib/argp-pv.c: Remove a doubled word in a comment.
60865         * lib/check-version.c (check_version): Likewise.
60866         * lib/javacomp.c (compile_java_class): Likewise.
60867
60868 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
60869
60870         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
60871         for the benefit of people using Autoconf 2.60.  If you want to
60872         support older Autoconf versions you can copy m4/onceonly_2_57.m4
60873         (or m4/onceonly.m4, if pre-2.57) manually.
60874
60875 2006-07-08  Jim Meyering  <jim@meyering.net>
60876
60877         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
60878         comment.
60879         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
60880         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
60881         comment.
60882
60883 2006-07-08  Jim Meyering  <jim@meyering.net>
60884
60885         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
60886
60887 2006-07-07  Simon Josefsson  <jas@extundo.com>
60888
60889         * tests/test-crc.c: Change expected crc value, the test vector
60890         were probably computed using the old broken crc.c?
60891
60892 2006-07-06  Simon Josefsson  <jas@extundo.com>
60893
60894         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
60895         now the canonical place for the M4 file).
60896
60897         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
60898         from the sys_socket dependency now.
60899
60900         * modules/inet_pton (Files): Ditto.
60901
60902         * modules/inet_ntop (Files): Ditto.
60903
60904 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
60905
60906         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
60907         not gl_PREREQ_GETUSERSHELL.
60908
60909 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60910
60911         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
60912         with only one argument, for Autoconf 2.60.
60913         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
60914         expand to nothing, so add a shell command to avoid syntax error.
60915         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
60916
60917 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60918
60919         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
60920
60921 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
60922
60923         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
60924         no longer needed.  Check for isblank decl.
60925         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
60926         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
60927         of existence.
60928
60929 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
60930
60931         * lib/getloadavg.c: Use __VMS, not VMS.
60932         * lib/getopt.c: Likewise.
60933         * lib/getpagesize.h: Likewise.
60934         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
60935         and probably does not work.
60936
60937 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
60938
60939         * lib/.cppi-disable: Add wcwidth.
60940         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
60941         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
60942         (ISGRAPH): Remove.  All uses changed to isgraph.
60943         (FOLD) [!defined _LIBC]: Remove special case.
60944         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
60945         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
60946         HAVE_ISBLANK.
60947         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
60948         case.
60949
60950 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
60951
60952         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
60953         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
60954         brackets.  Other minor changes to suppress some compiler
60955         warnings.
60956
60957 2006-07-06  Derek R. Price  <derek@ximbiot.com>
60958         and Paul Eggert  <eggert@cs.ucla.edu>
60959
60960         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
60961         of invoking obsolescent AC_HEADER_DIRENT macro.
60962         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
60963         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
60964         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
60965         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
60966         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
60967         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
60968         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
60969         * m4/readdir.m4: Remove; no longer needed.
60970
60971 2006-07-06  Derek R. Price  <derek@ximbiot.com>
60972         and Paul Eggert  <eggert@cs.ucla.edu>
60973
60974         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
60975         Don't worry about this obsolete case any more.
60976         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
60977         directories.
60978         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
60979         worry about this obsolete case any more.
60980         * lib/fts.c: Likewise.
60981         * lib/getcwd.c: Likewise.
60982         * lib/glob.h: Likewise.
60983         * lib/savedir.c: Likewise.
60984
60985 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
60986
60987         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
60988         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
60989         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
60990         needed.
60991         All uses removed.
60992         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
60993         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
60994         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
60995         needed.
60996         * m4/getdate.m4 (gl_GETDATE): Likewise.
60997         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
60998         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
60999         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
61000         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
61001         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
61002         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
61003         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
61004         needed.
61005
61006 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
61007
61008         * lib/memcasecmp.c: Include <limits.h>.
61009         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
61010         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
61011         Don't assume isdigit succeeds only on '0' through '9'.
61012
61013 2006-07-05  Eric Blake  <ebb9@byu.net>
61014
61015         * modules/getaddrinfo (Depends-on): Add snprintf.
61016
61017 2006-07-05  Eric Blake  <ebb9@byu.net>
61018
61019         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
61020         to avoid 'header present but could not be compiled' on cygwin.
61021
61022 2006-07-05  Eric Blake  <ebb9@byu.net>
61023
61024         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
61025         missing from netdb.h.
61026         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
61027
61028 2006-07-05  Derek R. Price  <derek@ximbiot.com>
61029
61030         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
61031         no longer needed.
61032         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
61033         * m4/getdate.m4 (gl_GETDATE): Likewise.
61034         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
61035         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
61036         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
61037         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
61038         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
61039
61040 2006-07-05  Derek R. Price  <derek@ximbiot.com>
61041
61042         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
61043         All uses of is_space replaced by isspace.
61044         * lib/exit.h: Don't talk about STDC_HEADERS.
61045         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
61046         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
61047         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
61048         replaced by isprint etc.
61049         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
61050         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
61051         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
61052         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
61053         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
61054         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
61055
61056 2006-07-05  Bruno Haible  <bruno@clisp.org>
61057
61058         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
61059         the function exists, before testing against AIX.
61060         Reported by Martin Lambers <marlam@marlam.de>.
61061
61062 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
61063
61064         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
61065         From Mark D. Baushke.
61066
61067 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
61068
61069         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
61070         to the absolute name, not just one, to bypass Sun C 5.8's
61071         "warning: #include of /usr/include/... may be non-portable".
61072
61073 2006-07-04  Eric Blake  <ebb9@byu.net>
61074
61075         * modules/dirname-tests: New test module.
61076         * tests/test-dirname.c: New file, replacing dirname.c
61077         TEST_DIRNAME section that was recently deleted.
61078
61079 2006-07-04  Bruno Haible  <bruno@clisp.org>
61080
61081         Assume ANSI C header files and <ctype.h> functions.
61082         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
61083         (mbsnwidth): Use isprint, iscntrl instead.
61084
61085 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
61086
61087         Merge from coreutils.
61088         * MODULES.html.sh: Add xstrtold.
61089         * modules/xstrtold: New file.
61090         * modules/cycle-check (Files): Add lib/same-inode.h.
61091         * modules/dirname (Files): Add m4/double-slash-root.m4.
61092         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
61093         * modules/mkdir-p (Files): Add lib/same-inode.h.
61094         * modules/same (Files): Add lib/same-inode.h.
61095
61096 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
61097
61098         * m4/absolute-header.m4: Renamed from full-header-path.m4.
61099         This is to keep the terminology clean; POSIX talks about
61100         "absolute pathnames", not "full pathnames", but the GNU
61101         Coding Standards say to use "path" for something else;
61102         so use "absolute" to keep both sides happy.
61103         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
61104         Set gl_absolute_header, not gl_full_header_path.
61105         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
61106         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
61107         All uses changed.
61108
61109         Merge from coreutils.
61110
61111         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
61112
61113         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
61114         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
61115         want to require the building of c-strtod.o.
61116         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
61117         needs -lm directly.
61118         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
61119
61120         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
61121
61122         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
61123         --as-needed option if available.  Problem reported by Albert Chin in
61124         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
61125         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
61126         cc merely issues a bunch of annoying warnings for --as-needed
61127         (this problem was reported by Bob Proulx).  Also, try linking with
61128         -lm to detect a bug in binutils 2.16 (this problem was reported
61129         by Ralf Wildenhues).
61130
61131         2006-06-18  Jim Meyering  <jim@meyering.net>
61132
61133         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
61134         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
61135         macro.
61136         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
61137         also check for glibc-2.4's abort-inducing bug.
61138
61139         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
61140         Low-probability clean-up should be to use rmdir to get rid of
61141         the just-created directory, not unlink.
61142
61143         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
61144         configure fail, and request a bug report to inform us about it.
61145         Add a comment that, barring reports to the contrary, in 2007 we'll
61146         assume ftruncate is universally available.
61147
61148         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
61149
61150         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
61151
61152         2006-03-12  Jim Meyering  <jim@meyering.net>
61153
61154         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
61155         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
61156         * m4/same.m4 (gl_SAME): Likewise.
61157         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
61158
61159         2006-03-11  Eric Blake  <ebb9@byu.net>
61160
61161         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
61162         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
61163         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
61164         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
61165
61166 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
61167
61168         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
61169         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
61170         reported by Mark D. Baushke, one in
61171         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
61172
61173         Merge from coreutils.
61174
61175         * lib/.cppi-disable: Add stdint_.h.
61176         * lib/.cvsignore: Add stdint.h.
61177
61178         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
61179
61180         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
61181         both double and long double versions.
61182         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
61183         * lib/xstrtold.c: New file.
61184         * lib/xstrtod.h (xstrtold): New decl.
61185
61186         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
61187
61188         * lib/filemode.c (setst): Remove.
61189         (strmode): Rewrite to avoid setst.  This makes the code shorter,
61190         (arguably) clearer, and the generated code is a bit smaller on my
61191         Debian GNU/Linux stable x86 host.
61192
61193         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
61194
61195         * lib/filemode.c: Include "filemode.h" first, to test the interface.
61196         Assume that filemode.h includes sys/types.h and sys/stat.h.
61197         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
61198         (ftypelet): Reorder to put common cases first, for efficiency.
61199         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
61200         to do 'M'.
61201         (strmode): Renamed from mode_string, and now stores 12 bytes instead
61202         of 10, for compatibility with FreeBSD.  All callers changed.
61203         (filemodestring): Now stores 12 bytes instead of 10, and sets file
61204         types that can't be deduced solely from st_mode.  First arg is now a
61205         const pointer.
61206         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
61207         (strmode): Renamed from mode_string.
61208         (filemodestring): New decl.
61209         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
61210         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
61211         needed.
61212         (S_ISPORT, S_ISWHT): New macros, if not already defined.
61213
61214         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
61215
61216         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
61217         fsusage.h now does that.  Include fsusage.h first, to test interface.
61218         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
61219         at most one method (the old code could have generated decls that
61220         didn't conform to C89, not that this was ever exercised).
61221         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
61222
61223         2006-03-19  Jim Meyering  <jim@meyering.net>
61224
61225         Work even in a chroot where d_ino values for entries in "/"
61226         don't match the stat.st_ino values for the same names.
61227         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
61228         number, iterate through all entries again, using lstat instead.
61229         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
61230         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
61231
61232         * lib/getcwd.c (__getcwd): Clarify a comment.
61233         Use memcpy in place of a call to strcpy.
61234
61235         2006-03-12  Jim Meyering  <jim@meyering.net>
61236
61237         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
61238         matches that of the current directory (which we're about to chdir ".."
61239         out of), then save the dev-ino of the parent, instead.
61240
61241         * lib/same-inode.h (SAME_INODE): New file/macro.
61242         * lib/chdir-safer.c (SAME_INODE): Remove definition.
61243         Include "same-inode.h", instead.
61244         * lib/same.c: Likewise.
61245         * lib/cycle-check.h: Include "same-inode.h".
61246         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
61247         * lib/cycle-check.c (SAME_INODE): Remove definition.
61248         * lib/root-dev-ino.h: Include "same-inode.h".
61249
61250         2006-03-11  Eric Blake  <ebb9@byu.net>
61251
61252         * lib/same.c (same_name): s/base_name/last_component/
61253         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
61254         * lib/filenamecat.c (file_name_concat): Likewise.
61255
61256         2006-03-11  Eric Blake  <ebb9@byu.net>,
61257                     Paul Eggert  <eggert@cs.ucla.edu>
61258
61259         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
61260         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
61261         drive prefix.
61262         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
61263         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
61264         (last_component): New method.
61265         * lib/dirname.c (dir_len): Determine when drive letters need a
61266         subsequent slash.  Preserve // when it is special.
61267         (dir_name): Don't append dot when drive letter is absolute.
61268         [TEST_DIRNAME]: Move into a full-blown gnulib test.
61269         * lib/basename.c (base_name): New semantics - malloc the result.
61270         Preserve // when it is special.  Preserve relative files that look
61271         like drive letters.
61272         (base_len): Preserve // when it is special.
61273         (last_component): New method, similar to old base_name semantics.
61274         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
61275         base_name.  Strip redundant slashes from ///.
61276
61277 2006-07-03  Jim Meyering  <jim@meyering.net>
61278
61279         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
61280         macro is used before the first cycle_check call.
61281
61282 2006-07-03  Eric Blake  <ebb9@byu.net>
61283
61284         * modules/dirname (Depends-on): Add xstrndup.
61285
61286 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
61287
61288         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
61289         test cases, so that config.log is a bit easier to follow.
61290
61291 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
61292
61293         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
61294         both are 64 bits, since this seems to be the tradition, and this
61295         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
61296         we ever run into a host that prefers long long to long in this
61297         case, we'll need another configure-time test.  Problem reported by
61298         Jim Meyering.
61299
61300 2006-07-02  Eric Blake  <ebb9@byu.net>
61301
61302         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
61303
61304 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
61305
61306         * modules/inttypes (Depends-on): No longer depends on stdint.
61307         * modules/stdint (Description): Say more about assumptions.
61308         Say that the fast types might differ.  Say macros are used.
61309         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
61310         (Makefile.am): Revise list of substituted symbols to match
61311         new stdint.m4.
61312         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
61313         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
61314         * tests/test-stdint.c (verify_same_types)
61315         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
61316         the code conforms to C99/C89.
61317         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
61318         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
61319
61320 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
61321
61322         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
61323         but fix a bug, by requiring at least 64 bits.
61324         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
61325         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
61326         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
61327         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
61328
61329         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
61330         changes.  Make 2.59 a prerequisite.  Check and substitute for
61331         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
61332         inttypes.h.  Do not use special include files; just use the
61333         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
61334         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
61335         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
61336         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
61337         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
61338         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
61339         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
61340         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
61341         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
61342         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
61343         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
61344         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
61345         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
61346         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
61347         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
61348         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
61349         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
61350         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
61351         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
61352         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
61353         WINT_MAX.  Check for C99 conformance more strictly, by detecting
61354         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
61355         not check for things that C99 does not require, e.g., int8_t.  If
61356         a test isn't needed unless <stdint.h> isn't working, and is
61357         unlikely to be needed for any other reason, then don't do it
61358         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
61359         size_t, since we assume C89 freestanding at least.  Do not check
61360         for sig_atomic_t, wchar_t, or wint_t, since the code now does
61361         the right thing even if the types are not defined.  Instead use:
61362         (gl_STDINT_TYPE_PROPERTIES): New macro.
61363         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
61364         testing whether <sys/types.h> clashes, as Autoconf does this for
61365         us now.  All uses removed.
61366         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
61367         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
61368         (gl_CHECK_TYPE_SAME):
61369         Remove; no longer needed.
61370         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
61371         exists, since we'll return 0 anyway in that case.
61372         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
61373
61374 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
61375
61376         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
61377         possible collision with system files.
61378         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
61379         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
61380         WCHAR_MIN and WCHAR_MAX in this case.
61381         (<stddef.h>): Do not include; no longer needed.
61382         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
61383         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
61384         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
61385         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
61386         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
61387         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
61388         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
61389         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
61390         !defined(__c99))]: Include in this case too, since it's harmless
61391         now.
61392         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
61393         dangerous to do so.
61394         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
61395         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
61396         (_STDINT_MIN, _STDINT_MAX): New macros.
61397         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
61398         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
61399         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
61400         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
61401         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
61402         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
61403         macros, not typedefs; this simplifies things quite a bit.
61404         Use long int for all types narrower than int64_t.
61405         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
61406         Define in terms of long long int or int64_t or long int,
61407         not int64_t or int32_t.  This saves some compile-time testing.
61408         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
61409         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
61410         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
61411         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
61412         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
61413         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
61414         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
61415         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
61416         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
61417         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
61418         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
61419         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
61420         undef any previous version and define our own version, for
61421         simplicity and consistency with the new macros for types.
61422         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
61423         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
61424         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
61425         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
61426         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
61427         @WINT_T_SUFFIX@ to keep things simple here.
61428         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
61429         Simplify by assuming typical 8/16/32/64 host, since we're
61430         already doing that elsewhere anyway.
61431         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
61432         and assume long long int is 64 bits if available.  This
61433         speeds up 'configure'.
61434
61435 2006-07-01  Eric Blake  <ebb9@byu.net>
61436
61437         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
61438         Reported by Andreas Buening.
61439
61440 2006-07-01  Eric Blake  <ebb9@byu.net>
61441
61442         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
61443
61444 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
61445
61446         * lib/getaddrinfo.c: fixed typo
61447
61448 2006-06-29  Jim Meyering  <jim@meyering.net>
61449
61450         * modules/strftime (Maintainer): Add my name, since with the
61451         FPRINTFTIME changes strftime.c has forked from glibc.
61452
61453 2006-06-29  Eric Blake  <ebb9@byu.net>
61454
61455         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
61456
61457 2006-06-29  Eric Blake  <ebb9@byu.net>
61458
61459         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
61460
61461 2006-06-29  Eric Blake  <ebb9@byu.net>
61462
61463         * lib/stat_.h: New file.
61464
61465 2006-06-29  Eric Blake  <ebb9@byu.net>
61466
61467         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
61468         unused static function.
61469
61470 2006-06-29  Eric Blake  <ebb9@byu.net>
61471
61472         * doc/functions.texi (Function Portability): Document missing lstat
61473         on mingw.
61474
61475 2006-06-29  Eric Blake  <ebb9@byu.net>
61476
61477         * MODULES.html.sh: Add sys_stat.
61478         * modules/sys_stat: New module.
61479         * modules/mkstemp (Depends-on): Add sys_stat.
61480
61481 2006-06-29  Derek R. Price  <derek@ximbiot.com>
61482
61483         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
61484
61485 2006-06-29  Derek R. Price  <derek@ximbiot.com>
61486
61487         * m4/c-bs-a.m4: Removed.
61488
61489 2006-06-29  Derek R. Price  <derek@ximbiot.com>
61490
61491         * lib/strftime.c: Assume strftime() exists.
61492
61493 2006-06-29  Derek Price  <derek@ximbiot.com>
61494
61495         * modules/c-bs-a: Removed - \a is C89.
61496         * MODULES.html.sh: Remove c-bs-a.
61497
61498 2006-06-29  Bruno Haible  <bruno@clisp.org>
61499
61500         * modules/wcwidth (License): Change to LGPL.
61501
61502 2006-06-28  Simon Josefsson  <jas@extundo.com>
61503
61504         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
61505         on _WIN32.
61506
61507         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
61508         getnameinfo.
61509
61510 2006-06-28  Simon Josefsson  <jas@extundo.com>
61511
61512         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
61513
61514 2006-06-28  Simon Josefsson  <jas@extundo.com>
61515
61516         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
61517         functions there.  It will succeed on Windows XP, but on Windows
61518         2000 and (presumably) earlier, it will fail, and use the internal
61519         re-implementation.
61520         (use_win32_p): New function.
61521         (getaddrinfo): Use strtoul on servname, to support numeric ports.
61522         Support AI_NUMERICSERV to disable getservbyname.
61523         (getnameinfo): New function, only supports
61524         NI_NUMERICHOST|NI_NUMERICSERV for now.
61525
61526         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
61527         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
61528         getnameinfo.
61529
61530 2006-06-28  Eric Blake  <ebb9@byu.net>
61531
61532         * modules/wcwidth: New file.
61533         * modules/mbchar (Depends-on): Add wcwidth.
61534         * modules/mbswidth (Depends-on): Add wcwidth.
61535         * MODULES.html.sh: Add wcwidth.
61536
61537 2006-06-28  Eric Blake  <ebb9@byu.net>
61538
61539         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
61540         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
61541
61542 2006-06-28  Eric Blake  <ebb9@byu.net>
61543
61544         * lib/xvasprintf.h: Fix comments.
61545
61546 2006-06-28  Eric Blake  <ebb9@byu.net>
61547
61548         * lib/mbchar.h (wcwidth): Include wcwidth.h.
61549         * lib/mbswidth.c (wcwidth): Move from here...
61550         * lib/wcwidth.h: ...to this new file.
61551
61552 2006-06-28  Derek R. Price  <derek@ximbiot.com>
61553
61554         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
61555
61556         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
61557         it's obsolete.
61558         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
61559
61560 2006-06-28  Derek R. Price  <derek@ximbiot.com>
61561
61562         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
61563         Autoconf 2.60 says this stuff was obsolete.
61564
61565 2006-06-28  Bruno Haible  <bruno@clisp.org>
61566
61567         * modules/wcwidth (Files): Add m4/wchar_t.m4.
61568
61569 2006-06-28  Bruno Haible  <bruno@clisp.org>
61570
61571         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
61572         gt_TYPE_WCHAR_T.
61573
61574 2006-06-28  Bruno Haible  <bruno@clisp.org>
61575
61576         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
61577         declaration for wcwidth.
61578         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
61579
61580 2006-06-28  Bruno Haible  <bruno@clisp.org>
61581
61582         * lib/mkdtemp.c [MINGW]: Include <io.h>.
61583         (mkdir): Define using _mkdir.
61584
61585 2006-06-28  Bruno Haible  <bruno@clisp.org>
61586
61587         * lib/getaddrinfo.h: Fix POSIX URL.
61588         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
61589         _WIN32.
61590         (use_win32_p): Make static.
61591         (getaddrinfo): Reject service name if it is empty or does not consist
61592         solely of decimal digits, or if its value is > 65535.
61593         (getnameinfo): Remove useless casts.
61594
61595 2006-06-27  Simon Josefsson  <jas@extundo.com>
61596
61597         * modules/sys_select: New file, suggested by Bruno Haible, Paul
61598         Eggert and Martin Lambers.
61599
61600 2006-06-27  Simon Josefsson  <jas@extundo.com>
61601
61602         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
61603         Eggert and Martin Lambers.
61604
61605 2006-06-27  Bruno Haible  <bruno@clisp.org>
61606
61607         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
61608         result to 0, not to empty.
61609         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
61610
61611 2006-06-27  Bruno Haible  <bruno@clisp.org>
61612
61613         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
61614
61615 2006-06-26  Simon Josefsson  <jas@extundo.com>
61616
61617         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
61618         present.
61619
61620 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
61621
61622         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
61623         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
61624         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
61625
61626 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
61627
61628         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
61629
61630 2006-06-26  Bruno Haible  <bruno@clisp.org>
61631
61632         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
61633
61634 2006-06-26  Bruno Haible  <bruno@clisp.org>
61635
61636         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
61637
61638 2006-06-26  Bruno Haible  <bruno@clisp.org>
61639
61640         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
61641         SGI C compiler in pre-C99 mode.
61642         Suggested by Mark D. Baushke and Larry Jones.
61643
61644 2006-06-26  Bruno Haible  <bruno@clisp.org>
61645
61646         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
61647         WCHAR_MAX.
61648         Reported by Mark D. Baushke and Larry Jones.
61649
61650 2006-06-26  Bruno Haible  <bruno@clisp.org>
61651
61652         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
61653         in pre-C99 mode.
61654         Suggested by Mark D. Baushke and Larry Jones.
61655
61656 2006-06-23  Simon Josefsson  <jas@extundo.com>
61657             Bruno Haible  <bruno@clisp.org>
61658
61659         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
61660         Emit mostlyclean-local rule.
61661         (func_emit_tests_Makefile_am): Likewise.
61662         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
61663
61664 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
61665
61666         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
61667
61668 2006-06-23  Bruno Haible  <bruno@clisp.org>
61669
61670         * tests/test-stdint.c: Update to match ISO C 99 Technical
61671         Corrigendum 1.
61672
61673 2006-06-23  Bruno Haible  <bruno@clisp.org>
61674
61675         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
61676
61677 2006-06-23  Bruno Haible  <bruno@clisp.org>
61678
61679         * lib/stdint_.h: Treat IRIX like OpenBSD.
61680
61681 2006-06-23  Bruno Haible  <bruno@clisp.org>
61682
61683         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
61684         ISO C 99 Technical Corrigendum 1.
61685
61686 2006-06-22  Simon Josefsson  <jas@extundo.com>
61687
61688         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
61689         MinGW.
61690
61691 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
61692
61693         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
61694         needed.  Some compiler complained about some of them.  Problem reported
61695         by Larry Jones in
61696         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
61697
61698 2006-06-21  Simon Josefsson  <jas@extundo.com>
61699
61700         * tests/test-getaddrinfo.c: New file.
61701
61702         * modules/getaddrinfo-tests: New file.
61703
61704         * MODULES.html.sh: Add inet_pton.
61705
61706         * modules/inet_pton: New file.
61707
61708 2006-06-21  Simon Josefsson  <jas@extundo.com>
61709
61710         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
61711         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
61712         of using the (limited) gnulib implementation on Windows XP.
61713
61714         * m4/inet_pton.m4: New file.
61715
61716 2006-06-21  Simon Josefsson  <jas@extundo.com>
61717
61718         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
61719         variable.
61720
61721         * lib/socket_.h: Don't define WINVER.
61722
61723         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
61724         slightly modified to work in gnulib.
61725
61726 2006-06-21  Simon Josefsson  <jas@extundo.com>
61727
61728         * doc/gnulib.texi (Windows sockets): Add.
61729
61730 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
61731
61732         * lib/read-file.c (fread_file): Start with buffer allocation of
61733         0 bytes rather than 1 byte; this simplifies the code.
61734         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
61735         code to free buffer and save/restore errno.
61736         (internal_read_file): Remove unused local.
61737
61738 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
61739
61740         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
61741         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
61742         Problem reported by Denis Excoffier in
61743         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
61744
61745 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61746
61747         * modules/sys_socket, modules/socklen: Include sys/types since
61748         FreeBSD 4.x's sys/socket.h needs it.
61749
61750 2006-06-19  Simon Josefsson  <jas@extundo.com>
61751
61752         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
61753
61754 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
61755
61756         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
61757
61758 2006-06-19  Bruno Haible  <bruno@clisp.org>
61759
61760         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
61761         and FULL_PATH_INTTYPES_H in angle brackets.
61762         Reported by Mark D. Baushke <mdb@gnu.org>.
61763
61764 2006-06-17  Eric Blake  <ebb9@byu.net>
61765
61766         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
61767         errno.
61768
61769 2006-06-17  Bruno Haible  <bruno@clisp.org>
61770
61771         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
61772         <sys/inttypes.h>.
61773
61774 2006-06-17  Bruno Haible  <bruno@clisp.org>
61775
61776         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
61777         whether errno is declared. Assume <errno.h> declares errno.
61778
61779 2006-06-17  Bruno Haible  <bruno@clisp.org>
61780
61781         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
61782
61783 2006-06-17  Bruno Haible  <bruno@clisp.org>
61784
61785         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
61786         problem on Solaris 2.5.1.
61787
61788 2006-06-16  Eric Blake  <ebb9@byu.net>
61789
61790         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
61791         * lib/unicodeio.c [!defined errno]: Likewise.
61792         * lib/strtol.c [!defined errno]: Likewise.
61793         * lib/strtod.c [!defined errno]: Likewise.
61794
61795 2006-06-15  Eric Blake  <ebb9@byu.net>
61796
61797         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
61798
61799 2006-06-15  Eric Blake  <ebb9@byu.net>
61800
61801         * config/srclist.txt (ssize_t.m4): Lose sync.
61802
61803 2006-06-15  Bruno Haible  <bruno@clisp.org>
61804
61805         * modules/stdint (Files): Include m4/full-header-path.m4,
61806         m4/size_max.m4, m4/wchar_t.m4.
61807         (Makefile.am): Many more substitutions.
61808         * modules/stdint-tests: New file.
61809         * tests/test-stdint.c: New file.
61810
61811 2006-06-15  Bruno Haible  <bruno@clisp.org>
61812
61813         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
61814         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
61815         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
61816         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
61817         gl_CHECK_TYPE_SAME): New macros.
61818
61819 2006-06-15  Bruno Haible  <bruno@clisp.org>
61820
61821         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
61822
61823 2006-06-15  Bruno Haible  <bruno@clisp.org>
61824
61825         * lib/stdint_.h: Rewritten to be fully auto-configured.
61826         Fixes bug on HP-UX/IA64.
61827
61828 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
61829
61830         * lib/getdate.y (__attribute__): Don't define if already defined.
61831         Problem reported by Larry Jones.
61832         * lib/utimens.c (__attribute__): Likewise.
61833
61834 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
61835
61836         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
61837         reported by Andreas Schwab.
61838
61839 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61840             Bruno Haible  <bruno@clisp.org>
61841
61842         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
61843         check for the declaration of strnlen and a run test that exposes the
61844         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
61845         rpl_strndup.
61846
61847 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61848             Bruno Haible  <bruno@clisp.org>
61849
61850         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
61851
61852 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61853
61854         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
61855         compile test, for Tru64 4.0D.
61856
61857 2006-05-28  Karl Berry  <karl@gnu.org>
61858
61859         * config/srclist.txt (printf-args.c): lose sync.
61860
61861 2006-05-26  Martin Lambers  <marlam@marlam.de>
61862
61863         * lib/getpass.c: Updates the test for the native W32 API, and adds
61864         missing includes, thus fixing compilation warnings.
61865
61866 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
61867
61868         * lib/exclude.c (exclude_fnmatch): New function.
61869         (excluded_file_name): Call exclude_fnmatch.
61870         * lib/exclude.h (excluded_file_name): New prototype
61871
61872 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
61873
61874         * lib/tempname.c (small_open, large_open): New macros.
61875         (__open, __open64) [!_LIBC]: Remove.
61876         (__gen_tempname): Use small_open and large_open instead of __open
61877         and __open64.  This fixes a portability bug on HP-UX 11.11i
61878         reported by Simon Wing-Tang in
61879         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
61880
61881 2006-05-24  Bruno Haible  <bruno@clisp.org>
61882
61883         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
61884         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
61885         Reported by Thorsten Maerz <torte@netztorte.de> via
61886         Aaron Stone <aaron@serendipity.cx>.
61887
61888 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
61889
61890         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
61891         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
61892         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
61893         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
61894         not really conditional on the cache.
61895         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
61896
61897 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
61898
61899         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
61900         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
61901         (my_usleep): Don't mishandle maximum value.
61902
61903 2006-05-19  Jim Meyering  <jim@meyering.net>
61904
61905         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
61906
61907 2006-05-17  Bruno Haible  <bruno@clisp.org>
61908
61909         Cygwin portability.
61910         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
61911
61912 2006-05-17  Bruno Haible  <bruno@clisp.org>
61913
61914         * lib/stdint_.h: Fix recognition of Cygwin.
61915
61916 2006-05-15  Bruno Haible  <bruno@clisp.org>
61917
61918         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
61919         on libtool patch by Ralf Wildenhues.
61920
61921 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
61922
61923         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
61924         test for C99 conformance; (bool) 0.5 is an integer constant
61925         expression, but (bool) -0.5 is not.  Problem reported by Fedor
61926         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
61927
61928 2006-05-11  Simon Josefsson  <jas@extundo.com>
61929
61930         * m4/xvasprintf.m4: Fix obvious typo.
61931
61932 2006-05-11  Jim Meyering  <jim@meyering.net>
61933
61934         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
61935         James Lemley.
61936
61937 2006-05-10  Simon Josefsson  <jas@extundo.com>
61938
61939         * lib/md4.c: Typo fix, update copyright years.
61940         (K1, K2): Don't use L because it turn computations into 64-bit on
61941         64-bit platforms.
61942
61943 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
61944
61945         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
61946         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
61947         unwanted sign propagation, e.g., on hosts with 64-bit int.
61948         There still are some problems with reeelly weird theoretical hosts
61949         (e.g., 33-bit int) but it's not worth worrying about now.
61950         * lib/sha1.c (rol): Likewise.
61951         (K1, K2, K3, K4): Remove unnecessary L suffix.
61952
61953 2006-05-10  Bruno Haible  <bruno@clisp.org>
61954
61955         * lib/des.c: Cast to avoid warnings.
61956
61957 2006-05-09  Bruno Haible  <bruno@clisp.org>
61958
61959         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
61960         (Depends-on): Depend also on xsize, stdarg.
61961         (configure.ac): Add gl_XVASPRINTF.
61962
61963 2006-05-09  Bruno Haible  <bruno@clisp.org>
61964
61965         * m4/xvasprintf.m4: New file.
61966
61967 2006-05-09  Bruno Haible  <bruno@clisp.org>
61968
61969         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
61970         (EOVERFLOW): Define fallback value.
61971         (xstrcat): New function.
61972         (xvasprintf): Recognize the special case of a string concatenation.
61973
61974 2006-05-08  Eric Blake  <ebb9@byu.net>
61975
61976         * gnulib-tool (func_version): Base copyright year on CVS date.
61977         (func_emit_copyright_notice): New function.
61978         (func_emit_lib_Makefile_am): Use it.
61979         (func_emit_tests_Makefile_am): Likewise.
61980         (func_import): Likewise.
61981
61982 2006-05-08  Bruno Haible  <bruno@clisp.org>
61983
61984         * modules/stdarg: New file.
61985         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
61986
61987 2006-05-08  Bruno Haible  <bruno@clisp.org>
61988
61989         * m4/stdarg.m4: New file, from GNU gettext.
61990
61991 2006-05-08  Bruno Haible  <bruno@clisp.org>
61992
61993         * config/srclist.txt (build-aux/config.rpath): different from latest
61994         release.
61995
61996 2006-05-08  Bruno Haible  <bruno@clisp.org>
61997
61998         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
61999
62000 2006-05-05  Jim Meyering  <jim@meyering.net>
62001
62002         * m4/warning.m4: New file, derived from bison's file by the same name.
62003
62004 2006-05-03  Bruno Haible  <bruno@clisp.org>
62005
62006         * lib/stdint_.h: Shorter URL.
62007         * lib/inttypes.h: Likewise.
62008
62009 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62010
62011         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
62012
62013 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62014
62015         * lib/verify.h: Document the internals better.  Most of this change
62016         was written by Bruno Haible.
62017
62018 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
62019
62020         * doc/verify.texi: New file, partly based on a proposal by
62021         Bruno Haible.
62022
62023 2006-05-02  Bruno Haible  <bruno@clisp.org>
62024
62025         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
62026         test from here...
62027         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
62028
62029 2006-04-29  Bruno Haible  <bruno@clisp.org>
62030
62031         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
62032         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
62033
62034 2006-04-29  Bruno Haible  <bruno@clisp.org>
62035
62036         * gnulib-tool: Make --update option actually work.
62037
62038 2006-04-29  Bruno Haible  <bruno@clisp.org>
62039
62040         * doc/gcd.texi: New file.
62041         * doc/gnulib.texi: Include it.
62042
62043 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
62044
62045         * lib/getdate.y (get_date): When adding relative date, start with the
62046         initial time, not with the result of the first mktime call.
62047
62048 2006-04-25  Bruno Haible  <bruno@clisp.org>
62049
62050         * gnulib-tool (func_import): Output the include directives in three
62051         blocks, sorted separately.
62052         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62053
62054 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
62055
62056         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
62057         to define main with arguments, for C++.  Reported by Eric Blake.
62058         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
62059         Prefer 'int main ()' to 'int main (void)', for C++.
62060         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
62061         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
62062         for 'main', for C99 and C++.
62063
62064 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
62065
62066         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
62067         Don't assume that exit status -1 is valid.
62068         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
62069         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
62070         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
62071         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
62072         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
62073         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
62074         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
62075         functions can be used without declaring them, or that you can
62076         exit with status -1.
62077         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
62078
62079 2006-04-24  Karl Berry  <karl@gnu.org>
62080
62081         * config/srclist.txt (longdouble.m4): sync lost.
62082
62083 2006-04-24  Eric Blake  <ebb9@byu.net>
62084
62085         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
62086
62087 2006-04-24  Bruno Haible  <bruno@clisp.org>
62088
62089         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
62090         poll() implementation in AIX.
62091         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62092
62093 2006-04-24  Bruno Haible  <bruno@clisp.org>
62094
62095         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
62096         assigned exactly once.
62097
62098 2006-04-23  Claudio Fontana  <claudio@gnu.org>
62099             Bruno Haible  <bruno@clisp.org>
62100
62101         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
62102         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
62103         for AM_CPPFLAGS.
62104
62105 2006-04-23  Bruno Haible  <bruno@clisp.org>
62106
62107         * modules/copy-file: Depend on unistd.
62108         * modules/execute: Likewise.
62109         * modules/fatal-signal: Likewise.
62110         * modules/findprog: Likewise.
62111         * modules/mkdtemp : Likewise.
62112         * modules/pipe: Likewise.
62113         * modules/wait-process: Likewise.
62114
62115 2006-04-23  Bruno Haible  <bruno@clisp.org>
62116
62117         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
62118         condition was already detected.
62119         Reported by Ben Pfaff <blp@cs.stanford.edu>.
62120
62121 2006-04-23  Bruno Haible  <bruno@clisp.org>
62122
62123         * lib/copy-file.c: Include <unistd.h> unconditionally.
62124         * lib/execute.c: Likewise.
62125         * lib/fatal-signal.c: Likewise.
62126         * lib/findprog.c: Likewise.
62127         * lib/mkdtemp.c: Likewise.
62128         * lib/pipe.h: Likewise.
62129         * lib/pipe.c: Likewise.
62130         * lib/wait-process.h: Likewise.
62131
62132 2006-04-23  Bruno Haible  <bruno@clisp.org>
62133
62134         * gnulib-tool (func_usage): Fix --import description. Document
62135         --update.
62136         (func_import): Create temporary file in a temporary directory, if
62137         --dry-run is specified. Silence errors from 'grep' when there are no
62138         m4 files in $m4dir.
62139         (func_create_testdir): Silence errors from 'grep' when there are no
62140         m4 files in $m4dir.
62141         Reported by Karl Berry <karl@freefriends.org>.
62142
62143 2006-04-20  Bruno Haible  <bruno@clisp.org>
62144
62145         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
62146         one argument, so that the code will be portable to Autoconf 2.60.
62147         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
62148         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
62149         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
62150
62151 2006-04-19  Derek Price  <derek@ximbiot.com>
62152             Eric Blake  <ebb9@byu.net>
62153
62154         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
62155         rather than "/full/path.h".  Update comment to match.  Shorten &
62156         generalize m4_translit call via AS_TR_CPP.
62157
62158 2006-04-19  Derek Price  <derek@ximbiot.com>
62159             Eric Blake  <ebb9@byu.net>
62160
62161         * lib/inttypes.h: Correct grammar in comment.
62162
62163 2006-04-18  Derek Price  <derek@ximbiot.com>
62164             Paul Eggert  <eggert@cs.ucla.edu>
62165
62166         * modules/inttypes: New file.
62167         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
62168
62169 2006-04-18  Derek Price  <derek@ximbiot.com>
62170             Paul Eggert  <eggert@cs.ucla.edu>
62171
62172         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
62173         New files.
62174
62175 2006-04-18  Derek Price  <derek@ximbiot.com>
62176             Paul Eggert  <eggert@cs.ucla.edu>
62177
62178         * lib/inttypes.h: New file.
62179         * lib/strtoimax.c: Assume <inttypes.h>.
62180
62181 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
62182
62183         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
62184         isn't mounted.  Problem reported by Kir Kolyshkin.
62185
62186 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
62187
62188         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
62189         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
62190         Derek R. Price.
62191         * lib/regex.h (RE_DUP_MAX): Update comment to match current
62192         implementation.
62193
62194 2006-04-12  Eric Blake  <ebb9@byu.net>
62195
62196         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
62197         is now done automatically by the corresponding Autoconf macro.
62198
62199 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
62200
62201         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
62202         time_r.h.
62203
62204 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
62205
62206         Merge regex changes from libc, removing some of our
62207         POSIX-conformance changes that were rejected and redoing them in a
62208         less-intrusive way.
62209
62210         * lib/regcomp.c (re_compile_internal, init_dfa):
62211         Length arg is now size_t, not Idx.  All uses changed.
62212         (peek_token): Forward decl now says internal_function.
62213         (__re_error_msgid, __re_error_msgid_idx):
62214         Now static rather than extern with attribute_hidden.
62215         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
62216         For some reason libc prefers K&R style defns for external functions.
62217         (regerror) [!defined _LIBC]: Likewise.
62218         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
62219         (seek_collating_symbol_entry, lookup_collation_sequence_value):
62220         (build_range_exp, build_collating_symbol):
62221         Use K&R-style defn.
62222         (re_compile_fastmap): Use '\0' to memset, not 0.
62223         (utf8_sb_map): Make the calculations more obvious.
62224         (init_dfa, parse_bracket_exp, build_charclass_op):
62225         Call calloc and cast result, as glibc does.
62226         (init_word_char, fetch_token, peek_token, peek_token_bracket):
62227         (build_range_exp, build_collating_symbol):
62228         Now internal functions.
62229
62230         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
62231
62232         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
62233         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
62234         Don't depend on VMS; depend on __VMS instead, for POSIX
62235         namespace cleanness.
62236         (regoff_t): Define to ssize_t, not long int.
62237
62238         Remove the REG_ macros named below.  Instead, make the old names
62239         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
62240         __USE_GNU_REGEX.
62241         (REG_BACKSLASH_ESCAPE_IN_LISTS):
62242         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
62243         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
62244         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
62245         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
62246         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
62247         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
62248         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
62249         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
62250         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
62251         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
62252         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
62253         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
62254         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
62255         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
62256         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
62257         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
62258         (REG_NREGS):
62259         Remove.  All uses replaced by the old RE_* names.
62260         (RE_BACKSLASH_ESCAPE_IN_LISTS):
62261         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
62262         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
62263         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
62264         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
62265         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
62266         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
62267         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
62268         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
62269         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
62270         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
62271         Don't bother having these macros be independent of each others'
62272         values, since they no longer exist in the POSIX name space.
62273
62274         Rename the following member names back to their old names,
62275         unless !__USE_GNU_REGEX.  All uses changed back.
62276         (buffer): Renamed from re_buffer.
62277         (allocated): Renamed from re_allocated.
62278         (used): Renamed from re_used.
62279         (syntax): Renamed from re_syntax.
62280         (fastmap): Renamed from re_fastmap.
62281         (translate): Renamed from re_translate.
62282         (can_be_null): Renamed from re_can_be_null.
62283         (regs_allocated): Renamed from re_regs_allocated.
62284         (fastmap_accurate): Renamed from re_fastmap_accurate.
62285         (no_sub): Renamed from re_no_sub.
62286         (not_bol): Renamed from re_not_bol.
62287         (not_eol): Renamed from re_not_eol.
62288         (newline_anchor): Renamed from re_newline_anchor.
62289         (num_regs): Renamed from rm_num_regs.
62290         (start): Renamed from rm_start.
62291         (end): Renamed from rm_end.
62292
62293         (free_state): Move up a bit.
62294
62295         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
62296         #define to be empty.
62297         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
62298         when that is what is intended.
62299         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
62300         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
62301         (MAX): New macro.
62302         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
62303         All uses changed back to re_malloc, etc.  It's now the caller's
62304         responsibility to check for overflow; all callers changed.
62305         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
62306         (re_x2nrealloc): Remove.
62307         (free_state): Remove decl.
62308
62309         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
62310         (re_set_registers, re_exec):
62311         Use K&R-style defn.
62312
62313         2006-01-31  Roland McGrath  <roland@redhat.com>
62314
62315         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
62316         Reported by Mike Frysinger <vapier@gentoo.org>.
62317
62318         2006-01-15  Andreas Jaeger  <aj@suse.de>
62319
62320         [BZ #1950]
62321         * lib/regex_internal.c (re_string_reconstruct): Adjust for
62322         build_wcs_upper_buffer change.
62323         (build_wcs_upper_buffer): Change return type.
62324
62325         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
62326
62327         * lib/regex_internal.h: Include <stdint.h> if available.
62328
62329         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
62330
62331         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
62332
62333         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
62334
62335         * lib/regcomp.c: Adjust for changed secondary hash function.
62336
62337         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
62338
62339         * lib/regex.h: Pretty printing.
62340         Clean up namespace a bit.
62341
62342         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
62343
62344         * lib/regexec.c (update_cur_sifted_state, check_arrival,
62345         check_arrival_add_next_nodes): Avoid using uninitialized variable.
62346
62347         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
62348                     Ulrich Drepper  <drepper@redhat.com>
62349
62350         [BZ #1302]
62351         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
62352         changed.
62353         (bitset_word_t): Renamed from bitset_word.  All uses changed.
62354
62355         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
62356
62357         [BZ #281]
62358         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
62359         * lib/regcomp.c: Remove unnecessary uses of
62360         unsigned RE_TRANSLATE_TYPE.
62361         * lib/regex_internal.h: Likewise.
62362         * lib/regex_internal.c: Likewise.
62363         * lib/regexec.c: Likewise.
62364         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
62365
62366         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
62367
62368         * lib/regexec.c (find_recover_state): Remove unnecessary
62369         initialization.
62370         (transit_state_bkref): Make DFA a const pointer.
62371         (get_subexp): Likewise.
62372         (check_arrival): Likewise.
62373         (update_cur_sifted_state): Likewise.
62374         (re_search_internal): Likewise.
62375         (prune_impossible_nodes): Likewise.
62376         (acquire_init_state_context): Likewise.
62377         (proceed_next_node): Likewise.
62378         (set_regs): Likewise.
62379         (free_fail_stack_return): Likewise.
62380         (check_arrival_expand_ecl): Mark DFA parameter as const.
62381         (check_arrival_expand_ecl_sub): Likewise.
62382         (check_subexp_limits): Likewise.
62383         (sub_epsilon_src_nodes):  Likewise.
62384         (add_epsilon_src_nodes):  Likewise.
62385         (merge_state_array): Likewise.
62386         (update_regs): Likewise.
62387         (build_trtable): Likewise.
62388         (sift_states_backward): Mark MCTX parameter as const.
62389         (build_sifted_states): Likewise.
62390         (update_cur_sifted_state): Likewise.
62391         (sift_states_mkref): Likewise.
62392         (check_arrival_expand_ecl): Mark eclosure as const.
62393         (check_dst_limits_calc_pos_1): Likewise.
62394         * lib/regex_internal.h (re_match_context_t): Make dfa a const
62395         pointer.
62396
62397         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
62398
62399         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
62400         (transit_state_sb): Likewise.
62401         (transit_state_mb): Likewise.
62402         (sift_states_iter_mb): Likewise.
62403         (check_arrival_add_next_nodes): Likewise.
62404         (check_node_accept_bytes): Change first parameter to pointer-to-const.
62405         [_LIBC] (re_search_2_stub): Use mempcpy.
62406
62407         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
62408         mbrtowc for very simple UTF-8 case.
62409
62410         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
62411         a pointer-to-const.
62412         (re_acquire_state_context): Likewise.
62413         * lib/regex_internal.h: Adjust prototypes.
62414
62415         * lib/regex.c: Prevent using C++ compilers.
62416
62417         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
62418         (re_acquire_state_context): Likewise.
62419
62420 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
62421
62422         * modules/regex (Depends-on): Add ssize_t.
62423
62424 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
62425
62426         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
62427         translation table.
62428
62429 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
62430
62431         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
62432
62433 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
62434             Bruno Haible  <bruno@clisp.org>
62435
62436         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
62437         <sys/types.h> and <inttypes.h>.
62438
62439 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62440
62441         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
62442         `__error_t_defined', so argp.h will not typedef the former.
62443
62444 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
62445
62446         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
62447         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
62448         glibc names.  Even if glibc is changed to conform to POSIX, the
62449         traditional names will be available anyway, since regex depends on
62450         the extensions module.  Also, fix a longstanding typo in the
62451         implementation of Spencer ERE test #75 from grep 2.3.  Problems
62452         reported by Emanuele Giaquinta.  Also, change sense of cached
62453         variable, so that the message makes sense.
62454
62455 2006-03-24  Simon Josefsson  <jas@extundo.com>
62456
62457         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
62458         including some doc fixes.
62459         (base64_encode_alloc): Fix +1 bug on allocation failures.
62460
62461 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62462
62463         * lib/base64.c (base64_encode): Do not read past end of array with
62464         unsanitized input on systems with CHAR_BIT > 8.
62465
62466 2006-03-24  Eric Blake  <ebb9@byu.net>
62467
62468         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
62469
62470 2006-03-22  Karl Berry  <karl@gnu.org>
62471
62472         * config/srclist.txt (*setenv.[ch]): get from coreutils.
62473         * config/srclistvars.sh (COREUTILS): new var.
62474
62475 2006-03-17  Jim Meyering  <jim@meyering.net>
62476
62477         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
62478         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
62479
62480 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
62481
62482         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
62483         no longer needs it.  Instead, check that regoff_t is as least
62484         as wide as ptrdiff_t.
62485
62486         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
62487         so that our regex.h stays compatible with the installed regex.
62488         This is helpful for installers who configure --without-included-regex.
62489         Problem reported by Emanuele Giaquinta.
62490
62491 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
62492
62493         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
62494         Typedef to long int, not to off_, as POSIX will likely change
62495         in that direction.
62496
62497 2006-03-15  Eric Blake  <ebb9@byu.net>
62498
62499         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
62500
62501 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
62502
62503         * lib/argp-help.c (validate_uparams): Fix typo
62504         * lib/argp-parse.c (argp_default_options): Consistently begin help
62505         messages with a lowercase letter.
62506
62507 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
62508
62509         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
62510         overrun buffers and shouldn't be used (much as gets shouldn't be
62511         used).
62512         * lib/time_r.c (asctime_r, ctime_r): Likewise.
62513
62514 2006-03-08  Simon Josefsson  <jas@extundo.com>
62515
62516         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
62517         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62518
62519 2006-03-08  Simon Josefsson  <jas@extundo.com>
62520
62521         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
62522         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62523
62524 2006-03-08  Simon Josefsson  <jas@extundo.com>
62525
62526         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
62527         signal that configure disabled the device.
62528
62529 2006-03-08  Simon Josefsson  <jas@extundo.com>
62530
62531         * build-aux/maint.mk: Fix refresh-po, to handle no translated
62532         languages.
62533
62534 2006-03-07  Simon Josefsson  <jas@extundo.com>
62535
62536         * modules/getopt (Depends-on): Add unistd.
62537
62538         * modules/unistd: New file.
62539
62540 2006-03-07  Simon Josefsson  <jas@extundo.com>
62541
62542         * modules/gc-random: New file.
62543
62544 2006-03-07  Simon Josefsson  <jas@extundo.com>
62545
62546         * m4/unistd_h.m4: New file.
62547
62548 2006-03-07  Simon Josefsson  <jas@extundo.com>
62549
62550         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
62551         test to be side-effect free by storing the result in the cache
62552         variable gl_cv_lib_readline, and moving the assignment of
62553         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
62554         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62555
62556 2006-03-07  Simon Josefsson  <jas@extundo.com>
62557
62558         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
62559         error on missing devices (the functions will return an error).
62560
62561         * m4/gc.m4: Move random stuff to gc-random.m4
62562
62563 2006-03-07  Simon Josefsson  <jas@extundo.com>
62564
62565         * lib/unistd_.h: New file.
62566
62567 2006-03-07  Simon Josefsson  <jas@extundo.com>
62568
62569         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
62570
62571 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
62572
62573         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
62574         Problem reported by Juan Manuel Guerrero.
62575
62576 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
62577
62578         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
62579         the unistd module.
62580         * lib/getlogin_r.c: Likewise.
62581         * lib/getlogin_r.h: Likewise.
62582         * lib/glob.c: Likewise.
62583         * lib/pagealign_alloc.c: Likewise.
62584         * lib/unistd_.h: Remove; no longer needed.
62585
62586 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
62587
62588         * MODULES.html.sh (Support for systems lacking POSIX:2001):
62589         Add unistd.
62590         * modules/c-stack (Depends-on): Add unistd.
62591         * modules/getlogin_r: Likewise.
62592         * modules/glob: Likewise.
62593         * modules/pagealign_alloc: Likewise.
62594         * modules/unistd (Files): Remove lib/unistd_.h.
62595         (EXTRA_DIST): Remove.
62596         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
62597         need unistd_.h.
62598         (MOSTLYCLEANFILES): Remove unistd.h-t.
62599
62600 2006-03-03  Simon Josefsson  <jas@extundo.com>
62601
62602         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
62603
62604 2006-03-03  Simon Josefsson  <jas@extundo.com>
62605
62606         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
62607         libidn and bison.
62608
62609 2006-03-03  Simon Josefsson  <jas@extundo.com>
62610
62611         * build-aux/maint.mk: Add indent target.
62612
62613 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
62614
62615         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
62616         our replacement poll.h in any case, to avoid a differing
62617         declaration from a system header.  Seen on AIX.
62618
62619 2006-03-01  Simon Josefsson  <jas@extundo.com>
62620
62621         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
62622         <kasal@ucw.cz>.
62623
62624 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
62625
62626         * modules/gettime (Depends-on): Add extensions module.
62627         * modules/nanosleep (Depends-on): Likewise.
62628         * modules/settime (Depends-on): Likewise.
62629
62630 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
62631
62632         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
62633         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
62634         pedantically.
62635         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
62636         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
62637
62638         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
62639         not "==".  Reported by Ralf Wildenhues.
62640
62641 2006-03-01  Karl Berry  <karl@gnu.org>
62642
62643         * doc/Copyright/request-*: new files, synced from gnuorg.
62644
62645 2006-03-01  Karl Berry  <karl@gnu.org>
62646
62647         * config/srclist.txt (Copyright/*): new entries.
62648
62649 2006-02-28  Simon Josefsson  <jas@extundo.com>
62650
62651         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
62652
62653 2006-02-27  Simon Josefsson  <jas@extundo.com>
62654
62655         * lib/base64.h: Indent #define's.  From Jim Meyering
62656         <jim@meyering.net>.
62657
62658 2006-02-27  Jim Meyering  <jim@meyering.net>
62659
62660         Revert the change of 2006-02-24, so these files can continue
62661         to be sync'd from gettext.
62662         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
62663         of `config.h'.
62664
62665 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
62666
62667         * modules/intprops: New file.
62668         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
62669         Add intprops.
62670         * modules/getloadavg (Files): Remove lib/intprops.h.
62671         (Depends-on): Add intprops.
62672         * modules/human: Likewise.
62673         * modules/inttostr: Likewise.
62674         * modules/openat: Likewise.
62675         * modules/sig2str: Likewise.
62676         * modules/userspec: Likewise.
62677         * modules/utimecmp: Likewise.
62678         * modules/xnanosleep: Likewise.
62679         * modules/xstrtol: Likewise.
62680
62681 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
62682
62683         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
62684         * modules/lock-tests (TESTS): Use $(EXEEXT).
62685         * modules/tls-tests: Likewise.
62686         * modules/argp-tests: Likewise.
62687         (check_PROGRAMS): New var, replacing...
62688         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
62689
62690 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62691
62692         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
62693         `config.h'.
62694
62695 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
62696
62697         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
62698
62699 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62700
62701         Sync from coreutils.
62702         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
62703         gl_CHDIR_SAFER.
62704
62705 2006-02-22  Jim Meyering  <jim@meyering.net>
62706
62707         Sync from coreutils.
62708         * m4/chdir-safer.m4: New file.
62709
62710 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
62711
62712         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
62713         AT_FDCWD exceeds INT_MAX.
62714         * lib/openat.h (AT_FDCWD): Likewise.
62715
62716 2006-02-17  Eric Blake  <address@hidden>
62717
62718         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
62719
62720 2006-02-16  Simon Josefsson  <jas@extundo.com>
62721
62722         * modules/getaddrinfo (Depends-on): Add sys_socket.
62723
62724 2006-02-15  Simon Josefsson  <jas@extundo.com>
62725
62726         * build-aux/maint.mk: Add dsyntax-check rule.
62727
62728 2006-02-15  Eric Blake  <ebb9@byu.net>
62729
62730         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
62731         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
62732         'present but cannot compile' warnings on cygwin.
62733         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
62734         use ws2tcpip.h if sys/socket.h works.
62735         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
62736         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
62737
62738 2006-02-14  Simon Josefsson  <jas@extundo.com>
62739
62740         * modules/maintainer-makefile (Files): Rename.
62741
62742         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
62743         and (the local) Makefile.cfg to maint-cfg.mk.
62744
62745         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
62746         to the latter.
62747
62748         * modules/maintainer-makefile: New module.
62749
62750         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
62751         severaly stripped to make it possible to build it up from scratch
62752         with reliable tests.
62753
62754         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
62755         fixes to permit overriding the default actions when configure and
62756         makefile are not available.
62757
62758 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
62759
62760         Sync from coreutils.
62761         * modules/lstat (Depends-on): Don't depend on xalloc.
62762         (License): Change from GPL to LGPL, since this is now simply a
62763         replacement for a libc function.
62764
62765 2006-02-14  Jim Meyering  <jim@meyering.net>
62766
62767         Sync from coreutils.
62768
62769         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
62770         failure on deficient systems, and simplify gnulib lgpl dependencies.
62771         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
62772         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
62773
62774         * lib/xalloc-die.c: Remove unused definition of N_.
62775
62776 2006-02-14  Jim Meyering  <jim@meyering.net>
62777
62778         Sync from coreutils.
62779         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
62780         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
62781         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
62782         double-quote uses of that variable, to accommodate the rare case in
62783         which getmntent is available in none of the libraries checked.  This
62784         happens at least on FreeBSD 5.0.
62785
62786 2006-02-13  Simon Josefsson  <jas@extundo.com>
62787
62788         * gnulib-tool (Usage): Fix --import, from
62789         karl@freefriends.org (Karl Berry).
62790
62791 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
62792
62793         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
62794
62795 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
62796
62797         * lib/argp-namefrob.h: Restore changes accidentally lost during the
62798         "autoupdate" on 2005-12-12.
62799
62800 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
62801
62802         * modules/closeout (Depends-on): Remove atexit.
62803
62804 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
62805
62806         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
62807         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
62808
62809 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
62810
62811         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
62812         __EXTENSIONS__ if this causes compilation to fail.  Problem
62813         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
62814         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
62815
62816 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
62817
62818         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
62819         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
62820         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
62821         All uses changed.
62822
62823 2006-01-26  Simon Josefsson  <jas@extundo.com>
62824
62825         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
62826         prototype is visible on mingw32.
62827
62828         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
62829         for mingw32.
62830
62831         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
62832         mingw32).
62833
62834 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
62835
62836         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
62837         attempt to open for write; this always fails, at least on POSIX
62838         hosts.  This reinstates the 2006-01-09 change, which was
62839         inadvertently removed.
62840
62841 2006-01-26  Bruno Haible  <bruno@clisp.org>
62842
62843         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
62844         Reported by Paul Eggert.
62845
62846 2006-01-26  Bruno Haible  <bruno@clisp.org>
62847             Paul Eggert  <eggert@cs.ucla.edu>
62848
62849         * lib/stdbool_.h (_Bool)
62850         [(! (defined __cplusplus || defined __BEOS__)
62851           && !defined __GNUC__
62852           && !(defined __HP_cc || defined __xlc__
62853                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
62854                || defined __sgi))]:
62855         #define to signed char in these cases too; this simplifies
62856         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
62857         etc., separately) and makes it more conservative.
62858
62859 2006-01-25  Simon Josefsson  <jas@extundo.com>
62860
62861         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
62862         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
62863         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
62864
62865 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
62866
62867         * lib/argp-namefrob.h: Bugfix. Remove stray #
62868
62869 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
62870
62871         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
62872         so that we test the test.
62873         Check for yet another HP-UX cc bug involving *bool |= bool.
62874
62875 2006-01-25  Karl Berry  <karl@gnu.org>
62876
62877         * config/srclist.txt (vasnprintf.c): sync lost.
62878
62879 2006-01-25  Jim Meyering  <jim@meyering.net>
62880
62881         Sync from the stable (b5) branch of coreutils:
62882
62883         * lib/fts.c (fts_children): Don't let close() clobber errno from
62884         failed fchdir().
62885
62886         * lib/fts.c (fts_stat): When following a symlink-to-directory,
62887         don't necessarily interpret stat-fails+lstat-succeeds as indicating
62888         a dangling symlink.  That can also happen at least for ELOOP.
62889         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
62890         FYI, this bug predates the inclusion of fts.c in coreutils.
62891
62892         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
62893         in their own block, so pre-c99 compilers don't object.
62894
62895         Avoid the double-free (first in fts_read, second in fts_close) that
62896         would occur when an `active' directory is made inaccessible (e.g.,
62897         via chmod a-x) during a traversal.
62898         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
62899         before returning.  Reproduce this failure by
62900         mkdir -p a/b; cd a; chmod a-x . b
62901         Reported by Stavros Passas.
62902
62903 2006-01-25  Jim Meyering  <jim@meyering.net>
62904
62905         * lib/fileblocks.c: Remove more useless parentheses.
62906         * lib/readutmp.h: Likewise.
62907
62908 2006-01-25  Bruno Haible  <bruno@clisp.org>
62909
62910         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
62911         warnings.
62912         Reported by Paul Eggert.
62913
62914 2006-01-25  Bruno Haible  <bruno@clisp.org>
62915
62916         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
62917         rid of a trap command. For Solaris sh.
62918         Reported by Mark D. Baushke <mdb@gnu.org>.
62919
62920 2006-01-24  Simon Josefsson  <jas@extundo.com>
62921
62922         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
62923         Bruno.
62924
62925 2006-01-24  Karl Berry  <karl@gnu.org>
62926
62927         * config/srclist.txt (argp-namefrob.h): sync lost.
62928
62929 2006-01-24  Jim Meyering  <jim@meyering.net>
62930
62931         * modules/openat (Files): Add lib/intprops.h.
62932         From Mark D. Baushke.
62933
62934 2006-01-24  Jim Meyering  <jim@meyering.net>
62935
62936         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
62937         Reported by Mark D. Baushke.
62938
62939 2006-01-24  Jim Meyering  <jim@meyering.net>
62940
62941         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
62942
62943 2006-01-24  Bruno Haible  <bruno@clisp.org>
62944
62945         * modules/strnlen (Maintainer): Change from glibc to all.
62946
62947 2006-01-24  Bruno Haible  <bruno@clisp.org>
62948
62949         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
62950         Patch by Paul Eggert.
62951
62952 2006-01-24  Bruno Haible  <bruno@clisp.org>
62953
62954         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
62955         already has it.
62956         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
62957         2005-11-26.
62958
62959         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
62960         'signed char' to avoid problems with the built-in _Bool type.
62961         Reported by Paul Eggert on 2005-11-26.
62962
62963 2006-01-24  Bruno Haible  <bruno@clisp.org>
62964
62965         * gnulib-tool (func_import): Avoid constructing complicated sed
62966         expressions inside backquote.
62967         Report and solution by Mark D. Baushke <mdb@gnu.org>.
62968
62969 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
62970
62971         These changes imported from libc.
62972         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
62973         test and two separate function calls.
62974         * lib/strndup.c (__strndup): Add libc_hidden_def.
62975
62976 2006-01-23  Simon Josefsson  <jas@extundo.com>
62977
62978         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
62979         Remove the test_*_SOURCES variable: automake infers it by default.
62980         * modules/tls-tests: Likewise.
62981
62982 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
62983
62984         Work around porting bugs reported by Dieter in
62985         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
62986         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
62987         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
62988         Include "getopt.h" first, to check interface.
62989         (getenv): Declare only if defined HAVE_DECL_GETENV &&
62990         !HAVE_DECL_GETENV.
62991         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
62992         (__strndup): Revert to K&R-style function dfns, the glibc style.
62993         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
62994         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
62995         Include strnlen.h first, to get prototype properly.
62996         (strnlen): Renamed from __strnlen.
62997         Remove weak alias.
62998
62999 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63000
63001         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
63002
63003 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
63004
63005         * config/srclist.txt: Adjust to reflect glibc reorganization.
63006         This affects only comments.
63007
63008 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
63009
63010          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
63011          Reported by Bruce Korb <bkorb@gnu.org>.
63012
63013 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
63014
63015         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
63016         to pacify gcc -Wswitch-default.
63017
63018 2006-01-22  Bruno Haible  <bruno@clisp.org>
63019
63020         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
63021         temporary buffer for sprintf, take into account the precision also
63022         for 'd', 'i', 'u', 'o', 'x', 'X'.
63023
63024 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
63025
63026         * modules/argp-tests: New module
63027         * tests/test-argp.c: New file
63028         * tests/test-argp-2.sh: New file
63029
63030 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
63031
63032         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
63033         (__argp_base_name): Removed
63034         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
63035         typo.
63036         (__argp_base_name): Provide macro definition or extern declaration
63037         depending on the configuration
63038
63039 2006-01-20  Simon Josefsson  <jas@extundo.com>
63040
63041         * modules/inet_ntop (Depends-on): Depend on sys_socket.
63042
63043 2006-01-20  Simon Josefsson  <jas@extundo.com>
63044
63045         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
63046
63047 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
63048
63049         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
63050         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
63051         Suggested by Bruno Haible.
63052
63053 2006-01-20  Karl Berry  <karl@gnu.org>
63054
63055         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
63056         until changes propagate, I guess.
63057
63058 2006-01-19  Simon Josefsson  <jas@extundo.com>
63059
63060         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
63061
63062 2006-01-19  Simon Josefsson  <jas@extundo.com>
63063
63064         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
63065
63066 2006-01-19  Simon Josefsson  <jas@extundo.com>
63067
63068         * gnulib-tool: Set check_PROGRAMS.
63069
63070         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
63071         modules/des-tests, modules/gc-arcfour-tests,
63072         modules/gc-arctwo-tests, modules/gc-des-tests,
63073         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
63074         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
63075         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
63076         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
63077         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
63078         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
63079         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
63080         test_*_SOURCES.
63081
63082 2006-01-18  Simon Josefsson  <jas@extundo.com>
63083
63084         * modules/socklen (Depends-on): Depend on sys_socket.
63085
63086 2006-01-18  Simon Josefsson  <jas@extundo.com>
63087
63088         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
63089         modules/des-tests, modules/gc-arcfour-tests,
63090         modules/gc-arctwo-tests, modules/gc-des-tests,
63091         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
63092         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
63093         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
63094         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
63095         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
63096         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
63097         $(EXEEXT) to automake TESTS variable, for mingw32.
63098
63099 2006-01-17  Simon Josefsson  <jas@extundo.com>
63100
63101         * modules/socklen (Include): Need sys/socket.h.
63102
63103 2006-01-17  Bruno Haible  <bruno@clisp.org>
63104
63105         * modules/ssize_t (Include): Add <sys/types.h>.
63106
63107 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
63108
63109         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
63110         it's not portable and it doesn't work with cross-compiles.
63111         Problem reported by Bruno Haible.  Fix missing-$ typo in
63112         'test "gl_cv_ignore_unused_libraries" ...' that prevented
63113         -zignore from being used with Sun's C compiler.
63114
63115 2006-01-12  Simon Josefsson  <jas@extundo.com>
63116
63117         * lib/base64.c: Fix warning, reported by Bruno Haible
63118         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
63119
63120 2006-01-12  Bruno Haible  <bruno@clisp.org>
63121
63122         * modules/ldd: New file.
63123         * build-aux/ldd.sh.in: New file.
63124         * MODULES.html.sh (Support for building libraries and executables): Add
63125         ldd.
63126
63127 2006-01-12  Bruno Haible  <bruno@clisp.org>
63128
63129         * m4/ldd.m4: New file.
63130
63131 2006-01-12  Bruno Haible  <bruno@clisp.org>
63132
63133         * gnulib-tool (func_import, func_create_testdir): Don't go into an
63134         endless loop while replacing $auxdir with build-aux.
63135
63136 2006-01-11  Simon Josefsson  <jas@extundo.com>
63137
63138         * lib/stdint_.h (SIZE_MAX): Add missing (.
63139
63140 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
63141
63142         Sync from coreutils.
63143         * lib/md5.c: Fix commentary typos.
63144         (alignof, UNALIGNED_P): No need for a GCC-specific version.
63145         * lib/md5.h (__attribute__): Remove; unused.
63146         * lib/sha1.c: Fix commentary to match md5 better.
63147         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
63148         so that we don't need to worry about alignment.  All uses changed.
63149         This merges the 2005-10-28 md5 change into sha1.
63150
63151 2006-01-11  Jim Meyering  <jim@meyering.net>
63152
63153         Sync from coreutils.
63154         * lib/md5.c (OP): Fix spacing.
63155
63156 2006-01-11  Bruno Haible  <bruno@clisp.org>
63157
63158         Ensure automatic ordering between gl_LOCK and gl_ARGP.
63159         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
63160         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
63161
63162 2006-01-11  Bruno Haible  <bruno@clisp.org>
63163
63164         Ensure automatic ordering between gl_LOCK and gl_ARGP.
63165         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
63166         the "early" section as well.
63167
63168 2006-01-11  Bruno Haible  <bruno@clisp.org>
63169
63170         Avoid "ar: no archive members specified" error on MacOS X.
63171         * gnulib-tool (func_modules_add_dummy): New function.
63172         (func_import, func_create_testdir): Invoke it.
63173
63174 2006-01-11  Bruno Haible  <bruno@clisp.org>
63175
63176         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
63177         with $auxdir in AC_CONFIG_FILES statements.
63178
63179 2006-01-11  Bruno Haible  <bruno@clisp.org>
63180
63181         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
63182         Initialize also noinst_HEADERS to empty.
63183
63184 2006-01-11  Bruno Haible  <bruno@clisp.org>
63185
63186         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
63187         variables.
63188         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
63189         autoreconf.
63190
63191 2006-01-11  Bruno Haible  <bruno@clisp.org>
63192
63193         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
63194         overridable by the user.
63195         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63196
63197 2006-01-10  Simon Josefsson  <jas@extundo.com>
63198
63199         * modules/sys_socket: New file.
63200
63201 2006-01-10  Simon Josefsson  <jas@extundo.com>
63202
63203         * m4/sys_socket_h.m4: New file.
63204
63205 2006-01-10  Simon Josefsson  <jas@extundo.com>
63206
63207         * lib/socket_.h: New file.
63208
63209 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
63210
63211         * modules/readutmp (Maintainer): Add myself.
63212
63213 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
63214
63215         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
63216         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
63217         People who are still concerned with buggy memcmp implementations
63218         can invoke gl_FUNC_MEMCMP themselves.
63219
63220 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
63221
63222         * lib/regex_internal.h (BITSET_WORD_BITS):
63223         Work around a bug in 64-bit PGC (before version 6.1-2), where the
63224         preprocessor mishandles large unsigned values as if they were signed.
63225         Problem reported by Claudio Fontana in
63226         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
63227
63228 2006-01-10  Jim Meyering  <jim@meyering.net>
63229
63230         Avoid the double-free (first in fts_read, second in fts_close) that
63231         would occur when an `active' directory is made inaccessible (e.g.,
63232         via chmod a-x) during a traversal.
63233         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
63234         before returning.  Reproduce this failure by
63235         mkdir -p a/b; cd a; chmod a-x . b
63236         Reported by Stavros Passas.
63237
63238         Sync from coreutils.
63239         * lib/sha1.c: Tweak grammar in a comment.
63240
63241 2006-01-10  Jim Meyering  <jim@meyering.net>
63242
63243         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
63244         Patch by Joerg Sonnenberger.
63245
63246 2006-01-10  Bruno Haible  <bruno@clisp.org>
63247
63248         * modules/readutmp: Depend on module free.
63249         * modules/strtok_r: Depend on module restrict.
63250
63251 2006-01-10  Bruno Haible  <bruno@clisp.org>
63252
63253         * modules/gettext (configure.ac): Add an invocation of
63254         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
63255
63256 2006-01-10  Bruno Haible  <bruno@clisp.org>
63257
63258         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
63259         Reported by Werner Lemberg <wl@gnu.org>.
63260
63261 2006-01-10  Bruno Haible  <bruno@clisp.org>
63262
63263         * lib/localcharset.c: Update from GNU gettext.
63264
63265 2006-01-10  Bruno Haible  <bruno@clisp.org>
63266
63267         * lib/argp.h (__const): Remove macro. Use const instead.
63268         * lib/argp-fmtstream.h (__const): Likewise.
63269         * lib/glob_.h (__const): Remove macro.
63270         * lib/glob-libc.h: Use const instead of __const.
63271
63272 2006-01-10  Bruno Haible  <bruno@clisp.org>
63273
63274         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
63275         variable.
63276         Needed to avoid an automake error regarding the 'gettext' module.
63277
63278 2006-01-09  Simon Josefsson  <jas@extundo.com>
63279
63280         * modules/inet_ntop (Depends-on): Add restrict.
63281
63282 2006-01-09  Simon Josefsson  <jas@extundo.com>
63283
63284         * modules/gc-rijndael-tests (License): Put under LGPL.
63285
63286         * modules/gc-des-tests (License): Likewise.
63287
63288         * modules/gc-arcfour-tests (License): Likewise.
63289
63290         * modules/gc-arctwo-tests (License): Likewise.
63291
63292         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
63293
63294         * modules/gc-hmac-sha1-tests (Files): Likewise.
63295
63296         * modules/gc-hmac-md5-tests (License): Likewise.
63297
63298         * modules/gc-sha1-tests (License): Likewise.
63299
63300         * modules/gc-md5-tests (License): Likewise.
63301
63302         * modules/gc-md4-tests (License): Likewise.
63303
63304         * modules/gc-md2-tests (License): Likewise.
63305
63306         * modules/gc-tests (License): Likewise.
63307
63308         * modules/des-tests (License): Likewise.
63309
63310         * modules/md4-tests (License): Likewise.
63311
63312         * modules/md2-tests (License): Likewise.
63313
63314 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
63315
63316         Sync from coreutils:
63317
63318         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
63319         * modules/lib-ignore: New file.
63320         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
63321         chdir-safer.m4, lchmod.m4.
63322         * modules/openat: Add mkdirat.c, openat-priv.h.
63323
63324 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
63325
63326         Sync from coreutils.
63327         * m4/lib-ignore.m4: New file.
63328         * m4/lchmod.m4: New file.
63329
63330 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
63331
63332         Sync from coreutils.
63333         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
63334         for write access: POSIX says that must fail.
63335         * lib/fts.c (diropen): Likewise.
63336         * lib/save-cwd.c (save_cwd): Likewise.
63337         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
63338         well, for minor improvements on hosts that lack O_DIRECTORY.
63339         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
63340         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
63341         Fall back on chown if open failed with EACCES.
63342
63343         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
63344         Report an error at compile-time if only a 1-second nominal clock
63345         resolution is found.
63346
63347         * lib/lchmod.h: New file.
63348         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
63349         (make_dir_parents): Use lchown rather than chown, and
63350         lchmod rather than chmod.
63351
63352         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
63353         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
63354         "proc" reported by n0dalus.
63355
63356         * lib/mountlist.c: Include <limits.h>.
63357         (dev_from_mount_options)
63358         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
63359         New function.  It no longer assumes "dev=" has the System V meaning
63360         on Linux (since it doesn't).  It also parses "dev=" more carefully.
63361         (read_file_system_list)
63362         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
63363         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
63364         dev= in that case.
63365
63366         * lib/posixtm.h (PDS_PRE_2000): New macro.
63367         * lib/posixtm.c (year): Arg is now syntax_bits rather than
63368         allow_century.  All usages changed.  Reject dates outside the range
63369         1969-1999 if PDS_PRE_2000 is used.
63370
63371 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
63372
63373         Sync from coreutils.
63374         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
63375         (Time of day items): Mention the possibility of leap seconds.
63376         Problem reported by Dr. David Alan Gilbert.
63377
63378 2006-01-09  Jim Meyering  <jim@meyering.net>
63379
63380         Sync from coreutils.
63381
63382         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
63383
63384         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
63385
63386         * lib/modechange.c (mode_compile): Reject an invalid mode string
63387         that starts with an octal digit.  From Andreas Gruenbacher.
63388
63389         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
63390         and dup to open_safer and dup_safer, respectively.
63391         (openat_permissive): Fix typo in comment.
63392
63393         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
63394         "gettext.h"; either no longer needed or are guaranteed by openat.h.
63395         (_): Remove; no longer needed.
63396         (openat): Renamed from rpl_openat; no need for rpl_openat
63397         since openat.h renames openat for us.
63398         Replace most of the body with a call to openat_permissive,
63399         to avoid duplicate code.
63400         Port to (probably hypothetical) environments were mode_t is
63401         wider than int.
63402         (openat_permissive): Require mode arg, so that we can check
63403         types better.  Put it just after flags.  Change cwd failure
63404         indicator from pointer-to-bool to pointer-to-errno-value.
63405         All callers changed.
63406         Invoke openat_save_fail and/or openat_restore_fail if
63407         cwd_errno is null, so that openat can call us.
63408         (openat_permissive, fdopendir, fstatat, unlinkat):
63409         Simplify errno handling to avoid some duplicate code,
63410         as it's OK to set errno on success.
63411         * lib/openat.h: Revamp code so that function macros depend on
63412         __OPENAT_PREFIX only, not also on AT_FDCWD.
63413         (openat_ro): Remove.  Caller changed to use openat_permissive.
63414         (openat_permissive): Now a macro, if not a function.
63415         (openat_restore_fail, openat_save_fail): Now always functions,
63416         since mkdirat needs them even if __OPENAT_PREFIX is defined.
63417
63418         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
63419         and openat.c.
63420         * lib/mkdirat.c: Include openat-priv.h.
63421         Remove definitions of macros defined therein.
63422         * lib/openat.c: Likewise.
63423
63424         * lib/mkdirat.c (mkdirat): New file and function.
63425         * lib/openat.h (mkdirat): Declare.
63426
63427         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
63428
63429         * lib/openat.h (openat_permissive): Declare.
63430         (openat_ro): Define.
63431
63432         * lib/openat.c (EXPECTED_ERRNO): New macro.
63433         (openat_permissive): New function -- used in remove.c rewrite.
63434         (all functions): Set errno just before returning, only if there
63435         was an actual failure.
63436         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
63437
63438         Emulate openat-family functions using Linux's procfs, if possible.
63439         Idea and some code based on Ulrich Drepper's glibc changes.
63440
63441         * lib/openat.c: (BUILD_PROC_NAME): New macro.
63442         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
63443         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
63444         before falling back on save_cwd and restore_cwd.
63445         (fdopendir, fstatat, unlinkat): Likewise.
63446
63447         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
63448         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
63449
63450         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
63451         as second argument to va_arg.  Otherwise, some versions of gcc
63452         warn that `if this code is reached, the program will abort'.
63453
63454 2006-01-09  Jim Meyering  <jim@meyering.net>
63455
63456         Sync from coreutils.
63457         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
63458         Require openat-priv.h.
63459
63460 2006-01-09  Bruno Haible  <bruno@clisp.org>
63461
63462         * modules/strnlen (Include): Use strnlen.h.
63463
63464 2006-01-09  Bruno Haible  <bruno@clisp.org>
63465
63466         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
63467
63468 2006-01-09  Bruno Haible  <bruno@clisp.org>
63469
63470         * lib/sysexit_.h (EX_OK): New macro.
63471         Suggested by Martin Lambers <marlam@marlam.de>.
63472
63473 2006-01-09  Bruno Haible  <bruno@clisp.org>
63474
63475         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
63476         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
63477
63478 2006-01-09  Bruno Haible  <bruno@clisp.org>
63479
63480         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
63481         numbers.
63482
63483 2006-01-09  Bruno Haible  <bruno@clisp.org>
63484
63485         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
63486         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
63487         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
63488         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
63489
63490 2006-01-09  Bruno Haible  <bruno@clisp.org>
63491
63492         * build-aux/javacomp.sh.in: New file, moved from lib/.
63493         * modules/javacomp-script (Files): Update.
63494         (configure.ac): Add AC_CONFIG_FILES invocation.
63495         (EXTRA_DIST): Remove variable.
63496
63497         * build-aux/javaexec.sh.in: New file, moved from lib/.
63498         * modules/javaexec (Files): Update.
63499         (configure.ac): Add AC_CONFIG_FILES invocation.
63500         (EXTRA_DIST): Remove javaexec.sh.in.
63501
63502         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
63503         * modules/csharpcomp-script (Files): Update.
63504         (configure.ac): Add AC_CONFIG_FILES invocation.
63505         (EXTRA_DIST): Remove variable.
63506
63507         * build-aux/csharpexec.sh.in: New file, moved from lib/.
63508         * modules/csharpexec (Files): Update.
63509         (configure.ac): Add AC_CONFIG_FILES invocation.
63510         (EXTRA_DIST): Remove csharpexec.sh.in.
63511
63512 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
63513
63514         Sync from coreutils.
63515
63516         Add POSIX ACL support
63517         * lib/acl.h (copy_acl, set_acl): Add declarations.
63518         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
63519         systems other than Linux.
63520         (chmod_or_fchmod): New function: use fchmod when possible,
63521         and chmod otherwise.
63522         (file_has_acl): Add a POSIX ACL implementation, with a
63523         Linux-specific subcase.
63524         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
63525         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
63526         acls are unsupported.
63527         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
63528         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
63529         are unsupported.
63530
63531 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
63532
63533         Sync from coreutils.
63534         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
63535
63536 2006-01-07  Bruno Haible  <bruno@clisp.org>
63537
63538         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
63539         gl_EARLY.
63540
63541 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
63542
63543         * lib/strftime.c (tzname): Don't declare if it is already #defined.
63544         Problem reported for Mingw by Mark Junker.
63545
63546 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
63547
63548         * README: Gnulib normally doesn't generate a tarball.
63549
63550 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
63551
63552         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
63553         long int, not int, for nanosecond counts, so that people who are
63554         used to POSIX struct timespec won't be surprised.  Reported by Jim
63555         Meyering.
63556
63557 2005-12-28  Bruno Haible  <bruno@clisp.org>
63558
63559         * build-aux/config.rpath: Update from GNU gettext.
63560
63561 2005-12-16  Jim Meyering  <jim@meyering.net>
63562
63563         * modules/fprintftime: New module.
63564         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
63565
63566 2005-12-16  Jim Meyering  <jim@meyering.net>
63567
63568         * m4/fprintftime.m4: New file.
63569
63570 2005-12-16  Jim Meyering  <jim@meyering.net>
63571
63572         * lib/fprintftime.c, lib/fprintftime.h: New files.
63573
63574 2005-12-15  Simon Josefsson  <jas@extundo.com>
63575
63576         * modules/socklen (configure.ac): Fix M4 macro name, to align with
63577         new m4/socklen.m4.
63578
63579 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
63580
63581         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
63582         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
63583
63584 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
63585
63586         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
63587         * lib/argp-help.c (fill_in_uparams): Check if the constructed
63588         struct uparams is valid. Fall back to the default values if it is
63589         not.
63590
63591 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
63592
63593         * modules/argp (Files): Add argp-pin.c
63594         (Depends-on): dirname
63595         (lib_SOURCES): Add argp-pin.c
63596
63597 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
63598
63599         * m4/argp.m4:  Check if program_invocation_name and
63600         program_invocation_short_name are declared and define appropriate
63601         macros if they are not.
63602
63603 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
63604
63605         * lib/argp-help.c (__argp_base_name): New function
63606         (__argp_short_program_name): Rewrite using __argp_base_name
63607         * lib/argp-namefrob.h: Define program_invocation_name and
63608         program_invocation_short_name if requested
63609         (__argp_base_name): Add prototype
63610         * lib/argp-parse.c (argp_def): Use gettext wrappers
63611         (argp_default_parser): Use __argp_base_name
63612         * lib/argp-pin.c: New file. Defines program_invocation_name and
63613         program_invocation_short_name on systems that lack them.
63614
63615 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
63616
63617         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
63618         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
63619         porting problem reported by Georg Schwarz in
63620         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
63621
63622 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
63623
63624         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
63625         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
63626         porting problem reported by Georg Schwarz in
63627         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
63628
63629 2005-12-05  Bruno Haible  <bruno@clisp.org>
63630
63631         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
63632         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
63633         Reported by Mark Junker <mjscod@gmx.de>.
63634
63635 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
63636
63637         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
63638         Use implementation from Albert Chin, with some
63639         comments/corrections by Stepan Kasal and myself.
63640
63641 2005-12-02  Bruno Haible  <bruno@clisp.org>
63642
63643         * gnulib-tool (func_import): Accept GPLed build tool modules when
63644         --lgpl is given.
63645         * modules/csharpcomp-script: New file.
63646         * modules/csharpcomp: Depend on it.
63647         * modules/javacomp-script: New file.
63648         * modules/javacomp: Depend on it.
63649         Suggested by Simon Josefsson.
63650
63651 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
63652
63653         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
63654         statement, to work around an HP-UX 10.20 compiler bug reported by
63655         Peter O'Gorman.
63656
63657 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
63658
63659         * modules/savedir (Depends-on): Add openat.
63660
63661 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
63662
63663         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
63664         (uintmax_t) [defined uintmax_t]: Do not declare.
63665         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
63666         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
63667         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
63668         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
63669         sake of portability to weird hosts that C allows (though we don't
63670         know of any practical examples).
63671
63672         * lib/savedir.h (fdsavedir): New decl.
63673         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
63674         contains most of the former guts of savedir.
63675         (savedir): Use savedirstream.
63676         Include "openat.h".
63677
63678 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
63679
63680         * modules/obstack (Files): Add m4/ulonglong.m4.
63681         Problem reported by Davide Angelocola.
63682
63683 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
63684
63685         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
63686         coreutils no longer futzes with rounding modes.
63687
63688 2005-11-14  Jim Meyering  <jim@meyering.net>
63689
63690         * lib/mkstemp-safer.c: Include <config.h>, required for possible
63691         replacement of mkstemp.
63692
63693 2005-11-10  Simon Josefsson  <jas@extundo.com>
63694
63695         * lib/readline.c: Remove EOL.
63696
63697 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
63698
63699         * modules/gethrxtime (Depends-on): Add gettime.
63700
63701 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
63702
63703         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
63704         or gettimeofday; no longer needed.
63705
63706 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
63707
63708         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
63709         time business.
63710         (gethrxtime) [! (HAVE_NANOUPTIME
63711         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
63712         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
63713         our own approximation.
63714
63715 2005-11-08  Eric Blake  <ebb9@byu.net>
63716
63717         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
63718
63719 2005-11-08  Eric Blake  <ebb9@byu.net>
63720
63721         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
63722
63723 2005-11-04  Bruno Haible  <bruno@clisp.org>
63724
63725         * gnulib-tool: Implement --update mode.
63726
63727 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
63728
63729         Fix porting problem reported by Theodoros V. Kalamatianos.
63730         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
63731         Don't assume that futimes failing means we must fail.
63732
63733 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
63734
63735         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
63736         variables to suggest the intended function of the PATH_MAX check.
63737
63738 2005-10-30  Kean Johnston  <jkj@sco.com>
63739
63740         Trivial changes to support SCO systems.
63741         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
63742         as PATH_MAX.
63743         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
63744         where __ptr is null when no I/O is pending.
63745
63746 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
63747
63748         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
63749         leave errno alone.  Problem reported by Dmitry V. Levin.
63750
63751 2005-10-28  Simon Josefsson  <jas@extundo.com>
63752
63753         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
63754         Test more.
63755
63756         * tests/test-gc-md2.c, tests/test-md2.c: New files.
63757
63758         * modules/md2, modules/md2-tests: New files.
63759
63760 2005-10-28  Simon Josefsson  <jas@extundo.com>
63761
63762         * m4/inet_ntop.m4: More tests.
63763
63764         * m4/gc-md2.m4, md2.m4: New file.
63765
63766 2005-10-28  Simon Josefsson  <jas@extundo.com>
63767
63768         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
63769         "restrict" keywords, as per POSIX.  Protect the function
63770         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
63771         Don't use K&R prototypes.  Check the sprintf return values.
63772         Re-define EAFNOSUPPORT if not present.  Indent.
63773
63774         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
63775         suggested by Bruno Haible <bruno@clisp.org>.
63776
63777         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
63778
63779         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
63780
63781         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
63782         libgcrypt).
63783
63784         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
63785
63786         * lib/md2.h, lib/md2.c: New files.
63787
63788 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
63789
63790         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
63791         errno alone.  Problem reported by Frederic Jolliton.
63792
63793 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
63794
63795         * modules/verify (License): Change from GPL to LGPL.  This is a
63796         tiny module and there are apparently near-equivalents that are
63797         under the BSD license.
63798
63799 2005-10-24  Simon Josefsson  <jas@extundo.com>
63800
63801         * modules/sha1: Relicense to LGPL.
63802
63803 2005-10-24  Simon Josefsson  <jas@extundo.com>
63804
63805         * lib/md4.h: Shrink buffer size, now that we changed the type.
63806
63807 2005-10-23  Simon Josefsson  <jas@extundo.com>
63808
63809         * gnulib-tool (func_import): Fix --tests-base.
63810
63811 2005-10-22  Simon Josefsson  <jas@extundo.com>
63812
63813         * modules/arcfour (Depends-on): Need stdint.
63814
63815 2005-10-22  Simon Josefsson  <jas@extundo.com>
63816
63817         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
63818         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
63819
63820 2005-10-22  Simon Josefsson  <jas@extundo.com>
63821
63822         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
63823         suggested by Bruno Haible <bruno@clisp.org>.
63824
63825 2005-10-22  Simon Josefsson  <jas@extundo.com>
63826
63827         * lib/crc.h: Include stddef.h, for size_t.
63828
63829 2005-10-22  Simon Josefsson  <jas@extundo.com>
63830
63831         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
63832         arcfour_context struct (simplify test vector testing in GNU
63833         Shishi).
63834
63835 2005-10-21  Simon Josefsson  <jas@extundo.com>
63836
63837         * modules/des, modules/des-tests: New files.
63838
63839         * modules/gc-des, modules/gc-des-tests: New files.
63840
63841         * tests/test-des.c, tests/test-gc-des.c: New file.
63842
63843 2005-10-21  Simon Josefsson  <jas@extundo.com>
63844
63845         * modules/arctwo, modules/arctwo-tests: New files.
63846
63847         * tests/test-arctwo.c: New file.
63848
63849         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
63850
63851         * tests/test-gc-arctwo.c: New file.
63852
63853 2005-10-21  Simon Josefsson  <jas@extundo.com>
63854
63855         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
63856         Bruno Haible <bruno@clisp.org>.
63857
63858         * m4/gc-des.m4: New file.
63859
63860 2005-10-21  Simon Josefsson  <jas@extundo.com>
63861
63862         * m4/arctwo.m4: New file.
63863
63864         * m4/gc-arctwo.m4: New file.
63865
63866 2005-10-21  Simon Josefsson  <jas@extundo.com>
63867
63868         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
63869         block.
63870
63871 2005-10-21  Simon Josefsson  <jas@extundo.com>
63872
63873         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
63874         <bruno@clisp.org>.
63875
63876         * lib/hmac-sha1.c (hmac_sha1): Likewise.
63877
63878         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
63879         Bruno Haible <bruno@clisp.org>.
63880
63881         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
63882         <bruno@clisp.org>.
63883
63884 2005-10-21  Simon Josefsson  <jas@extundo.com>
63885
63886         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
63887
63888 2005-10-21  Simon Josefsson  <jas@extundo.com>
63889
63890         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
63891
63892 2005-10-21  Simon Josefsson  <jas@extundo.com>
63893
63894         * lib/des.h, lib/des.c: New files.
63895
63896         * lib/gc-gnulib.c: Support DES.c
63897
63898 2005-10-21  Simon Josefsson  <jas@extundo.com>
63899
63900         * lib/arctwo.h, lib/arctwo.c: New files.
63901
63902         * lib/gc-gnulib.c: Support ARCTWO.
63903
63904 2005-10-21  Simon Josefsson  <jas@extundo.com>
63905
63906         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
63907         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
63908
63909 2005-10-21  Simon Josefsson  <jas@extundo.com>
63910
63911         * gnulib-tool (func_import, func_create_testdir): Define automake
63912         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
63913         Makefile.am snippet),
63914         suggested by Bruno Haible <bruno@clisp.org>.
63915
63916         * modules/gc (Makefile.am): Use it.
63917
63918 2005-10-21  Bruno Haible  <bruno@clisp.org>
63919
63920         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
63921         patch.
63922
63923 2005-10-19  Simon Josefsson  <jas@extundo.com>
63924
63925         * tests/test-gc-rijndael.c: New file.
63926
63927         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
63928
63929 2005-10-19  Simon Josefsson  <jas@extundo.com>
63930
63931         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
63932         interface too.
63933
63934 2005-10-19  Simon Josefsson  <jas@extundo.com>
63935
63936         * tests/test-gc-arcfour.c: New file.
63937
63938         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
63939
63940 2005-10-19  Simon Josefsson  <jas@extundo.com>
63941
63942         * modules/gc-md4, modules/gc-md4-tests: New file.
63943
63944         * tests/test-gc-md4.c: New file.
63945
63946 2005-10-19  Simon Josefsson  <jas@extundo.com>
63947
63948         * m4/gc-md4.m4: New file.
63949
63950 2005-10-19  Simon Josefsson  <jas@extundo.com>
63951
63952         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
63953         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
63954         <kasal@ucw.cz>.
63955
63956 2005-10-19  Simon Josefsson  <jas@extundo.com>
63957
63958         * m4/gc-arcfour.m4: New file.
63959
63960         * m4/gc-rijndael.m4: New file.
63961
63962 2005-10-19  Simon Josefsson  <jas@extundo.com>
63963
63964         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
63965
63966 2005-10-19  Simon Josefsson  <jas@extundo.com>
63967
63968         * lib/gc-gnulib.c: Support ARCFOUR.
63969
63970 2005-10-19  Simon Josefsson  <jas@extundo.com>
63971
63972         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
63973         support.
63974
63975         * lib/gc.h: Add ECB enum type.
63976
63977         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
63978
63979 2005-10-18  Simon Josefsson  <jas@extundo.com>
63980
63981         * tests/test-md5.c: New file.
63982
63983         * modules/md5-tests: New file.
63984
63985 2005-10-18  Simon Josefsson  <jas@extundo.com>
63986
63987         * tests/test-md4.c: New file.
63988
63989         * modules/md4, modules/md4-tests: New files.
63990
63991 2005-10-18  Simon Josefsson  <jas@extundo.com>
63992
63993         * m4/md4.m4: New file.
63994
63995 2005-10-18  Simon Josefsson  <jas@extundo.com>
63996
63997         * lib/md4.h, lib/md4.c: New files, based on md5.?.
63998
63999 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
64000
64001         * gnulib-tool (func_create_testdir): Omit the second check whether
64002         BUILT_SOURCES in nonempty.
64003
64004 2005-10-17  Simon Josefsson  <jas@extundo.com>
64005
64006         * tests/test-rijndael.c: New file.
64007
64008 2005-10-17  Simon Josefsson  <jas@extundo.com>
64009
64010         * modules/sha1: Depend on stdint instead of md5.
64011
64012         * modules/md5: Depend on stdint, remove uint32_t.
64013
64014 2005-10-17  Simon Josefsson  <jas@extundo.com>
64015
64016         * modules/gc-sha1-tests: New file.
64017
64018         * tests/test-gc-sha1.c: New file.
64019
64020 2005-10-17  Simon Josefsson  <jas@extundo.com>
64021
64022         * m4/md5.m4: Remove call to uint32_t.m4.
64023
64024 2005-10-17  Simon Josefsson  <jas@extundo.com>
64025
64026         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
64027
64028         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
64029         md5.h.
64030
64031         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
64032
64033         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
64034
64035 2005-10-17  Simon Josefsson  <jas@extundo.com>
64036
64037         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
64038
64039 2005-10-17  Simon Josefsson  <jas@extundo.com>
64040
64041         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
64042
64043 2005-10-17  Simon Josefsson  <jas@extundo.com>
64044
64045         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
64046
64047         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
64048
64049 2005-10-17  Bruno Haible  <bruno@clisp.org>
64050
64051         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
64052         that it can also be used in a test.
64053
64054 2005-10-16  Bruno Haible  <bruno@clisp.org>
64055
64056         * gnulib-tool (func_emit_tests_Makefile_am): Also define
64057         TESTS_ENVIRONMENT, so that individual tests can augment it.
64058
64059         * gnulib-tool (func_create_testdir): Use an intermediate target for
64060         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
64061         macros, like $(ALLOCA_H), which cannot be passed through the command
64062         line.
64063
64064 2005-10-15  Simon Josefsson  <jas@extundo.com>
64065
64066         * modules/rijndael-tests: New file.
64067
64068         * modules/rijndael: New file.
64069
64070 2005-10-15  Simon Josefsson  <jas@extundo.com>
64071
64072         * m4/rijndael.m4: New file.
64073
64074 2005-10-15  Simon Josefsson  <jas@extundo.com>
64075
64076         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
64077
64078         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
64079
64080 2005-10-14  Simon Josefsson  <jas@extundo.com>
64081
64082         * tests/test-arcfour.c: New file.
64083
64084         * modules/arcfour, modules/arcfour-tests: New files.
64085
64086 2005-10-14  Simon Josefsson  <jas@extundo.com>
64087
64088         * m4/arcfour.m4: New file.
64089
64090 2005-10-14  Simon Josefsson  <jas@extundo.com>
64091
64092         * lib/arcfour.h, lib/arcfour.c: New files.
64093
64094 2005-10-14  Roland McGrath  <roland@redhat.com>
64095
64096         Import from libc.  [BZ #1331]
64097         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
64098         macro argument.
64099         Reported by Matej Vela <vela@debian.org>.
64100
64101 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
64102
64103         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
64104         include <wchar.h>; no longer needed.
64105
64106 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
64107
64108         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
64109
64110 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
64111         and  Ulrich Drepper  <drepper@redhat.com>
64112
64113         Import from libc.
64114         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
64115         instead of inline stream orientation test and two separate
64116         function calls.  Pay no attention to USE_IN_LIBIO.
64117
64118 2005-10-13  Simon Josefsson  <jas@extundo.com>
64119
64120         * modules/gc-hmac-md5-tests: New file.
64121
64122         * tests/test-gc-hmac-sha1.c: New file.
64123
64124         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
64125
64126         * modules/gc-hmac-md5-tests: New file.
64127
64128         * tests/test-gc-md5.c: New file.
64129
64130         * modules/gc-md5-tests: New file.
64131
64132 2005-10-13  Simon Josefsson  <jas@extundo.com>
64133
64134         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
64135         Move memory allocation outside of loop.
64136
64137 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
64138
64139         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
64140         intermediate directory is in a read-only file system.  Problem
64141         reported by Eric Blake.
64142
64143 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
64144
64145         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
64146
64147 2005-10-12  Simon Josefsson  <jas@extundo.com>
64148
64149         * tests/test-hmac-sha1.c: New file.
64150
64151         * modules/hmac-sha1-tests: New file.
64152
64153         * modules/hmac-sha1: New file.
64154
64155 2005-10-12  Simon Josefsson  <jas@extundo.com>
64156
64157         * modules/gc-sha1: New file.
64158
64159 2005-10-12  Simon Josefsson  <jas@extundo.com>
64160
64161         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
64162
64163         * tests/test-gc-pbkdf2-sha1.c: New file.
64164
64165 2005-10-12  Simon Josefsson  <jas@extundo.com>
64166
64167         * modules/gc-md5, modules/gc-hmac-md5: New files.
64168
64169         * modules/gc (Files): Remove md5, memxor and hmac files.
64170
64171 2005-10-12  Simon Josefsson  <jas@extundo.com>
64172
64173         * m4/gc-pbkdf2-sha1.m4: New file.
64174
64175         * m4/gc-hmac-sha1.m4: New file.
64176
64177         * m4/gc-sha1: New file.
64178
64179         * m4/hmac-sha1.m4: New file.
64180
64181 2005-10-12  Simon Josefsson  <jas@extundo.com>
64182
64183         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
64184
64185         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
64186
64187 2005-10-12  Simon Josefsson  <jas@extundo.com>
64188
64189         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
64190         suggested by Bruno Haible <bruno@clisp.org>.
64191
64192 2005-10-12  Simon Josefsson  <jas@extundo.com>
64193
64194         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
64195
64196 2005-10-12  Simon Josefsson  <jas@extundo.com>
64197
64198         * lib/gc-pbkdf2-sha1.c: New file.
64199
64200         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
64201
64202 2005-10-12  Simon Josefsson  <jas@extundo.com>
64203
64204         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
64205
64206         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
64207
64208 2005-10-12  Simon Josefsson  <jas@extundo.com>
64209
64210         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
64211         GC_USE_HMAC_MD5, respectively.
64212
64213         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
64214         (gc_md5): Fix typo.
64215
64216         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
64217
64218         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
64219
64220         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
64221
64222 2005-10-12  Bruno Haible  <bruno@clisp.org>
64223
64224         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
64225         Reported by Stepan Kasal <kasal@ucw.cz>.
64226
64227 2005-10-11  Simon Josefsson  <jas@extundo.com>
64228
64229         * tests/test-crc.c: New file.
64230
64231         * modules/crc, modules/crc-tests: New files.
64232
64233 2005-10-11  Simon Josefsson  <jas@extundo.com>
64234
64235         * m4/crc.m4: New file.
64236
64237 2005-10-11  Simon Josefsson  <jas@extundo.com>
64238
64239         * lib/gc.h: Add gc_hash and gc_hash_buffer.
64240
64241         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
64242
64243         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
64244
64245 2005-10-11  Simon Josefsson  <jas@extundo.com>
64246
64247         * lib/crc.h, lib/crc.c: New files.
64248
64249         * lib/gc.h (gc_hash_buffer): Add doc.
64250
64251 2005-10-11  Bruno Haible  <bruno@clisp.org>
64252
64253         * modules/c-strcasestr: New file.
64254         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
64255
64256 2005-10-11  Bruno Haible  <bruno@clisp.org>
64257
64258         * modules/c-strcase: New file.
64259         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
64260
64261 2005-10-11  Bruno Haible  <bruno@clisp.org>
64262
64263         * lib/strcasecmp.c: Include limits.h.
64264         (strcasecmp): Avoid integer overflow on exotic platforms.
64265         * lib/strncasecmp.c: Include limits.h.
64266         (strncasecmp): Avoid integer overflow on exotic platforms.
64267         Reported by Paul Eggert.
64268
64269 2005-10-11  Bruno Haible  <bruno@clisp.org>
64270
64271         * lib/c-strcasestr.h: New file, from GNU gettext.
64272         * lib/c-strcasestr.c: New file, from GNU gettext.
64273
64274 2005-10-11  Bruno Haible  <bruno@clisp.org>
64275
64276         * lib/c-strcase.h: New file, from GNU gettext.
64277         * lib/c-strcasecmp.c: New file, from GNU gettext.
64278         * lib/c-strncasecmp.c: New file, from GNU gettext.
64279
64280 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
64281
64282         * modules/mempcpy (License): GPL -> LGPL.
64283         * modules/strchrnul (License): Likewise.
64284         * modules/sysexits (License): Likewise.
64285
64286 2005-10-08  Simon Josefsson  <jas@extundo.com>
64287
64288         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
64289
64290 2005-10-07  Simon Josefsson  <jas@extundo.com>
64291
64292         * m4/memxor.m4: Remove gl_C_RESTRICT call.
64293
64294 2005-10-06  Simon Josefsson  <jas@extundo.com>
64295
64296         * tests/test-hmac-md5.c: New file.
64297
64298         * modules/hmac-md5-tests: New file.
64299
64300         * modules/hmac-md5: New file.
64301
64302 2005-10-06  Simon Josefsson  <jas@extundo.com>
64303
64304         * m4/hmac-md5.m4: New file.
64305
64306         * m4/memxor.m4: Require gl_C_RESTRICT.
64307
64308 2005-10-06  Simon Josefsson  <jas@extundo.com>
64309
64310         * lib/memxor.c (memxor): Avoid casts and warnings.
64311
64312 2005-10-06  Simon Josefsson  <jas@extundo.com>
64313
64314         * lib/hmac-md5.c: New file.
64315
64316         * lib/hmac.h: New file.
64317
64318 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
64319
64320         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
64321         promotes to int, not unsigned int, to catch the AIX 5.3
64322         compiler bug.
64323
64324 2005-10-05  Simon Josefsson  <jas@extundo.com>
64325
64326         * modules/memxor: New file.
64327
64328         * modules/iconv (Files): Move config.rpath to havelib, it is used
64329         there.
64330
64331         * modules/havelib (Files): Add config.rpath.
64332
64333 2005-10-05  Simon Josefsson  <jas@extundo.com>
64334
64335         * m4/memxor.m4: New file.
64336
64337 2005-10-05  Simon Josefsson  <jas@extundo.com>
64338
64339         * lib/memxor.c (memxor): Fix compiler error.
64340
64341         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
64342         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
64343
64344         * lib/memxor.h, lib/memxor.c: New files.
64345
64346         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
64347         we assume all systems have it, suggested by Jim Meyering
64348         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
64349         any systems lack sys/socket.h; mingw32 is known to lack it, but we
64350         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
64351         same reasons.
64352
64353 2005-10-05  Simon Josefsson  <jas@extundo.com>
64354
64355         * config/srclist.txt: Add glibc bug 1423 for md5.h.
64356
64357 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
64358
64359         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
64360         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
64361         needed, since the source code now assumes these .h files.
64362
64363 2005-10-05  Derek Price  <derek@ximbiot.com>
64364
64365         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
64366
64367 2005-10-05  Bruno Haible  <bruno@clisp.org>
64368
64369         * modules/stdint (License): Change to LGPL.
64370
64371 2005-10-04  Simon Josefsson  <jas@extundo.com>
64372
64373         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
64374         D. Baushke" <mdb@gnu.org>.
64375
64376 2005-10-04  Bruno Haible  <bruno@clisp.org>
64377
64378         * lib/verify.h (verify_true): Provide alternative definition for C++.
64379
64380 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
64381
64382         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
64383         (SSIZE_MAX): New macro, if not already defined.
64384         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
64385         than 2 GiB.
64386
64387 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
64388
64389         Sync from coreutils.
64390         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
64391         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
64392         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
64393         ULLONG_MAX doesn't work with 2.7.2.1.
64394
64395 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
64396
64397         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
64398         From Ben Pfaff.
64399
64400         * modules/exclude (Depends-on): Depend on verify.
64401         * modules/strtoimax (Depends-on): Likewise.
64402         * modules/utimecmp (Depends-on): Likewise.
64403
64404 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
64405
64406         * lib/exclude.c: Include verify.h.
64407         (verify): Remove.  All callers changed to use verify.h's version.
64408         * lib/strtoimax.c: Likewise.
64409         * lib/utimecmp.c: Likewis.e
64410
64411         Sync from coreutils.
64412         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
64413         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
64414         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
64415         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
64416         bother returning ENOSYS if settimeofday or stime fails; just let
64417         them return whatever errno they want to return.
64418         * lib/utimens.c: Include unistd.h, for dup2.
64419         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
64420         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
64421
64422 2005-10-02  Jim Meyering  <jim@meyering.net>
64423
64424         Sync from coreutils.
64425         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
64426         from glibc-2.2.5 that fails for read-only files.
64427
64428 2005-10-02  Jim Meyering  <jim@meyering.net>
64429
64430         Sync from coreutils.
64431         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
64432         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
64433         `#if HAVE_CONFIG_H'.
64434         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
64435         Remove AT_FDCWD test.
64436         Do not consume the fd unless successful.
64437         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
64438         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
64439         block, so that we don't even try to compile it if settimeofday is
64440         available.  This works around a compilation failure on OSF1 V5.1,
64441         due to stime requiring a `long int*' while tv_sec is `int'.
64442
64443 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
64444
64445         Sync from coreutils.
64446         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
64447         against `yes', rather than just testing for nonempty.
64448
64449 2005-10-01  Simon Josefsson  <jas@extundo.com>
64450
64451         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
64452         and Darwin.
64453
64454         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
64455         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
64456         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
64457         freeaddrinfo and gai_strerror are declared by the POSIX headers.
64458         Check if struct addrinfo is declared.
64459
64460 2005-10-01  Simon Josefsson  <jas@extundo.com>
64461
64462         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
64463         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
64464         AI_* and EAI_* definitions.  Protect function declarations.
64465
64466 2005-10-01  Jim Meyering  <jim@meyering.net>
64467
64468         Sync from coreutils.
64469
64470         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
64471         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
64472         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
64473         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
64474         in the inet and nsl libraries.  Required on Solaris 5.7.
64475
64476 2005-10-01  Jim Meyering  <jim@meyering.net>
64477
64478         Sync from coreutils.
64479         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
64480         in the inet and nsl libraries.  Required on Solaris 5.7.
64481
64482 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
64483
64484         * lib/getdelim.c (getdelim): Remove unused variables.
64485
64486 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
64487
64488         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
64489         so that the code works even with ancient cpp.  Portability problem
64490         with GCC 2.7.2.1 reported by Thomas M.Ott.
64491
64492 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
64493
64494         * modules/regex (Depends-on): Add strcase.
64495
64496         * modules/gethostname (Licence): Change from GPL to LGPL, since
64497         gethostname.c is a trivial implementation of a standard library
64498         function.
64499         * modules/poll (License): Change from GPL to LGPL, since it's
64500         derived from LGPL code.
64501
64502 2005-09-27  Jim Meyering  <jim@meyering.net>
64503
64504         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
64505         HAVE_CONFIG_H.
64506
64507         * lib/intprops.h (signed_type_or_expr__): Define.
64508         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
64509         for unsigned types.
64510
64511 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
64512
64513         * lib/verify.h (verify_expr): Remove, replacing with:
64514         (verify_true): New macro that returns true instead of void.
64515         (verify_type__): Remove.
64516         (verify): Use verify_true rather than verify_type__.
64517
64518 2005-09-26  Bruno Haible  <bruno@clisp.org>
64519
64520         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
64521         is necessary.
64522         (lib_SOURCES): Remove mbchar.c.
64523         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
64524         (Files): Add m4/mbrtowc.m4.
64525         * modules/mbiter: Likewise.
64526         * modules/mbuiter: Likewise.
64527
64528 2005-09-26  Bruno Haible  <bruno@clisp.org>
64529
64530         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
64531         compile mbchar.c if they are not both present.
64532         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
64533         * m4/mbiter.m4 (gl_MBITER): Likewise.
64534         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
64535         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
64536         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
64537
64538 2005-09-25  Jim Meyering  <jim@meyering.net>
64539
64540         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
64541         also uses socklen_t.
64542
64543 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
64544
64545         * lib/utimens.c (ENOSYS): Define if not already defined.
64546         (futimens): Support having a null PATH if the file descriptor
64547         is nonnegative.
64548
64549         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
64550         Remove.
64551         (__attribute): Define to empty unless GCC 3.1 or later.
64552         This works around a core dump on OpenBSD 3.4, which has GCC
64553         2.95.3, which dumps core when given __attribute__(()).  It also
64554         simplifies other tests, since we really don't want to bother with
64555         worrying about which ancient version of GCC supported what.
64556         Original problem reported by Yoann Vandoorselaere, with part of
64557         the fix suggested by Derek Price.
64558
64559 2005-09-24  Jim Meyering  <jim@meyering.net>
64560
64561         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
64562         so we can once again use a positive bitfield width of 1 -- now we
64563         don't have to explain why we were using a bitfield width of 2.
64564
64565 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
64566
64567         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
64568         and similarly for the other external symbols.  Problem reported
64569         by James Gallager.
64570
64571         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
64572         bug reported by Jim Meyering.
64573
64574         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
64575         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
64576         not needed, since socklen is a prerequisite module.
64577
64578 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
64579
64580         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
64581         Problem reported by Eric Blake.
64582         (getaddrinfo): Initialize se so that it's not garbage.
64583         Redo internal storage allocation so that it doesn't make unportable
64584         assumptions about alignment.
64585         Fix a memory leak.
64586
64587         * lib/utimens.c (futimens): Use futimesat if available.
64588         Prefer it to futimes since it doesn't have the futimes bug.
64589
64590         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
64591         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
64592         Instead, declare a function that returns a pointer to an array,
64593         and use verify_type__ to declare the size of the array.
64594         Problem and germ of a solution reported by Bruno Haible.
64595         (verify_type__): Use 2, not 1, for bitfield size, to avoid
64596         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
64597
64598 2005-09-23  Jim Meyering  <jim@meyering.net>
64599
64600         Sync from coreutils.
64601         Correct build failure (socklen_t not defined) on at least
64602         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
64603         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
64604
64605 2005-09-23  Jim Meyering  <jim@meyering.net>
64606
64607         * modules/getaddrinfo (Depends-on): Add socklen.
64608
64609 2005-09-23  Bruno Haible  <bruno@clisp.org>
64610
64611         * tests/test-verify.c: New file.
64612
64613 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
64614
64615         Sync from coreutils.
64616
64617         * modules/argmatch (Depends-on): Add verify.
64618         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
64619         unistd-safer.
64620         * modules/save-cwd (Depends-on): Likewise.
64621
64622         * modules/openat (Files): Add lib/openat-die.c.
64623         (Depends-on): Remove error, exitfail.
64624         Add dirname.
64625
64626         * modules/verify: New file.
64627         * MODULES.html.sh (Diagnostics <assert.h>): New section,
64628         with "verify" module.
64629
64630 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
64631
64632         Sync from coreutils.
64633
64634         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
64635         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
64636         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
64637         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
64638         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
64639         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
64640         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
64641         Don't bother checking for string.h, stdlib.h, unistd.h.
64642         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
64643         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
64644         module's job.
64645         * m4/jm-macros.m4 (gl_MACROS): Likewise.
64646         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
64647
64648         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
64649         (gl_GETDATE): Use it.
64650
64651         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
64652
64653 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
64654
64655         Sync from coreutils.
64656
64657         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
64658         stat-time.h.
64659         * lib/argmatch.h: Include verify.h
64660         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
64661         (ARGMATCH_ASSERT): Remove; unused.
64662         * lib/canonicalize.c: Assume STDC_HEADERS.
64663         * lib/exclude.c: Include "strcase.h".
64664         * lib/regex_internal.h [!defined _LIBC]: Likewise.
64665         * lib/getusershell.c: Include stdio--.h rather than stdio.h
64666         and stdio-safer.h.
64667         (getusershell): Call fopen, not fopen_safer.
64668         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
64669         Do not include unistd-safer.h.
64670         (save_cwd): Don't call fd_safer; no longer needed
64671         now that we include fcntl--.h.
64672
64673         * lib/getdate.y (relative_time): New type.
64674         (RELATIVE_TIME_0): New constant.
64675         (parser_control): Use relative_time instead of doing it ourselves.
64676         (%union): Add new relative_time rel member.
64677         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
64678         Now typeless.
64679         (relunit, relunit_snumber): Now of type rel.
64680         (zone, rel, relunit, get_date): Adjust to above changes.
64681
64682         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
64683         Do not include unistd-safer.h.
64684         (getloadavg): Don't call fd_safer; no longer needed
64685         now that we include fcntl--.h.
64686
64687         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
64688         (make_dir_parents): Treat ENOSYS like EEXIST.
64689
64690         Improve quality of diagnostics on restore_cwd failure.
64691         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
64692         (make_dir_parents): Last arg is now int * (for errno), not bool *.
64693         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
64694         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
64695         each time through the loop.  Do not diagnose restore_cwd failure;
64696         that is the caller's job (and perhaps the caller does not care).
64697
64698         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
64699         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
64700         If the file already exists but is not a directory, don't bother
64701         to try to make its parents.
64702         Close potential file descriptor leak if we can't chdir("/") (!).
64703         Don't always return true if chdir($PWD) fails; return true only
64704         if the requested action was done successfully (except for the
64705         chdir($PWD)).
64706         Don't log final directory unless we actually made it.
64707         Refactor to avoid duplicate code to fix up permissions.
64708         Don't attempt to fix up parent permissions if chdir($PWD) fails.
64709
64710         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
64711         to make it a bit faster and (I hope) clearer.
64712         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
64713         Fix bug in formats like %2N.
64714
64715         * lib/verify.h: New file.
64716
64717 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
64718
64719         Sync from coreutils.
64720         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
64721
64722 2005-09-22  Jim Meyering  <jim@meyering.net>
64723
64724         Sync from coreutils.
64725
64726         * m4/lstat.m4 (gl_FUNC_LSTAT):
64727         Use AC_LIBSOURCES to require lstat.c and lstat.h.
64728         Remove obsolete comment.
64729         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
64730         * m4/xstrtod.m4: Likewise.
64731
64732         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
64733
64734 2005-09-22  Jim Meyering  <jim@meyering.net>
64735
64736         Sync from coreutils.
64737
64738         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
64739
64740         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
64741         the .tm_year member, since otherwise gcc-4.0 would now warn about
64742         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
64743
64744         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
64745         order to avoid an unsuppressible warning from gcc on 64-bit systems.
64746
64747         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
64748         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
64749         when run in a time zone for which daylight savings time is in effect
64750         for the starting date.
64751
64752         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
64753         stop us from restricting permissions of just-created absolute-named
64754         directories.
64755         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
64756         to restore initial working directory.
64757         * lib/mkdir-p.c (make_dir_parents): New parameter:
64758         different_working_dir, to tell caller if/when we change the working
64759         directory and are unable to return to the initial one.
64760         * lib/mkdir-p.h (make_dir_parents): Update prototype.
64761         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
64762         `return false'.  This fixes a bug introduced on 2004-07-30.
64763
64764         * lib/openat.c (fdopendir): Be sure to close the supplied
64765         file descriptor before returning.  This makes our replacement
64766         implementation a little closer to Solaris's, where fdopendir
64767         ties the file descriptor to the returned DIR* pointer.
64768         * lib/openat.c (unlinkat): New function.
64769         * lib/openat.h (unlinkat): Add prototype.
64770         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
64771         (openat_restore_fail): Rename from openat_restore_die.
64772         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
64773
64774         Provide an alternative to exiting immediately upon save_cwd or
64775         restore_cwd failure.  Now, an application can arrange e.g.,
64776         to perform a longjump in that case.
64777         * lib/openat.c: Include dirname.h.
64778         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
64779         (rpl_openat, fdopendir, fstatat): Call openat_save_die
64780         and openat_restore_die rather than calling error directly.
64781         Don't include "error.h" or "exitfail.h"; they're no longer needed.
64782
64783         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
64784         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
64785         define.
64786
64787         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
64788         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
64789                             int utc, int nanoseconds);
64790         Background:
64791         date should not have to allocate a megabyte of virtual memory to
64792         handle a format argument like +%1048575T.  When implemented with
64793         strftime, it must allocate such a buffer, use strftime to fill it
64794         in, print it, then free it.
64795         With fprintftime, it simply prints everything and exits.
64796         With no need for memory allocation, that's one fewer way to fail.
64797         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
64798         optional field width, not before, so we accept %9:z, not %:9z.
64799         (my_strftime): Be sure to use L_('x') for literals.
64800
64801         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
64802         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
64803         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
64804         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
64805         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
64806         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
64807         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
64808         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
64809         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
64810         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
64811         * lib/xgethostname.c, lib/xreadlink.c:
64812         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
64813
64814         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
64815         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
64816         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
64817         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
64818         and don't include <sys/file.h>).
64819
64820 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
64821
64822         Sync from coreutils.
64823
64824         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
64825         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
64826         [!LDAV_DONE]: Avoid unused variable warning.
64827
64828 2005-09-21  Bruno Haible  <bruno@clisp.org>
64829
64830         * lib/unicodeio.h (unicode_to_mb): New declaration.
64831
64832 2005-09-20  Derek Price  <derek@ximbiot.com>
64833
64834         * lib/getaddrinfo.c: Don't include <netdb.h> included from
64835         getaddrinfo.h.
64836
64837 2005-09-20  Bruno Haible  <bruno@clisp.org>
64838
64839         * gnulib-tool: Remove trailing slashes from the values specified for
64840         --source-base, --m4-base, --tests-base, --aux-dir.
64841         Suggested by Simon Josefsson <jas@extundo.com>.
64842
64843 2005-09-20  Bruno Haible  <bruno@clisp.org>
64844
64845         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
64846         func_modules_to_filelist, func_import, func_create_testdir): Make all
64847         sorting results locale-independent, so that gnulib-cache.m4 doesn't
64848         change when gnulib-tool is invoked in a different locale.
64849
64850 2005-09-19  Simon Josefsson  <jas@extundo.com>
64851
64852         * m4/socklen.m4: Fix typo.
64853
64854 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64855
64856         Use a consistent style for including <config.h>.
64857         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
64858         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
64859         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
64860         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
64861         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
64862         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
64863         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
64864         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
64865         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
64866         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
64867         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
64868         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
64869         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
64870         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
64871         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
64872         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
64873         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
64874         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
64875         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
64876         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
64877         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
64878         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
64879         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
64880         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
64881         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
64882         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
64883         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
64884         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
64885         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
64886         lib/xstrtoumax.c, lib/yesno.c:
64887         Standardize inclusion of config.h.
64888         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
64889         lib/inttostr.h:  Removed inclusion of config.h from header files.
64890         * lib/inttostr.c:  Adjusted in-tree users.
64891         * lib/timespec.h: Remove superfluous warning to include config.h.
64892         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
64893         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
64894         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
64895         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
64896         config.h with HAVE_CONFIG_H.
64897
64898 2005-09-19  Jim Meyering  <jim@meyering.net>
64899
64900         * modules/pathmax (License): Change to LGPL.
64901
64902 2005-09-19  Derek Price  <derek@ximbiot.com>
64903
64904         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
64905
64906 2005-09-19  Bruno Haible  <bruno@clisp.org>
64907
64908         * gnulib-tool (import): Provide default for --tests-base.
64909
64910 2005-09-19  Bruno Haible  <bruno@clisp.org>
64911
64912         * doc/quote.texi: New file, extracted from gnulib.texi.
64913         * doc/ctime.texi: New file, extracted from gnulib.texi.
64914         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
64915         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
64916         * doc/gnulib.texi: Include them.
64917
64918 2005-09-18  Bruno Haible  <bruno@clisp.org>
64919
64920         Portability fix.
64921         * gnulib-tool (func_readlink): New function.
64922         (func_ln_if_changed): Use it.
64923
64924 2005-09-18  Bruno Haible  <bruno@clisp.org>
64925
64926         * gnulib-tool: Support --with-tests also with --import.
64927         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
64928         (func_import): Use variables $testsbase and $inctests. Emit a
64929         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
64930         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
64931         SUBDIRS += $testsdir.
64932         (func_create_testdir): Update.
64933
64934 2005-09-18  Bruno Haible  <bruno@clisp.org>
64935
64936         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
64937         instead of $dry_run.
64938         (func_cp_if_changed, func_mv_if_changed): Remove functions.
64939         (func_ln_if_changed): Don't handle dry-run here.
64940         (func_import): In dry-run mode, detect more precisely which actions
64941         would be performed, and don't use "...ing" verbs.
64942
64943 2005-09-18  Bruno Haible  <bruno@clisp.org>
64944
64945         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
64946         (func_import): Use join on two temporary files instead of three nested
64947         loops, in order to determine which files are new or old.
64948
64949 2005-09-18  Bruno Haible  <bruno@clisp.org>
64950
64951         * gnulib-tool (func_import): Comment out code that spits out the
64952         new files with --dry-run.
64953
64954 2005-09-18  Bruno Haible  <bruno@clisp.org>
64955
64956         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
64957
64958 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
64959
64960         * lib/stat-time.h: New file.
64961         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
64962         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
64963         in a different way.
64964         (timespec_cmp): New function.
64965         * lib/utimecmp.c: Include stat-time.h.
64966         (SYSCALL_RESOLUTION): Depend on whether various struct stat
64967         members exist, not on the obsolescent ST_MTIM_NSEC.
64968         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
64969
64970 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
64971
64972         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
64973
64974 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
64975
64976         * MODULES.html.sh (File system functions): Add stat-time.
64977         * modules/stat-time: New file.
64978         * modules/timespec (Files): Remove m4/st_mtim.m4; this
64979         is now done in a different way, by the stat-time module.
64980         * modules/utimecmp (Depends-on): Add stat-time.
64981
64982 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
64983
64984         * m4/st_mtim.m4: Remove.  Superseded by...
64985         * m4/stat-time.m4: New file.
64986         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
64987         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
64988
64989 2005-09-15  Derek Price  <derek@ximbiot.com>
64990
64991         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
64992
64993 2005-09-15  Derek Price  <derek@ximbiot.com>
64994
64995         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
64996         * lib/regex_internal.c: Ditto, using this...
64997         (__GNUC_PREREQ): ...new macro.
64998         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
64999         using...
65000         (__GNUC_PREREQ): ...this new macro.
65001
65002         * lib/strstr.h: Include string.h. Define strstr as a macro here.
65003
65004 2005-09-15  Derek Price  <derek@ximbiot.com>
65005             Paul Eggert  <eggert@cs.ucla.edu>
65006
65007         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
65008         changes, consolidating in...
65009         * lib/regex_internal.h: ...this file.
65010
65011 2005-09-13  Jim Meyering  <jim@meyering.net>
65012
65013         * lib/canon-host.c: Filter through gnu indent and reword comments
65014         slightly.
65015         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
65016
65017 2005-09-13  Derek Price  <derek@ximbiot.com>
65018
65019         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
65020         failure.
65021         Reported by Jim Meyering  <jim@meyering.net>.
65022
65023 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
65024
65025         * lib/base64.c: Typo.
65026         (base64_encode): Put b64str in initialized data section.
65027
65028 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
65029
65030         Merge glibc and coreutils changes into gnulib, plus a few
65031         extra fixes.
65032         * lib/md5.c: Use #error rather than a string.
65033         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
65034         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
65035         (__attribute__): Define to empty for non recent-GCC.
65036         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
65037         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
65038         Renamed from their non-__ counterparts, with new macros replacing
65039         them if not _LIBC.  Add __THROW attribute.
65040         (rol): Remove.
65041         (struct md5_ctx): Align buffer if using GCC.
65042         * lib/sha1.h (struct sha1_ctx): Likewise.
65043         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
65044         The old name was backwards.
65045         (NOTSWAP): Remove; not used.
65046         (rol): New macro, moved here from md5.h.
65047         (sha1_process_block): Remove a FIXME that doesn't make sense.
65048
65049 2005-09-12  Derek Price  <derek@ximbiot.com>
65050
65051         Return usable errors from canon-host.
65052         * lib/canon-host.h: New file.
65053         * lib/canon-host.c (canon_host): Wrap...
65054         (canon_host_r): ...this new function, which now relies exclusively on
65055         getaddrinfo.
65056         (ch_strerror): New function.
65057         (last_cherror): New global.
65058         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
65059         interface.
65060         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
65061         void *.
65062         (freeaddrinfo): Free ai->ai_canonname when set.
65063
65064 2005-09-12  Derek Price  <derek@ximbiot.com>
65065
65066         Make canon-host require getaddrinfo.
65067         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
65068         AC_LIBSOURCE canon-host.h.  Call...
65069         (gl_PREREQ_CANON_HOST): ...this new function, which requires
65070         gl_GETADDRINFO.
65071         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
65072
65073 2005-09-12  Derek Price  <derek@ximbiot.com>
65074
65075         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
65076         LGPL.
65077         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
65078
65079 2005-09-12  Derek Price  <derek@ximbiot.com>
65080
65081         * lib/gai_strerror.c: Include config.h when available.  Include
65082         getaddrinfo.h before other headers to test interface.
65083         Reported by Larry Jones <lawrence.jones@ugs.com>.
65084
65085 2005-09-12  Derek Price  <derek@ximbiot.com>
65086             Paul Eggert  <eggert@cs.ucla.edu>
65087
65088         * modules/glob (Files): Add glob-libc.h.
65089
65090 2005-09-12  Derek Price  <derek@ximbiot.com>
65091             Paul Eggert  <eggert@cs.ucla.edu>
65092
65093         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
65094         glob_.h, glob-libc.h.
65095         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
65096
65097 2005-09-12  Derek Price  <derek@ximbiot.com>
65098             Paul Eggert  <eggert@cs.ucla.edu>
65099
65100         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
65101         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
65102         protecting things that should be done only in gnulib contexts.
65103         * lib/glob_.h: New file, containing only the glob things needed for
65104         gnulib.
65105         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
65106         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
65107         (glob, globfree, glob_pattern_p): Now defined simply in terms of
65108         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
65109         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
65110         and to respect the namespace rules better.
65111
65112 2005-09-08  Simon Josefsson  <jas@extundo.com>
65113
65114         * modules/socklen: New file.
65115
65116 2005-09-08  Simon Josefsson  <jas@extundo.com>
65117
65118         * m4/socklen.m4: New file.
65119
65120 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
65121
65122         * modules/utimens (Files): Add m4/utimbuf.m4, since
65123         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
65124         Reported by Sergey Poznyakoff.
65125
65126 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
65127
65128         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
65129         definitions, since that's the preferred style in glibc.
65130         Fix a minor spacing issue, and update copyright notice to match
65131         glibc's.
65132
65133 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
65134
65135         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
65136
65137 2005-09-06  Simon Josefsson  <jas@extundo.com>
65138
65139         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
65140         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
65141
65142 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
65143
65144         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
65145         warning.
65146
65147 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
65148
65149         * config/srclist.txt: Add glibc bug 1302.
65150
65151 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
65152
65153         Change bitset word type from unsigned int to unsigned long int,
65154         as this has better performance on typical 64-bit hosts.
65155         Port bitset code to hosts with unusual word sizes.
65156         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
65157         (build_collating_symbol):
65158         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
65159         argument is a bitset.  This is merely a style issue, but it makes
65160         it clearer that an entire array is expected.
65161         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
65162         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
65163         Port to the case where bitset_word is not the same as unsigned int.
65164         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
65165         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
65166         Likewise.
65167         * lib/regexec.c (check_dst_limits_calc_pos_1,
65168         check_subexp_matching_top):
65169         (build_trtable, group_nodes_into_DFAstates):
65170         Likewise.
65171         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
65172         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
65173         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
65174         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
65175         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
65176         * lib/regcomp.c (optimize_subexps, lower_subexp):
65177         Work even if bitset_word has holes in its bitwise representation.
65178         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
65179         * lib/regexec.c (check_dst_limits_calc_pos_1,
65180         check_subexp_matching_top):
65181         Likewise.
65182         * lib/regex_internal.c (re_string_reconstruct):
65183         Don't assume UCHAR_MAX == 255.
65184         * lib/regex_internal.h (bitset_set_all): Likewise.
65185         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
65186         All uses changed.
65187         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
65188         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
65189         All uses changed.
65190         (BITSET_WORD_MAX): New macro.
65191         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
65192         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
65193         (bitset_empty, bitset_copy):
65194         Prefer sizeof (bitset) to multiplying it out ourselves.
65195         (bitset_not_merge): Remove; unused.
65196         (bitset_contain): Return bool, not unsigned int with one bit on.
65197         All callers changed.
65198         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
65199         alignment than re_node_set; do this by defining a new internal
65200         type struct dests_alloc and using it to allocate memory.
65201
65202 2005-09-05  Bruno Haible  <bruno@clisp.org>
65203
65204         * gnulib-tool (func_import): Fix comparison in handling of symbolic
65205         links.
65206
65207 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
65208
65209         * modules/size_max (Makefile.am): Add size_max.h
65210
65211 2005-09-04  Derek Price  <derek@ximbiot.com>
65212
65213         * gnulib-tool (func_import): Fix reversed $symbolic logic.
65214
65215 2005-09-03  Simon Josefsson  <jas@extundo.com>
65216
65217         * gnulib-tool: Fix typo.
65218
65219 2005-09-03  Simon Josefsson  <jas@extundo.com>
65220
65221         * config/srclist.txt: Add glibc bug 1293.
65222
65223 2005-09-03  Derek Price  <derek@ximbiot.com>
65224
65225         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
65226         From Larry Jones <lawrence.jones@ugs.com>.
65227
65228 2005-09-02  Simon Josefsson  <jas@extundo.com>
65229
65230         * modules/socklen: New file.
65231
65232 2005-09-02  Simon Josefsson  <jas@extundo.com>
65233
65234         * modules/havelib: New module.
65235
65236         * modules/gettext, modules/iconv, modules/lock, modules/readline:
65237         Use havelib.
65238
65239 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
65240
65241         Check for arithmetic overflow when calculating sizes, to prevent
65242         some buffer-overflow issues.  These patches are conservative, in the
65243         sense that when I couldn't determine whether an overflow was possible,
65244         I inserted a run-time check.
65245         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
65246         macros.
65247         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
65248         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
65249         (re_xnrealloc, re_x2nrealloc): New inline functions.
65250         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
65251         parse_bracket_exp):
65252         (build_equiv_class, build_charclass): Check for arithmetic overflow
65253         in size expression calculations.
65254         * lib/regex_internal.c (re_string_realloc_buffers):
65255         (build_wcs_upper_buffer, re_node_set_add_intersect):
65256         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
65257         (re_dfa_add_node, register_state): Likewise.
65258         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
65259         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
65260         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
65261         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
65262
65263 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
65264
65265         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
65266         m4/ulonglong.m4.  Problem reported by Martin Lambers.
65267
65268 2005-09-02  Bruno Haible  <bruno@clisp.org>
65269
65270         Support for lib vs. lib64 distinction on biarch platforms.
65271         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
65272         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
65273         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
65274
65275 2005-09-02  Bruno Haible  <bruno@clisp.org>
65276
65277         * gnulib-tool (import): In the other first-use case, provide defaults
65278         as well.
65279
65280 2005-09-02  Bruno Haible  <bruno@clisp.org>
65281
65282         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
65283         patches not yet found in the latest gettext release.
65284
65285 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
65286
65287         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
65288         to avoid a collision with bits/local_lim.h in glibc.
65289         All uses changed.  Problem reported by Dmitry V. Levin in
65290         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
65291
65292         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
65293         bugs in int versus size_t comparisons.
65294         (re_string_context_at): Fix bug where the code assumed that
65295         Idx is signed.
65296
65297         Use bool where appropriate.
65298         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
65299         All callers changed.
65300         (calc_eclosure_iter): Likewise, for ROOT arg.
65301         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
65302         (build_charclass_op): Likewise, for NON_MATCH arg.
65303         * lib/regex_internal.c (re_string_allocate, re_string_construct):
65304         (re_string_construct_common): Likewise, for ICASE arg.
65305         * lib/regexec.c (re_search_2_stub, re_search_stub):
65306         Likewise, for RET_LEN arg.
65307         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
65308         (set_regs): Likewise, for FL_BACKTRACK arg.
65309         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
65310         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
65311         (calc_eclosure_iter, parse_bracket_exp):
65312         Use bool for internal variables that are booleans.
65313         * lib/regexec.c (re_search_internal, check_matching,
65314         proceed_next_node):
65315         (set_regs, build_sifted_states, sift_states_bkref):
65316         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
65317         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
65318         (find_collation_sequence_value):
65319         Likewise.
65320         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
65321         (re_node_set_compare):
65322         Return bool, not int. All callers changed.
65323         * lib/regexec.c (check_halt_node_context, check_dst_limits):
65324         (build_trtable, check_node_accept): Likewise.
65325         * lib/regex_internal.h: Include stdbool.h.
65326
65327         Fix bugs uncovered when converting to bool.
65328         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
65329         failure instead of charging ahead blindly.
65330         * lib/regex_internal.c (register_state): Likewise.
65331         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
65332         for freeing internal storage.
65333         (group_nodes_into_DFA_states): Use unsigned int, not int, for
65334         bitset pieces used as boolean, to avoid undefined behavior
65335         on hosts that do int overflow checking.
65336
65337 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
65338
65339         * config/srclist.txt: Add glibc bugs 1285-1287.
65340
65341 2005-09-01  Jim Meyering  <jim@meyering.net>
65342
65343         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
65344         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
65345         Require gl_STAT_MACROS, too.
65346
65347 2005-09-01  Bruno Haible  <bruno@clisp.org>
65348
65349         * gnulib-tool (import): In the first-use case, provide defaults.
65350
65351 2005-09-01  Bruno Haible  <bruno@clisp.org>
65352
65353         * gnulib-tool (func_import): Remove the .tmp files.
65354
65355 2005-09-01  Bruno Haible  <bruno@clisp.org>
65356
65357         * gnulib-tool (func_import): Fix handling of symbolic links.
65358
65359 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
65360
65361         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
65362         old glibc regex code mishandles strings longer than 2**31 bytes.
65363         This patch fixes this when the regex code is used in gnulib
65364         (i.e., outside glibc).
65365
65366         This patch should not affect the use of the regex code inside
65367         glibc.  No doubt this problem also needs to be handled for glibc
65368         as well, but the result will be an incompatible change to the
65369         glibc ABI, and the old ABI will have to be supported too.  That
65370         can be the the subject for another patch.
65371
65372         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
65373         governing whether the rest of this patch is active.  By default,
65374         the macro is disabled and the patch has no effect.
65375         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
65376         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
65377         (struct re_pattern_buffer, re_search, re_search_2, re_match):
65378         (re_match_2, re_set_registers): Use the new types.
65379         * lib/regex_internal.h (Idx, re_hashval_t): New types.
65380         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
65381         New macros.
65382         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
65383         (re_string_context_at, bin_tree_t, re_dfastate_t):
65384         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
65385         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
65386         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
65387         (re_string_char_size_at, re_string_wchar_at):
65388         (re_string_elem_size_at):
65389         Use the new types and macros to port to 64-bit hosts.
65390         Use unsigned types for internal values, so that the code
65391         mostly works even for arrays larger than SSIZE_MAX.
65392         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
65393         (search_duplicated_node, calc_eclosure_iter, fetch_number):
65394         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
65395         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
65396         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
65397         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
65398         (calc_inveclosure, parse_dup_op, build_range_exp):
65399         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
65400         (fetch_number, create_token_tree, mark_opt_subexp):
65401         Likewise.
65402         * lib/regex_internal.c (re_string_construct_common,
65403         create_ci_newstate):
65404         (create_cd_newstate, re_string_allocate, re_string_construct):
65405         (re_string_realloc_buffers, build_wcs_upper_buffer):
65406         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
65407         (re_string_reconstruct, re_string_peek_byte_case):
65408         (re_string_fetch_byte_case, re_string_context_at):
65409         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
65410         (re_node_set_init_copy, re_node_set_add_intersect):
65411         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
65412         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
65413         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
65414         (re_acquire_state, re_acquire_state_context, register_state):
65415         Likewise.
65416         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
65417         search_cur_bkref_entry):
65418         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
65419         (re_search_internal, re_search_2_stub, re_search_stub)
65420         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
65421         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
65422         (update_cur_sifted_state, check_dst_limits):
65423         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
65424         (check_subexp_limits, sift_states_bkref, merge_state_array):
65425         (check_subexp_matching_top, get_subexp, get_subexp_sub):
65426         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
65427         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
65428         (expand_bkref_cache, check_node_accept_bytes):
65429         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
65430         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
65431         (acquire_init_state_context, check_halt_node_context):
65432         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
65433         (sift_states_backward, clean_state_log_if_needed):
65434         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
65435         (find_recover_state, transit_state_sb, transit_state_mb):
65436         (transit_state_bkref, build_trtable, match_ctx_clean):
65437         Likewise.
65438         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
65439         to work around an assumption that REG_MISSING is negative.
65440
65441         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
65442         (seek_collating_symbol_entry) [defined _LIBC]:
65443         (lookup_collation_sequence_value) [defined _LIBC]:
65444         (build_range_exp, build_collating_symbol) [defined _LIBC]:
65445         Use prototypes rather than old-style function definitions.
65446         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
65447         (transit_state_sb) [0]:
65448         (find_collation_sequence_value) [defined _LIBC]: Likewise.
65449
65450         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
65451         rm_eo.
65452
65453         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
65454         (optimize_subexps, lower_subexp):
65455         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
65456         since the signed shift might overflow.  Use 1u<<31 instead.
65457         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
65458         Likewise.
65459         * lib/regexec.c (check_dst_limits_calc_pos_1,
65460         check_subexp_matching_top): Likewise.
65461
65462         * lib/regcomp.c (optimize_subexps, lower_subexp):
65463         Use CHAR_BIT rather than 8, for clarity.
65464         * lib/regexec.c (check_dst_limits_calc_pos_1):
65465         (check_subexp_matching_top): Likewise.
65466         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
65467         have to worry about portability issues when shifting it left.
65468         Remove no-longer-needed test for table_size > 0.
65469         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
65470         in a word, as the resulting behavior is undefined.
65471         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
65472         in one case, a <= should have been an <, and in another case the
65473         whole test was missing.
65474         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
65475         the standard name CHAR_BIT.
65476         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
65477         this is not true on one's complement and signed-magnitude hosts.
65478
65479         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
65480         next_last_offset.
65481         (struct re_dfa_t): Remove unused member states_alloc.
65482         * lib/regcomp.c (init_dfa): Don't initialize unused members.
65483
65484 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
65485
65486         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
65487         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
65488         and large-file glibc and in 32-bit large-file Solaris.
65489
65490 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
65491
65492         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
65493         lengths fit in regoff_t; this isn't true if regoff_t is the same
65494         width as size_t.
65495         * lib/regex.c (re_search_internal): 5th arg is LAST_START
65496         (= START + RANGE) instead of RANGE.  This avoids overflow
65497         problems when regoff_t is the same width as size_t.
65498         All callers changed.
65499         (re_search_2_stub): Check for overflow when adding the
65500         sizes of the two strings.
65501         (re_search_stub): Check for overflow when adding START
65502         to RANGE; if it occurs, substitute the extreme value.
65503
65504 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
65505
65506         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
65507
65508 2005-08-31  Jim Meyering  <jim@meyering.net>
65509
65510         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
65511         a pointer-to-const.
65512         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
65513         (register_state): Likewise.
65514         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
65515         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
65516         (group_nodes_into_DFAstates): Likewise.
65517
65518 2005-08-31  Jim Meyering  <jim@meyering.net>
65519
65520         * check-module: Add a FIXME comment.
65521
65522 2005-08-31  Eric Blake  <ebb9@byu.net>
65523
65524         * modules/unistd-safer (Files): Add unistd--.h.
65525         * modules/stdio-safer (Files): Add stdio--.h.
65526
65527 2005-08-31  Derek Price  <derek@ximbiot.com>
65528
65529         * lib/getdelim.c (getdelim): Return EOF on EOF.
65530         Reported by Larry Jones <lawrence.jones@ugs.com>.
65531
65532 2005-08-31  Bruno Haible  <bruno@clisp.org>
65533
65534         Avoid unnecessary diffs in the generated lib/Makefile.am.
65535         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
65536         the generated files.
65537         (func_import): Don't set cmd.
65538
65539 2005-08-31  Bruno Haible  <bruno@clisp.org>
65540
65541         * lib/strstr.c: Include <stddef.h>, for NULL.
65542         * lib/strcasestr.c: Likewise.
65543         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
65544
65545 2005-08-31  Bruno Haible  <bruno@clisp.org>
65546
65547         * gnulib-tool: New option --macro-prefix.
65548         (func_import): Use macro_prefix.
65549         (import): Handle option --macro-prefix.
65550
65551 2005-08-31  Bruno Haible  <bruno@clisp.org>
65552
65553         * gnulib-tool (import): Rename most ac_* variables to cached_*.
65554         Also use new variables cached_lgpl, cached_libtool.
65555
65556 2005-08-31  Bruno Haible  <bruno@clisp.org>
65557
65558         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
65559         always instantiating them.
65560
65561 2005-08-31  Bruno Haible  <bruno@clisp.org>
65562
65563         * gnulib-tool (func_import): Read the previous cached settings
65564         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
65565         earlier added by gnulib but are now dropped. Warn when a gnulib file
65566         overwrites a non-gnulib file.
65567
65568 2005-08-31  Bruno Haible  <bruno@clisp.org>
65569
65570         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
65571         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
65572         projects that don't keep autogenerated files in CVS. Put into
65573         actioncmd only the specified modules, not the transitive closure.
65574
65575 2005-08-31  Bruno Haible  <bruno@clisp.org>
65576
65577         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
65578         Create directories that shall be filled.
65579         (import): Don't look for gl_* macros in configure.ac. Recurse across
65580         all directories containing a gnulib-cache.m4 files, if meaningful.
65581
65582 2005-08-31  Bruno Haible  <bruno@clisp.org>
65583
65584         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
65585         (import): Set seen_libtool when we see gl_LIBTOOL.
65586
65587 2005-08-31  Bruno Haible  <bruno@clisp.org>
65588
65589         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
65590         declaration macro definitions from generated gnulib.m4.
65591
65592 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
65593
65594         * lib/iconvme.h: Add prototype for iconv_alloc.
65595
65596 2005-08-29  Simon Josefsson  <jas@extundo.com>
65597
65598         * lib/iconvme.c: Fix errno.
65599
65600 2005-08-29  Bruno Haible  <bruno@clisp.org>
65601
65602         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
65603         that it works when the directory contains spaces.
65604
65605 2005-08-29  Bruno Haible  <bruno@clisp.org>
65606
65607         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
65608
65609 2005-08-29  Bruno Haible  <bruno@clisp.org>
65610
65611         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
65612         Emit more advice.
65613
65614 2005-08-29  Bruno Haible  <bruno@clisp.org>
65615         and Stepan Kasal  <kasal@ucw.cz>
65616
65617         * check-module: If more parameters are given, check each of them
65618         separately; add more exceptions, as noted by Jim Meyering.
65619         (check_module): New procedure.
65620         (%exempt_header): Now contains all exceptions.
65621
65622 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
65623
65624         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
65625
65626 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
65627
65628         * lib/iconvme.c: Split iconv_string into iconv_alloc.
65629
65630 2005-08-28  Bruno Haible  <bruno@clisp.org>
65631
65632         * m4/gnulib-tool.m4: New file.
65633
65634 2005-08-27  Jim Meyering  <jim@meyering.net>
65635
65636         * modules/unistd-safer (Files): Add pipe-safer.c.
65637         * modules/fcntl-safer (Files): Add creat-safer.c.
65638
65639 2005-08-27  Jim Meyering  <jim@meyering.net>
65640
65641         * m4/stdlib-safer.m4: New file.  From coreutils.
65642         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
65643         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
65644         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
65645         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
65646         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
65647
65648 2005-08-27  Jim Meyering  <jim@meyering.net>
65649
65650         * lib/fopen-safer.c: Merge minor changes from coreutils.
65651         * lib/dup-safer.c: Likewise.
65652         * lib/fd-safer.c: Likewise.
65653
65654         Merge from coreutils.
65655         * lib/stdio--.h: New file.
65656         * lib/stdlib--.h: New file.
65657         * lib/mkstemp-safer.c: New file.
65658
65659         GNU tar needs these.
65660         * lib/pipe-safer.c: New file.
65661         * lib/creat-safer.c: New file.
65662         * lib/fcntl--.h (creat): Define to creat_safer.
65663         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
65664         * lib/unistd--.h (pipe): Define to pipe_safer.
65665         * lib/unistd-safer.h: Declare pipe_safer.
65666
65667 2005-08-26  Simon Josefsson  <jas@extundo.com>
65668
65669         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
65670         Haible <bruno@clisp.org>.
65671
65672 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
65673
65674         * lib/regex_internal.h: Remove all references to
65675         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
65676         or better.
65677         (bitset_not, bitset_merge, bitset_not_merge):
65678         (bitset_mask, re_string_allocate, re_string_construct):
65679         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
65680         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
65681         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
65682         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
65683         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
65684         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
65685         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
65686         (re_acquire_state_context):
65687         Remove unnecessary forward decls.
65688         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
65689         Put __attribute at function definition,
65690         now that the function decl has been removed.
65691         * lib/regex_internal.c (re_string_peek_byte_case):
65692         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
65693         Likewise.
65694
65695 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
65696
65697         * m4/regex.m4: Add AC_PREREQ(2.50).
65698         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
65699
65700 2005-08-25  Simon Josefsson  <jas@extundo.com>
65701
65702         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
65703         __fsetlocking.
65704
65705 2005-08-25  Simon Josefsson  <jas@extundo.com>
65706
65707         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
65708         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
65709         GLIBC specific code.
65710
65711 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
65712
65713         Make regex safe for g++.  This fixes one real bug (an "err"
65714         that should have been "*err").  g++ problem reported by
65715         Sam Steingold.
65716         * lib/regex_internal.h (re_calloc): New macro, consistent with
65717         re_malloc etc.  All callers of calloc changed to use re_calloc.
65718         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
65719         not int.  All callers changed.
65720         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
65721         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
65722         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
65723         (find_recover_state): Change "err" to "*err"; this fixes what
65724         appears to be a real bug.
65725         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
65726         versus int.
65727
65728 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
65729
65730         * modules/regex (Depends-on): Add malloc, since the code
65731         assumes that !malloc(0) means failure.
65732
65733 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
65734
65735         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
65736
65737         alloca modernization/simplification for regex.
65738         * lib/regex.c: Remove portability cruft for alloca.  This no longer
65739         needs to be at the start of the file, and can be moved into
65740         regex_internal.h and simplified.
65741         * lib/regex_internal.h: Include <alloca.h>.
65742         (__libc_use_alloca) [!defined _LIBC]: New macro.
65743         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
65744         now works outside glibc.
65745
65746 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
65747
65748         * config/srclist.txt: Add glibc bugs 1241, 1245.
65749
65750 2005-08-25  Jim Meyering  <jim@meyering.net>
65751
65752         * lib/open-safer.c: Include <config.h>.
65753         Otherwise, we'd lose LARGEFILE support in any file using
65754         e.g. "fcntl--.h"
65755
65756 2005-08-25  Bruno Haible  <bruno@clisp.org>
65757
65758         * m4/minmax.m4: Require autoconf 2.52.
65759         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
65760         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
65761         alternatives of translit over the alphabet.
65762         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
65763
65764 2005-08-24  Simon Josefsson  <jas@extundo.com>
65765
65766         * tests/test-getpass.c: New file.
65767
65768 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
65769
65770         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
65771         for GNU regex features.
65772
65773 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
65774
65775         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
65776         * lib/regex.h (regerror): Likewise.
65777
65778         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
65779         requires this.  (The code never needed it.)
65780
65781         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
65782         All uses of recently-renamed identifiers changed to use the new,
65783         POSIX-compliant names.  The code will build and run just fine
65784         without these changes, but it's better to eat our own dog food
65785         and use the standard-conforming names.
65786
65787         * lib/regex.h: Fix a multitude of POSIX name space violations.
65788         These changes have an effect only for programs that define
65789         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
65790         do not change anything for programs compiled in the normal way.
65791         Also, there is no effect on the ABI.
65792
65793         (_REGEX_SOURCE): New macro.
65794         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
65795         defined and _GNU_SOURCE is not; this fixes a name space violation.
65796
65797         Rename the following macros to obey POSIX requirements.
65798         The old names are still visible as macros if _REGEX_SOURCE is defined.
65799         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
65800         RE_BACKSLASH_ESCAPE_IN_LISTS.
65801         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
65802         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
65803         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
65804         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
65805         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
65806         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
65807         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
65808         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
65809         (REG_INTERVALS): renamed from RE_INTERVALS.
65810         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
65811         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
65812         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
65813         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
65814         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
65815         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
65816         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
65817         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
65818         RE_UNMATCHED_RIGHT_PAREN_ORD.
65819         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
65820         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
65821         (REG_DEBUG): renamed from RE_DEBUG.
65822         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
65823         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
65824         unusual, since we can't clash with the POSIX REG_ICASE.
65825         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
65826         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
65827         (REG_NO_SUB): renamed from RE_NO_SUB.
65828         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
65829         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
65830         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
65831         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
65832         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
65833         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
65834         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
65835         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
65836         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
65837         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
65838         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
65839         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
65840         RE_SYNTAX_POSIX_MINIMAL_BASIC.
65841         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
65842         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
65843         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
65844         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
65845         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
65846         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
65847         (REG_FIXED): Renamed from REGS_FIXED.
65848         (REG_NREGS): Renamed from RE_NREGS.
65849
65850         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
65851         of other REG_* macros, since POSIX says the user is allowed to
65852         #undef these macros selectively.
65853
65854         (reg_errcode_t): Update comment stating what other tables need
65855         to be consistent.
65856
65857         Rename the following enum values to obey POSIX requirements.
65858         The old names are still visible as macros.
65859         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
65860         is not defined, since GNU is supposed to be a superset of POSIX as
65861         much as possible, and since we want reg_errcode_t to be a signed
65862         type for implementation consistency.
65863         (_REG_NOERROR): Renamed from REG_NOERROR.
65864         (_REG_NOMATCH): Renamed from REG_NOMATCH.
65865         (_REG_BADPAT): Renamed from REG_BADPAT.
65866         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
65867         (_REG_ECTYPE): Renamed from REG_ECTYPE.
65868         (_REG_EESCAPE): Renamed from REG_EESCAPE.
65869         (_REG_ESUBREG): Renamed from REG_ESUBREG.
65870         (_REG_EBRACK): Renamed from REG_EBRACK.
65871         (_REG_EPAREN): Renamed from REG_EPAREN.
65872         (_REG_EBRACE): Renamed from REG_EBRACE.
65873         (_REG_BADBR): Renamed from REG_BADBR.
65874         (_REG_ERANGE): Renamed from REG_ERANGE.
65875         (_REG_ESPACE): Renamed from REG_ESPACE.
65876         (_REG_BADRPT): Renamed from REG_BADRPT.
65877         (_REG_EEND): Renamed from REG_EEND.
65878         (_REG_ESIZE): Renamed from REG_ESIZE.
65879         (_REG_ERPAREN): Renamed from REG_ERPAREN.
65880         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
65881         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
65882         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
65883         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
65884
65885         (_REG_RE_NAME, _REG_RM_NAME): New macros.
65886         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
65887         changed.  But support the old name if the new one is not defined
65888         and if _REGEX_SOURCE.
65889
65890         Change the following member names in struct re_pattern_buffer.
65891         The old names are still supported if !_REGEX_SOURCE.
65892         The new names are always supported, regardless of _REGEX_SOURCE.
65893         (re_buffer): Renamed from buffer.
65894         (re_allocated): Renamed from allocated.
65895         (re_used): Renamed from used.
65896         (re_syntax): Renamed from syntax.
65897         (re_fastmap): Renamed from fastmap.
65898         (re_translate): Renamed from translate.
65899         (re_can_be_null): Renamed from can_be_null.
65900         (re_regs_allocated): Renamed from regs_allocated.
65901         (re_fastmap_accurate): Renamed from fastmap_accurate.
65902         (re_no_sub): Renamed from no_sub.
65903         (re_not_bol): Renamed from not_bol.
65904         (re_not_eol): Renamed from not_eol.
65905         (re_newline_anchor): Renamed from newline_anchor.
65906
65907         Change the following member names in struct re_registers.
65908         The old names are still supported if !_REGEX_SOURCE.
65909         The new names are always supported, regardless of _REGEX_SOURCE.
65910         (rm_num_regs): Renamed from num_regs.
65911         (rm_start): Renamed from start.
65912         (rm_end): Renamed from end.
65913
65914         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
65915         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
65916         Prepend __ to parameter names.
65917
65918         Undo yesterday's changes.
65919
65920 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
65921
65922         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
65923         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
65924         lib/regex.c.
65925
65926 2005-08-24  Jim Meyering  <jim@meyering.net>
65927
65928         Sync from coreutils.
65929         * m4/fcntl-safer.m4: New file.
65930
65931         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
65932         and object files for this module.
65933
65934 2005-08-24  Jim Meyering  <jim@meyering.net>
65935
65936         Sync from coreutils.
65937         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
65938
65939 2005-08-24  Jim Meyering  <jim@meyering.net>
65940
65941         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
65942         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
65943
65944 2005-08-24  Jim Meyering  <jim@meyering.net>
65945
65946         * modules/fcntl-safer: New module.
65947         * modules/fts (Depends-on): Add fcntl-safer.
65948         * MODULES.html.sh (File descriptor based Input/Output):
65949         Add fcntl-safer.
65950
65951 2005-08-24  Bruno Haible  <bruno@clisp.org>
65952
65953         Support for unit test modules.
65954         * modules/README: Mention tests modules.
65955         * modules/TEMPLATE-TESTS: New file.
65956         * gnulib-tool: New options --extract-tests-module, --with-tests and
65957         --tests-base (unused for the moment).
65958         (testsbase, inctests): New variables.
65959         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
65960         (func_verify_module): Exclude TEMPLATE-TESTS.
65961         (func_verify_nontests_module, func_verify_tests_module): New functions.
65962         (func_get_dependencies): Add implicit dependency for tests modules.
65963         (func_get_tests_module): New function.
65964         (func_modules_transitive_closure): When --with-tests was specified,
65965         include the unit tests as well, unless explicitly avoided.
65966         (func_emit_lib_Makefile_am): Ignore the tests modules here.
65967         (func_emit_tests_Makefile_am): New function.
65968         (func_create_testdir): When --with-tests was specified, emit a
65969         tests/ directory.
65970         * MODULES.html.sh (Future developments): Update.
65971
65972 2005-08-24  Bruno Haible  <bruno@clisp.org>
65973
65974         * modules/tls-tests: New file.
65975         * tests/test-tls.c: New file, from GNU gettext.
65976
65977 2005-08-24  Bruno Haible  <bruno@clisp.org>
65978
65979         * modules/lock-tests: New file.
65980         * tests/test-lock.c: New file, from GNU gettext.
65981
65982 2005-08-24  Bruno Haible  <bruno@clisp.org>
65983
65984         * lib/lock.h: Add multiple inclusion guard.
65985         * lib/tls.h: Add multiple inclusion guard.
65986
65987 2005-08-24  Bruno Haible  <bruno@clisp.org>
65988
65989         * gnulib-tool: Add support for the --aux-dir option to
65990         --create-testdir, --create-megatestdir, --test, --megatest.
65991         (func_create_testdir, func_create_megatestdir): Optionally emit a
65992         AC_CONFIG_AUX_DIR directive.
65993         (create-testdir, create-megatestdir, test, megatest): Provide a
65994         default value for $auxdir.
65995
65996 2005-08-24  Bruno Haible  <bruno@clisp.org>
65997
65998         * gnulib-tool (import): Use compound statement instead of subshell
65999         where possible.
66000
66001 2005-08-24  Bruno Haible  <bruno@clisp.org>
66002
66003         * gnulib-tool (import): Change --aux-dir default to "build-aux".
66004
66005 2005-08-24  Bruno Haible  <bruno@clisp.org>
66006
66007         * gnulib-tool (func_version): Update.
66008
66009 2005-08-24  Bruno Haible  <bruno@clisp.org>
66010
66011         * gnulib-tool (func_import, func_create_testdir,
66012         func_create_megatestdir): Quote all autoconf macro arguments.
66013
66014 2005-08-24  Bruno Haible  <bruno@clisp.org>
66015
66016         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
66017         option --force, because --force causes the aclocal.m4 of each
66018         subdirectory to be newer than the corresponding config.h.in.
66019
66020 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66021
66022         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
66023         All contents moved to gl_REGEX.
66024         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
66025         assume that it does.
66026
66027 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66028
66029         * lib/regex.h (REG_NOSYS)
66030         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
66031         Define, since POSIX requires it as of 2001.
66032         (_REG_ENOSYS)
66033         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
66034         New private symbol, used to keep the enum signed in all cases.
66035         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
66036         Youngman in
66037         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
66038
66039         * lib/regex_internal.c (re_string_skip_chars, register_state):
66040         (calc_state_hash):
66041         Remove forward decls; no longer needed now that we use prototypes.
66042         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
66043         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
66044         (clean_state_log_if_needed): Likewise.
66045
66046 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
66047
66048         * config/srclist.txt: Add glibc bugs 1231-1233.
66049
66050 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
66051
66052         Fix problems reported by Sam Steingold in
66053         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
66054         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
66055         assumed that reg_errcode_t is a signed type, which is not
66056         necessarily true if _XOPEN_SOURCE is not defined.
66057         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
66058         since some compilers warn about it otherwise.
66059
66060 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
66061
66062         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
66063         (init_word_char, create_initial_state, duplicate_node_closure):
66064         (fetch_token, peek_token_bracket, build_range_exp):
66065         (build_collating_symbol): Remove forward decls; no longer needed
66066         now that we use prototypes.
66067
66068         * lib/regcomp.c:
66069         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
66070         (re_compile_fastmap_iter, regcomp, regerror, regfree):
66071         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
66072         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
66073         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
66074         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
66075         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
66076         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
66077         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
66078         (build_range_exp, build_collating_symbol, parse_bracket_exp):
66079         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
66080         (build_charclass, build_charclass_op, fetch_number, create_tree):
66081         (create_token_tree, mark_opt_subexp, duplicate_tree):
66082         Use prototypes rather than old-style definitions.
66083
66084         * lib/regex_internal.c:
66085         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
66086         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
66087         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
66088         (re_string_reconstruct, re_string_peek_byte_case):
66089         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
66090         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
66091         (re_node_set_init_copy, re_node_set_add_intersect):
66092         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
66093         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
66094         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
66095         (re_acquire_state, re_acquire_state_context, register_state):
66096         (create_ci_newstate, create_cd_newstate, free_state):
66097         Likewise.
66098         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
66099         re_search_2):
66100         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
66101         (re_search_internal, prune_impossible_nodes):
66102         (acquire_init_state_context, check_matching, static):
66103         (check_halt_node_context, check_halt_state_context, proceed_next_node):
66104         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
66105         (update_regs, sift_states_backward, build_sifted_states):
66106         (clean_state_log_if_needed, merge_state_array):
66107         (update_cur_sifted_state, add_epsilon_src_nodes):
66108         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
66109         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
66110         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
66111         (find_recover_state, check_subexp_matching_top, transit_state_mb):
66112         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
66113         (check_arrival, check_arrival_add_next_nodes):
66114         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
66115         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
66116         (check_node_accept_bytes, check_node_accept, extend_buffers):
66117         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
66118         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
66119         (sift_ctx_init):
66120         Likewise.
66121
66122         * lib/regex_internal.h:
66123         (re_string_allocate, re_string_construct, re_string_reconstruct):
66124         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
66125         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
66126         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
66127         (re_string_context_at, re_string_peek_byte_case):
66128         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
66129         is defined, since we now use prototypes always.
66130
66131         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
66132         C89 or better.  All uses removed.
66133
66134 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
66135
66136         * config/srclist.txt: Add glibc bugs 1220-1227.
66137
66138 2005-08-20  Jim Meyering  <jim@meyering.net>
66139
66140         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
66141         of unused local, dfa.
66142
66143 2005-08-20  Bruno Haible  <bruno@clisp.org>
66144
66145         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
66146
66147 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
66148
66149         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
66150         (re_node_set_insert_last, re_dfa_add_node):
66151         Rename local variables to avoid GCC shadowing warnings.
66152
66153 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
66154
66155         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
66156         [defined lint]: Suppress bogus uninitialized-variable warnings.
66157
66158         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
66159         and let the caller return REG_ESPACE if out of space.  This
66160         removes an uninitialied-variable warning with GCC 4.0.1, and also
66161         avoids taking the address of a local variable.  All callers
66162         changed.
66163
66164 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
66165
66166         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
66167         $LIBCSRC/posix/regexec.c.
66168         Add glibc bug 1217 for regcomp.c.
66169
66170 2005-08-19  Jim Meyering  <jim@meyering.net>
66171
66172         * lib/regexec.c (proceed_next_node): Redo local variables to
66173         avoid GCC shadowing warnings.
66174
66175 2005-08-18  Bruno Haible  <bruno@clisp.org>
66176
66177         * lib/strstr.c (strstr): Fix return value in multibyte case.
66178         * lib/strcasestr.c (strcasestr): Likewise.
66179
66180 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
66181
66182         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
66183
66184 2005-08-17  Jim Meyering  <jim@meyering.net>
66185
66186         Make the %s format (seconds since the epoch) work for a negative
66187         number and when used with a zero-padded field width, e.g. %015s.
66188
66189         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
66190         label so that it precedes the code to set `digits'.  Otherwise,
66191         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
66192         print `00-22'.  Now, it prints `-0022', as it should.
66193
66194 2005-08-17  Bruno Haible  <bruno@clisp.org>
66195
66196         * modules/strstr (Files): Add m4/mbrtowc.m4.
66197         (Depends-on): Add mbuiter.
66198
66199 2005-08-17  Bruno Haible  <bruno@clisp.org>
66200
66201         * modules/strcasestr: New file.
66202         * MODULES.html.sh (String handling, based on ANSI C 89): Add
66203         strcasestr.
66204
66205 2005-08-17  Bruno Haible  <bruno@clisp.org>
66206
66207         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
66208
66209 2005-08-17  Bruno Haible  <bruno@clisp.org>
66210
66211         * modules/mbuiter: New file.
66212         * MODULES.html.sh (Extended multibyte and wide character utilities):
66213         Add mbuiter.
66214
66215 2005-08-17  Bruno Haible  <bruno@clisp.org>
66216
66217         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
66218         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
66219
66220 2005-08-17  Bruno Haible  <bruno@clisp.org>
66221
66222         * m4/strcasestr.m4: New file.
66223
66224 2005-08-17  Bruno Haible  <bruno@clisp.org>
66225
66226         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
66227         * lib/strstr.c: Completely rewritten, with multibyte locale support.
66228
66229 2005-08-17  Bruno Haible  <bruno@clisp.org>
66230
66231         * lib/strcasestr.h: New file.
66232         * lib/strcasestr.c: New file.
66233
66234 2005-08-17  Bruno Haible  <bruno@clisp.org>
66235
66236         * lib/strcasecmp.c: Use mbuiter.h.
66237
66238 2005-08-17  Bruno Haible  <bruno@clisp.org>
66239
66240         * lib/mbuiter.h: New file.
66241
66242 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
66243
66244         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
66245         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
66246         and gl_GETOPT are both invoked via different paths (as happens
66247         with GNU tar CVS because it uses both argp and getopt), the former
66248         wins.
66249
66250 2005-08-16  Bruno Haible  <bruno@clisp.org>
66251
66252         * modules/tls: New file.
66253         * MODULES.html.sh (Multithreading): Add tls.
66254
66255 2005-08-16  Bruno Haible  <bruno@clisp.org>
66256
66257         * modules/strnlen1: New file.
66258         * MODULES.html.sh (String handling): Add strnlen1.
66259
66260 2005-08-16  Bruno Haible  <bruno@clisp.org>
66261
66262         * modules/strcase (Files): Add m4/mbrtowc.m4.
66263         (Depends-on): Add strnlen1, mbchar.
66264
66265 2005-08-16  Bruno Haible  <bruno@clisp.org>
66266
66267         * modules/mbiter: New file.
66268         * MODULES.html.sh (Extended multibyte and wide character utilities):
66269         Add mbiter.
66270
66271 2005-08-16  Bruno Haible  <bruno@clisp.org>
66272
66273         * modules/mbfile: New file.
66274         * MODULES.html.sh (Extended multibyte and wide character utilities):
66275         Add mbfile.
66276
66277 2005-08-16  Bruno Haible  <bruno@clisp.org>
66278
66279         * modules/mbchar: New file.
66280         * MODULES.html.sh (Extended multibyte and wide character utilities):
66281         New section.
66282
66283 2005-08-16  Bruno Haible  <bruno@clisp.org>
66284
66285         * m4/tls.m4: New file, from GNU gettext.
66286
66287 2005-08-16  Bruno Haible  <bruno@clisp.org>
66288
66289         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
66290         always.
66291         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
66292
66293 2005-08-16  Bruno Haible  <bruno@clisp.org>
66294
66295         * m4/mbiter.m4: New file.
66296
66297 2005-08-16  Bruno Haible  <bruno@clisp.org>
66298
66299         * m4/mbfile.m4: New file.
66300
66301 2005-08-16  Bruno Haible  <bruno@clisp.org>
66302
66303         * m4/mbchar.m4: New file.
66304
66305 2005-08-16  Bruno Haible  <bruno@clisp.org>
66306
66307         * lib/tls.h: New file, from GNU gettext.
66308         * lib/tls.c: New file, from GNU gettext.
66309
66310 2005-08-16  Bruno Haible  <bruno@clisp.org>
66311
66312         * lib/strnlen1.h: New file.
66313         * lib/strnlen1.c: New file.
66314
66315 2005-08-16  Bruno Haible  <bruno@clisp.org>
66316
66317         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
66318         (mbi_init): Update.
66319         (mbi_avail, mbi_advance): Let the iteration end before the terminating
66320         NUL byte, not after it.
66321
66322 2005-08-16  Bruno Haible  <bruno@clisp.org>
66323
66324         * lib/strcase.h (strcasecmp): Add note in comments.
66325         * lib/strncasecmp.c: Use code from strcasecmp.c.
66326         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
66327         (strcasecmp): Work correctly in multibyte locales.
66328
66329 2005-08-16  Bruno Haible  <bruno@clisp.org>
66330
66331         * lib/mbiter.h: New file.
66332
66333 2005-08-16  Bruno Haible  <bruno@clisp.org>
66334
66335         * lib/mbfile.h: New file.
66336
66337 2005-08-16  Bruno Haible  <bruno@clisp.org>
66338
66339         * lib/mbchar.h: New file.
66340         * lib/mbchar.c: New file.
66341
66342 2005-08-16  Bruno Haible  <bruno@clisp.org>
66343
66344         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
66345         the valid ones. Makes the comparison operations transitive:
66346         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
66347         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
66348
66349 2005-08-15  Simon Josefsson  <jas@extundo.com>
66350
66351         * modules/ssize_t (License): Change to 'unlimited'.
66352
66353         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
66354
66355 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
66356
66357         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
66358         Add comments for each pending glibc patch.
66359
66360 2005-08-15  Bruno Haible  <bruno@clisp.org>
66361
66362         * lib/regex.h (__restrict_arr): Don't define to __restrict if
66363         __cplusplus is defined.
66364
66365 2005-08-14  Jim Meyering  <jim@meyering.net>
66366
66367         Sync from coreutils.
66368
66369         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
66370         Use the hash-table-based cycle-detection code not just when
66371         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
66372         Reported by James Youngman in
66373         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
66374         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
66375         FTS_TIGHT_CYCLE_CHECK.
66376         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
66377         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
66378         once again.
66379         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
66380         * lib/fts.c (fd_safer): Remove decl.
66381         Include fcntl--.h rather than unistd-safer.h
66382         (fts_safe_changedir): Don't call fd_safer; no longer needed
66383         now that we include fcntl--.h.
66384
66385 2005-08-12  Simon Josefsson  <jas@extundo.com>
66386
66387         * modules/getndelim2: Use ssize_t module.
66388         * modules/getnline: Likewise.
66389         * modules/safe-read: Likewise.
66390         * modules/xreadlink: Likewise.
66391
66392         * modules/ssize_t: New file.
66393
66394 2005-08-12  Simon Josefsson  <jas@extundo.com>
66395
66396         * m4/readline.m4: Look for termcap, curses or ncurses if required.
66397
66398 2005-08-12  Simon Josefsson  <jas@extundo.com>
66399
66400         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
66401         ssize_t.
66402
66403 2005-08-12  Simon Josefsson  <jas@extundo.com>
66404
66405         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
66406         readline, getdelim and check_version.
66407         (Support for systems lacking ISO C 99: Sizes of integer types):
66408         Add size_max.
66409
66410 2005-08-12  Bruno Haible  <bruno@clisp.org>
66411
66412         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
66413
66414 2005-08-11  Simon Josefsson  <jas@extundo.com>
66415
66416         * modules/readline: New file.
66417
66418         * modules/strnlen (Files): Add strnlen.h.
66419
66420 2005-08-11  Simon Josefsson  <jas@extundo.com>
66421
66422         * m4/readline.m4: New file.
66423
66424 2005-08-11  Simon Josefsson  <jas@extundo.com>
66425
66426         * lib/readline.h, readline.c: New file.
66427
66428 2005-08-11  Simon Josefsson  <jas@extundo.com>
66429
66430         * doc/gnulib.texi (Initial import, Finishing touches): Mention
66431         gl_AVOID.
66432
66433 2005-08-11  Bruno Haible  <bruno@clisp.org>
66434
66435         * lib/strnlen.h (strnlen): Change parameter name to match comment.
66436
66437 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
66438
66439         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
66440
66441 2005-08-10  Simon Josefsson  <jas@extundo.com>
66442
66443         * tests/test-iconvme.c: New file.
66444
66445 2005-08-10  Simon Josefsson  <jas@extundo.com>
66446
66447         * m4/strnlen.m4: New file.
66448
66449         * m4/strndup.m4: Don't check for strnlen declaration, done in
66450         strnlen.m4.
66451
66452 2005-08-10  Simon Josefsson  <jas@extundo.com>
66453
66454         * lib/strndup.c: Use strnlen.h.
66455
66456         * lib/strnlen.h: New file.
66457
66458 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
66459
66460         * README: Typos.
66461
66462 2005-08-02  Simon Josefsson  <jas@extundo.com>
66463
66464         * modules/readline: New file.
66465
66466 2005-08-02  Simon Josefsson  <jas@extundo.com>
66467
66468         * modules/getdelim: New file.
66469
66470         * modules/getline: Rewrite, don't use getndelim2.
66471
66472 2005-08-02  Simon Josefsson  <jas@extundo.com>
66473
66474         * m4/getline.m4: Separate out getdelim stuff into separate module.
66475
66476         * m4/getdelim.m4: New file.
66477
66478 2005-08-02  Simon Josefsson  <jas@extundo.com>
66479
66480         * lib/getline.h, getline.c: Rewrite.
66481
66482         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
66483
66484 2005-07-31  Bruno Haible  <bruno@clisp.org>
66485
66486         * lib/lock.h (gl_lock_initializer): New macro.
66487         (gl_lock_define_initialized): Use it.
66488         (gl_rwlock_initializer): New macro.
66489         (gl_rwlock_define_initialized): Use it.
66490         (gl_recursive_lock_initializer): New macro.
66491         (gl_recursive_lock_define_initialized): Use it.
66492
66493 2005-07-30  Karl Berry  <karl@gnu.org>
66494
66495         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
66496         Report from Ben Pfaff, regarding getopt.
66497
66498 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
66499
66500         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
66501         normal way.
66502         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
66503         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
66504         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
66505         (gl_GETOPT): Use the new macros.  Most of the implementation
66506         is moved to the new macros.  This is for programs like Emacs
66507         that don't want all the functionality of gl_GETOPT.
66508
66509 2005-07-26  Bruno Haible  <bruno@clisp.org>
66510
66511         * m4/lock.m4: Update from GNU gettext.
66512
66513 2005-07-26  Bruno Haible  <bruno@clisp.org>
66514
66515         * lib/lock.h: Update from GNU gettext.
66516         * lib/lock.c: Update from GNU gettext.
66517
66518 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
66519
66520         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
66521         obsolescent AC_TRY_RUN.  Include the default includes files, for
66522         'exit'.
66523
66524 2005-07-24  Bruno Haible  <bruno@clisp.org>
66525
66526         * modules/visibility: New file.
66527         * MODULES.html.sh (Misc): Add visibility.
66528
66529 2005-07-24  Bruno Haible  <bruno@clisp.org>
66530
66531         * m4/visibility.m4: New file.
66532
66533 2005-07-24  Bruno Haible  <bruno@clisp.org>
66534
66535         * doc/visibility.texi: New file.
66536
66537 2005-07-22  Bruno Haible  <bruno@clisp.org>
66538
66539         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
66540         $(ALLOCA_H), redundant through BUILT_SOURCES.
66541         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
66542         redundant through BUILT_SOURCES.
66543         * modules/byteswap (Makefile.am): Remove explicit dependency on
66544         $(BYTESWAP_H), redundant through BUILT_SOURCES.
66545         * modules/fnmatch (Makefile.am): Remove explicit dependency on
66546         $(FNMATCH_H), redundant through BUILT_SOURCES.
66547         * modules/getopt (Makefile.am): Remove explicit dependency on
66548         $(GETOPT_H), redundant through BUILT_SOURCES.
66549         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
66550         redundant through BUILT_SOURCES.
66551         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
66552         redundant through BUILT_SOURCES.
66553         * modules/stdbool (Makefile.am): Remove explicit dependency on
66554         $(STDBOOL_H), redundant through BUILT_SOURCES.
66555         * modules/stdint (Makefile.am): Remove explicit dependency on
66556         $(STDINT_H), redundant through BUILT_SOURCES.
66557         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
66558         Remove explicit dependency on $(SYSEXITS_H).
66559         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
66560
66561 2005-07-18  Simon Josefsson  <jas@extundo.com>
66562
66563         * lib/check-version.c (check_version): Accept identical versions too.
66564
66565 2005-07-18  Bruno Haible  <bruno@clisp.org>
66566
66567         * modules/lock: New file.
66568         * MODULES.html.sh (Multithreading): New section.
66569
66570 2005-07-18  Bruno Haible  <bruno@clisp.org>
66571
66572         * m4/lock.m4: New file, from GNU gettext.
66573
66574 2005-07-18  Bruno Haible  <bruno@clisp.org>
66575
66576         * lib/lock.h: New file, from GNU gettext.
66577         * lib/lock.c: New file, from GNU gettext.
66578
66579 2005-07-18  Bruno Haible  <bruno@clisp.org>
66580
66581         * lib/lock.h (gl_once_t): New type.
66582         (gl_once_define, gl_once): New macros.
66583         * lib/lock.c (fresh_once): New variable.
66584         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
66585         functions.
66586
66587 2005-07-16  Simon Josefsson  <jas@extundo.com>
66588
66589         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
66590         workaround, suggested by Bruno.
66591
66592 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
66593
66594         * modules/xalloc (Depends-on): Add xalloc-die.
66595         * modules/xvasprintf (Depends-on): Add xalloc-die.
66596
66597 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
66598
66599         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
66600         with a minor change.
66601
66602 2005-07-15  Bruno Haible  <bruno@clisp.org>
66603
66604         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
66605         When using lib/poll.c, define poll as rpl_poll.
66606
66607 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
66608
66609         * modules/argp (Depends-on): Remove unlocked-io.
66610
66611 2005-07-14  Derek Price  <derek@ximbiot.com>
66612
66613         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
66614         for glob symlink bug.
66615
66616 2005-07-14  Bruno Haible  <bruno@clisp.org>
66617
66618         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
66619         Instead, test for *_unlocked function declarations directly.
66620
66621 2005-07-11  Simon Josefsson  <jas@extundo.com>
66622
66623         * modules/size_max: New file.
66624
66625         * modules/xsize: Depend on size_max module for size_max.m4.
66626
66627 2005-07-11  Simon Josefsson  <jas@extundo.com>
66628
66629         * lib/size_max.h: New file.
66630
66631 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
66632
66633         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
66634         copyright symbol and the year.
66635         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
66636         (version_etc_va): Use parameterized copyright notice.
66637         Reword to conform to the current GNU coding standards.
66638
66639 2005-07-11  Karl Berry  <karl@gnu.org>
66640
66641         * doc/gnulib.texi (Quoting): new node.
66642         (Initial import): more info, from Patrice.
66643
66644 2005-07-11  Bruno Haible  <bruno@clisp.org>
66645
66646         * gnulib-tool (func_usage): Document option --avoid.
66647         (Command line options): Handle --avoid.
66648         (func_acceptable): New function.
66649         (func_modules_transitive_closure): Use it.
66650
66651 2005-07-11  Bruno Haible  <bruno@clisp.org>
66652
66653         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
66654         Reported by Jim Meyering.
66655
66656 2005-07-10  Bruno Haible  <bruno@clisp.org>
66657
66658         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
66659         Needed when size_t is smaller than 'unsigned int'.
66660         Reported by Paul Eggert.
66661
66662 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
66663
66664         * modules/argp (Depends-on): Add unlocked-io
66665
66666 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
66667
66668         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
66669         block of defines.
66670
66671 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
66672
66673         * config/srclist.txt: Comment out regcomp.c, since we have a porting
66674         fix now.
66675
66676 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
66677         and Paul Eggert  <eggert@cs.ucla.edu>
66678
66679         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
66680         in wint_t, not wchar_t.  Remove now-unnecessary cast.
66681
66682 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
66683
66684         * modules/regex (Files): Add lib/regex_internal.c,
66685         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
66686         (Depends-on): Add extensions.
66687         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
66688
66689 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
66690
66691         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
66692         pathconf.
66693         * m4/same.m4 (gl_SAME): Likewise.
66694         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
66695
66696         * m4/regex.m4: Adjust to new libc regex implementation.
66697         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
66698         all the .c and .h parts of (the new) regex.
66699         Quote the m4 stuff better.
66700         Check for RE_ICASE bug of old gnulib.
66701         Check for REG_STARTEND of recent libc.
66702         Rename local variables from jm_* to gl_*.
66703         Quote operand of "test -f".
66704         Say "recent enough" version of libc, not "version 2".
66705         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
66706         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
66707         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
66708         Remove check for btowc, isascii.
66709         Require AM_LANGINFO_CODESET.
66710
66711 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
66712
66713         * lib/regex.c, regex.h: Sync from libc.
66714         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
66715         * lib/regexec.c:
66716         New files, synced from libc, except that regex_internal.h
66717         currently has a small porting fix.
66718
66719 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
66720
66721         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
66722         regex_internal.c, regexec.c.
66723         Add regex_internal.h too, but as a comment, since the libc version
66724         is currently broken in gnulib mode.
66725
66726 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
66727
66728         Support programs like Emacs that use gnulib but not gettext.
66729         * MODULES.html.sh (Internationalization functions): Add gettext-h.
66730         * modules/gettext-h: New file.
66731         * modules/gettext (Files): Remove lib/gettext.h.
66732         (Depends-on): Add gettext-h.
66733         (Makefile.am): Remove lib_SOURCES.
66734         * modules/argmatch, modules/c-stack, modules/closeout:
66735         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
66736         * modules/execute, modules/file-type, modules/getaddrinfo:
66737         * modules/getopt, modules/human, modules/javacomp:
66738         * modules/javaexec, modules/mkdir-p, modules/obstack:
66739         * modules/openat, modules/pagealign_alloc, modules/pipe:
66740         * modules/quotearg, modules/regex, modules/rpmatch:
66741         * modules/unicodeio, modules/userspec, modules/version-etc:
66742         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
66743         * modules/xsetenv:
66744         Depend on gettext-h, not gettext.
66745
66746 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
66747
66748         * gnulib-tool (func_import): Add support for 'public domain' license.
66749         * modules/alloca, modules/atexit, modules/memmove:
66750         Now public domain, not GPL.
66751         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
66752         * modules/realloc, modules/strerror, modules/strtod:
66753         Now LGPL, not GPL.
66754
66755 2005-07-05  Bruno Haible  <bruno@clisp.org>
66756
66757         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
66758         autoconf CVS. Needed for mingw.
66759
66760 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
66761
66762         Remove the dependency of the strftime module on the tzset module.
66763         * modules/strftime (Depends-on): Remove dependency on tzset.
66764
66765 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
66766
66767         Remove the dependency of the strftime module on the tzset module.
66768         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
66769         gl_FUNC_TZSET_CLOBBER.
66770
66771 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
66772
66773         Remove the dependency of the strftime module on the tzset module.
66774         * lib/strftime.c (my_strftime)
66775         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
66776         Copy the input structure, to work around some of the bug with
66777         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
66778         Solaris releases, you should also use the tzset module, but we won't
66779         require it as a dependency any more since we don't want LGPLed code
66780         to depend on GPLed code.
66781
66782 2005-07-02  Jim Meyering  <jim@meyering.net>
66783
66784         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
66785         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
66786         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
66787         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
66788
66789 2005-07-02  Jim Meyering  <jim@meyering.net>
66790
66791         * lib/backupfile.c (backup_args): Change a `0' to NULL.
66792
66793 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
66794
66795         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
66796         declares only 'struct timespec;' (!).
66797
66798 2005-07-01  Jim Meyering  <jim@meyering.net>
66799
66800         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
66801         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
66802         * lib/save-cwd.c, tempname.c:
66803         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
66804         and don't include <sys/file.h>).
66805
66806 2005-06-29  Jim Meyering  <jim@meyering.net>
66807
66808         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
66809         type name.  Use the variable name instead.
66810         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
66811         Likewise.
66812
66813 2005-06-28  Simon Josefsson  <jas@extundo.com>
66814
66815         * modules/check-version (Files): Add check-version.m4.
66816
66817 2005-06-28  Simon Josefsson  <jas@extundo.com>
66818
66819         * m4/check-version.m4: New file, suggested by Jim Meyering
66820         <jim@meyering.net>.
66821
66822 2005-06-28  Simon Josefsson  <jas@extundo.com>
66823
66824         * lib/check-version.h, lib/check-version.c: New files.
66825
66826 2005-06-28  Simon Josefsson  <jas@extundo.com>
66827
66828         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
66829         collision with global variable.  Better indentation.  Don't
66830         increment buffer pointer beyond buffer end.  Based on comments
66831         from Paul Eggert <eggert@cs.ucla.edu>.
66832
66833         * lib/base64.h: Indent.
66834
66835 2005-06-28  Simon Josefsson  <jas@extundo.com>
66836
66837         * doc/gnulib.texi (Library version handling): New section.
66838
66839 2005-06-28  Jim Meyering  <jim@meyering.net>
66840
66841         * check-module (find_included_lib_files): Hard-code another
66842         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
66843         but modules/fts-lgpl (correctly) does not list those files.
66844
66845         * modules/canonicalize (Files): Add lib/pathmax.h.
66846
66847 2005-06-25  Simon Josefsson  <jas@extundo.com>
66848
66849         * modules/check-version: New file.
66850
66851 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
66852
66853         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
66854         initializer of struct addrinfo, as an indication that we don't
66855         care how many members the structure has.
66856
66857 2005-06-24  Derek Price  <derek@ximbiot.com>
66858         and Bruno Haible  <bruno@clisp.org>
66859
66860         Remove stat module & update lstat.
66861         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
66862         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
66863         * m4/stat.m4: Remove this file.
66864
66865 2005-06-24  Derek Price  <derek@ximbiot.com>
66866         and Bruno Haible  <bruno@clisp.org>
66867
66868         Remove stat module & update lstat.
66869         * lib/stat.c: Remove this file...
66870         (slash_aware_lstat): ...moving this content and its support...
66871         * lib/lstat.c (rpl_lstat): ...into here.
66872         * lib/lstat.h: New file.
66873
66874 2005-06-24  Derek Price  <derek@ximbiot.com>
66875         and Bruno Haible  <bruno@clisp.org>
66876
66877         Remove stat module & update lstat.
66878         * config/srclist.txt (libc sources): Remove stat.
66879
66880 2005-06-24  Derek Price  <derek@ximbiot.com>
66881         and Bruno Haible  <bruno@clisp.org>
66882
66883         Remove stat module & update lstat.
66884         * MODULES.html.sh (stat): Remove.
66885         * MODULES.html: Regenerated.
66886         * modules/lstat (Description): Correct function name.
66887         (Files): Add "lstat.h".
66888         (Depends-on): Remove stat, add xalloc, stat-macros.
66889         * modules/stat: Remove this file.
66890         (Include): Add "lstat.h", remove <sys/stat.h>.
66891
66892 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
66893
66894         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
66895         (ranged_convert): Don't save conversion in a temporary struct.
66896         This causes a warning with GCC 4.0.0, and anyway in the typical
66897         case it's not worth the extra 100 bytes or so of code.
66898         (ranged_convert, __mktime_internal): When calling a function via a
66899         pointer P, use P () rather than (*P) (), as we now assume C89 or
66900         better.
66901
66902 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
66903
66904         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
66905         "who -r" failed to give output.  Problem reported by Tim Waugh.
66906
66907         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
66908         (xcalloc): Use it to avoid needless tests.
66909         Problem reported by Jim Meyering.
66910
66911 2005-06-20  Derek Price  <derek@ximbiot.com>
66912
66913         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
66914         unnecessary for Autoconfs > 2.59c.
66915
66916 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
66917
66918         * lib/argp.h (__option_is_short): Check upper limit of
66919         __key. Isprint() requires its argument to have the value
66920         of an unsigned char or EOF.
66921
66922 2005-06-16  Jim Meyering  <jim@meyering.net>
66923
66924         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
66925         when either N or S is zero.
66926
66927 2005-06-16  Derek Price  <derek@ximbiot.com>
66928
66929         * m4/bison.m4: Declare YACC & YFLAGS precious.
66930
66931 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
66932
66933         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
66934         multibyte string or pattern, fall back on unibyte matching.
66935         Problem reported by James Youngman.
66936
66937 2005-06-08  Bruno Haible  <bruno@clisp.org>
66938
66939         * modules/csharpcomp: New file.
66940         * MODULES.html.sh (C#): Add csharpcomp.
66941
66942 2005-06-08  Bruno Haible  <bruno@clisp.org>
66943
66944         * m4/csharpcomp.m4: New file, from GNU gettext.
66945
66946 2005-06-08  Bruno Haible  <bruno@clisp.org>
66947
66948         * lib/csharpcomp.h: New file, from GNU gettext.
66949         * lib/csharpcomp.c: New file, from GNU gettext.
66950         * lib/csharpcomp.sh.in: New file, from GNU gettext.
66951
66952 2005-06-08  Bruno Haible  <bruno@clisp.org>
66953
66954         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
66955         warning on mingw.
66956
66957 2005-06-07  Derek Price  <derek@ximbiot.com>
66958
66959         Sync from CVS.
66960         * lib/glob_.h: Indent nested #ifdef.
66961
66962 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
66963
66964         Sync from coreutils.
66965         Use "file name" when talking about file names, instead of "filename"
66966         or "path", as per the GNU coding standards.
66967         * lib/mkdir-p.c: Renamed from makepath.c.
66968         (make_dir_parents): Renamed from make_path.  All callers changed.
66969         * lib/mkdir-p.h: Likewise.  All includers changed.
66970         * lib/filenamecat.c: Renamed from path-concat.c.
66971         (file_name_concat): Renamed from path_concat.  All callers changed.
66972         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
66973         * lib/filenamecat.h: Likewise.  All includers changed.
66974         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
66975         in comments or local variable names.
66976         * lib/basename.c: Likewise.
66977         * lib/canonicalize.c, canonicalize.h: Likewise.
66978         * lib/dirname.c, dirname.h: Likewise.
66979         * lib/euidaccess.c: Likewise.
66980         * lib/exclude.c: Likewise
66981         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
66982         * lib/fsusage.c, fsuage.h: Likewise.
66983         * lib/fts.c, fts_.h: Likewise.
66984         * lib/getcwd.c: Likewise.
66985         * lib/getloadavg.c: Likewise.
66986         * lib/mkstemp.c: Likewise.
66987         * lib/mountlist.c, mountlist.h: Likewise.
66988         * lib/openat.c, openat.h: Likewise.
66989         * lib/readlink-stub.c: Likewise.
66990         * lib/readutmp.c, readutmp.h: Likewise.
66991         * lib/rename.c: Likewise.
66992         * lib/rmdir.c: Likewise.
66993         * lib/same.c: Likewise.
66994         * lib/savedir.c: Likewise.
66995         * lib/stripslash.c: Likewise.
66996         * lib/tempname.c: Likewise.
66997         * lib/xreadlink.c: Likewise.
66998         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
66999         All uses changed.
67000         * lib/exclude.h: Likewise.
67001
67002         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
67003         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
67004         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
67005         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
67006         * lib/pathmax.h: Include <limits.h> unconditionally, since other
67007         files have been getting away with it for years (MORE/BSD 4.3
67008         is extinct now).
67009         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
67010         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
67011
67012         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
67013         Define to 256, not 255, as per modern POSIX.
67014
67015 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
67016
67017         Sync from coreutils.
67018         Use "file name" when talking about file names, instead of "filename"
67019         or "path", as per the GNU coding standards.
67020         * MODULES.html.sh: mkdir-p renamed from makepath.
67021         filenamecat renamed from path-concat.
67022         * modules/filenamecat: Renamed from modules/path-concat.
67023         (Files): filenamecat.h and filenamecat.c renamed from
67024         path-concat.h and path-concat.c.
67025         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
67026         (Include): filenamecat.h, not path-concat.h.
67027         * modules/mkdir-p: Renamed from modules/makepath.
67028         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
67029         makepath.c.
67030         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
67031         (Include): mkdir-p.h, not makepath.h.
67032
67033 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
67034
67035         Sync from coreutils.
67036         * m4/mkdir-p.m4: Renamed from makepath.m4.
67037         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
67038         Rename files from makepath.c to mkdir-p.c, and from
67039         makepath.h to mkdir-p.h.
67040         * m4/filenamecat.m4: Renamed from path-concat.m4.
67041         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
67042         Rename files from path-concat.c to filenamecat.c,
67043         and from path-concat.h to filenamecat.h.
67044         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
67045         "file name" in local variables or comments.
67046         * m4/rename.m4: Likewise.
67047
67048 2005-06-01  Bruno Haible  <bruno@clisp.org>
67049
67050         * modules/csharpexec: New file.
67051         * MODULES.html.sh (C#): New section.
67052
67053 2005-06-01  Bruno Haible  <bruno@clisp.org>
67054
67055         * m4/csharp.m4: New file, from GNU gettext.
67056         * m4/csharpexec.m4: New file, from GNU gettext.
67057
67058 2005-06-01  Bruno Haible  <bruno@clisp.org>
67059
67060         * lib/csharpexec.h: New file, from GNU gettext.
67061         * lib/csharpexec.c: New file, from GNU gettext.
67062         * lib/csharpexec.sh.in: New file, from GNU gettext.
67063
67064 2005-05-31  Derek Price  <derek@ximbiot.com>
67065             Paul Eggert  <eggert@cs.ucla.edu>
67066
67067         Sync from cvs.
67068         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
67069
67070 2005-05-31  Derek Price  <derek@ximbiot.com>
67071             Paul Eggert  <eggert@cs.ucla.edu>
67072
67073         Sync from cvs.
67074         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
67075
67076 2005-05-29  Derek Price  <derek@ximbiot.com>
67077
67078         * config/srclist.txt (glob_.h, glob.c): Add these files.
67079
67080 2005-05-29  Derek Price  <derek@ximbiot.com>
67081
67082         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
67083         * modules/glob: New file.
67084         * modules/getlogin_r: Add link to POSIX spec in description.
67085
67086 2005-05-29  Derek Price  <derek@ximbiot.com>
67087             Paul Eggert  <eggert@cs.ucla.edu>
67088
67089         * m4/glob.m4: New file.
67090
67091 2005-05-29  Derek Price  <derek@ximbiot.com>
67092             Paul Eggert  <eggert@cs.ucla.edu>
67093
67094         * lib/glob_.h, lib/glob.c: New files.
67095
67096 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
67097
67098         * modules/fts (Files): Remove m4/inttypes-pri.m4.
67099         * modules/fts-lgpl (Depends-on): Remove gettext.
67100
67101 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
67102
67103         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
67104         and don't require gt_INTTYPES_PRI.
67105
67106 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
67107
67108         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
67109
67110         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
67111         the configuration hassle isn't worth it.
67112         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
67113         (LONGEST_MODIFIER, PRIuMAX): Remove.
67114
67115 2005-05-27  Bruno Haible  <bruno@clisp.org>
67116
67117         * lib/getlogin_r.h: Remove second include of <stddef.h>.
67118
67119 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
67120
67121         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
67122         _POSIX_PTHREAD_SEMANTICS for Solaris.
67123
67124 2005-05-25  Derek Price  <derek@ximbiot.com>
67125
67126         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
67127
67128 2005-05-25  Derek Price  <derek@ximbiot.com>
67129             Paul Eggert  <eggert@cs.ucla.edu>
67130
67131         * modules/getlogin_r, m4/getlogin_r.m4: New files.
67132         * lib/getlogin_r.c, getlogin_r.h: New files.
67133
67134 2005-05-25  Bruno Haible  <bruno@clisp.org>
67135             Derek Price  <derek@ximbiot.com>
67136
67137         * lib/getlogin_r.h: Simplify API documentation.
67138
67139 2005-05-23  Derek Price  <derek@ximbiot.com>
67140
67141         * modules/minmax (Files): Add m4/minmax.m4.
67142         (configure.ac): Add gl_MINMAX.
67143
67144 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
67145
67146         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
67147         so that unistd-safer.h (GPL'ed code) need not be included.
67148
67149 2005-05-22  Bruno Haible  <bruno@clisp.org>
67150
67151         * m4/minmax.m4: New file.
67152         Based on a patch by Derek Price <derek@ximbiot.com>.
67153
67154 2005-05-22  Bruno Haible  <bruno@clisp.org>
67155
67156         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
67157         (INT64_MIN): Fix definition.
67158         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
67159
67160         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
67161         NEED_SIGNED_INT_TYPES.
67162
67163         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
67164         HAVE_SYSTEM_INTTYPES.
67165
67166 2005-05-22  Bruno Haible  <bruno@clisp.org>
67167
67168         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
67169         Also include <sys/param.h> if it defines MIN, MAX.
67170         Based on a patch by Derek Price <derek@ximbiot.com>.
67171
67172 2005-05-21  Jim Meyering  <jim@meyering.net>
67173
67174         * modules/fts (Files): Add m4/inttypes-pri.m4.
67175         (Depends-on): Add lstat and remove gettext.  Alphabetize.
67176
67177 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
67178
67179         New fts module.
67180         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
67181         (setup_dir, free_dir): New functions.
67182         (enter_dir, leave_dir): Define trivial
67183         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
67184         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
67185         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
67186         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
67187         Move to fts-cycle.c.
67188         (fts_open): Use setup_dir.
67189         (fts_close): Use free_dir.
67190         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
67191         This adds a label and some gotos, but the alternatives were messier.
67192         Check for memory allocation failure when entering a dir.
67193         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
67194         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
67195         (FTS): New member fts_cycle, that is a union that contains the
67196         old active_dir_ht and cycle_state.  All uses changed to mention
67197         fts_cycle.ht and fts_cycle.state.
67198         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
67199         fts.c, with the following changes:
67200         (setup_dir, free_dir): New functions.
67201         (enter_dir): Now returns bool.  Return true if successful, false
67202         if memory exhausted.  All callers changed.
67203         Do not bother partly cleaning up on
67204         memory allocation failure; that is free_dir's job.
67205         However, free ad if hash_insert fails, to avoid memory leak.
67206         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
67207         fts->fts_options to see which union member to use.
67208
67209 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
67210
67211         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
67212         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
67213
67214 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
67215
67216         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
67217
67218 2005-05-20  Jim Meyering  <jim@meyering.net>
67219
67220         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
67221         Now a macro, to pacify GCC.
67222
67223 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
67224
67225         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
67226         of -1.
67227
67228 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
67229
67230         * lib/chown.c (rpl_chown): Return -1 on failure.
67231
67232 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
67233
67234         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
67235         Don't check for stddef.h.
67236         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
67237         don't use its results.
67238         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
67239         since we include them unconditionally.  Don't require
67240         AM_STDBOOL_H, since stdbool is a prerequisite.
67241         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
67242         since we assume C89 or better.
67243         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
67244         as we don't use their results.
67245         Don't check for fchdir, memmove, memset, strrchr, as we use
67246         them unconditionally.
67247         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
67248         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
67249
67250 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
67251
67252         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
67253         Include <stddef.h> unconditionally, since we assume C89 now.
67254         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
67255         * lib/fts.c: Include fts_.h first, to check interface.
67256         Do not include intprops.h; no longer needed.
67257         Include cycle-check.h and hash.h, since fts_.h no longer does.
67258         Remove unnecessary casts of closedir to void.
67259         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
67260         decide whether to decrement nlinks.
67261         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
67262         (FTS): Use struct hash_table * instead of Hash_table, so that
67263         we no longer need to include hash.h here.
67264
67265 2005-05-18  Jim Meyering  <jim@meyering.net>
67266
67267         * modules/dirfd (License): Change to LGPL.  Most of the code
67268         is already in the public domain.
67269
67270 2005-05-18  Jim Meyering  <jim@meyering.net>
67271
67272         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
67273         Reported by Yoann Vandoorselaere.
67274
67275 2005-05-17  Jim Meyering  <jim@meyering.net>
67276
67277         * m4/fts.m4: New file, from coreutils.
67278
67279 2005-05-17  Jim Meyering  <jim@meyering.net>
67280
67281         * lib/fts.c, lib/fts_.h: New files, from coreutils.
67282
67283 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
67284
67285         Sync from coreutils.
67286         * m4/unlinkdir.m4: New file.
67287
67288 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
67289
67290         Sync from coreutils.
67291         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
67292         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
67293         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
67294         White space changes only.
67295         * lib/makepath.c (make_path): Port to hosts where leading "//" is
67296         special.
67297         * lib/yesno.c: Include getline.h, not ctype.h.
67298         (yesno): Don't remove leading white space; POSIX doesn't allow it.
67299         Use getline to remove arbitrary restriction on response length.
67300
67301 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
67302
67303         * config/srclist-update: Spell out "Street" in FSF postal
67304         mail address; this is the style the FSF seems to prefer.
67305
67306         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
67307         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
67308         this updates FSF postal mail address.
67309
67310         Sync from coreutils.
67311         * modules/unlinkdir: New file.
67312         * modules/yesno (Depends-on): Add getline.
67313         * MODULES.html.sh (File system functions): Add unlinkdir.
67314
67315 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
67316
67317         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
67318         lib/strsep.h:
67319         Change the initial comment to refer to GPL, not LGPL.
67320         gnulib-tool will change it to LGPL as needed.
67321
67322         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
67323         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
67324         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
67325         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
67326         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
67327         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
67328         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
67329         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
67330         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
67331         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
67332         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
67333         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
67334         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
67335         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
67336         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
67337         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
67338         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
67339         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
67340         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
67341         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
67342         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
67343         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
67344         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
67345         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
67346         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
67347         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
67348         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
67349         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
67350         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
67351         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
67352         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
67353         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
67354         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
67355         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
67356         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
67357         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
67358         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
67359         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
67360         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
67361         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
67362         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
67363         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
67364         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
67365         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
67366         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
67367         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
67368         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
67369         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
67370         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
67371         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
67372         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
67373         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
67374         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
67375         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
67376         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
67377         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
67378         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
67379         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
67380         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
67381         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
67382         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
67383         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
67384         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
67385         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
67386         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
67387         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
67388         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
67389         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
67390         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
67391         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
67392         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
67393         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
67394         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
67395         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
67396         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
67397         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
67398         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
67399         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
67400         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
67401         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
67402         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
67403         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
67404         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
67405         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
67406         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
67407         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
67408         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
67409         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
67410         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
67411         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
67412         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
67413         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
67414         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
67415         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
67416         lib/yesno.c, lib/yesno.h:
67417         Update FSF postal mail address.
67418
67419 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
67420
67421         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
67422         tests/test-memmem.c, tests/test-stpncpy.c:
67423         Update FSF postal mail address.
67424
67425 2005-05-13  Bruno Haible  <bruno@clisp.org>
67426
67427         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
67428         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
67429         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
67430         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
67431         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
67432         Add support for 64-bit integers in the MSVC compiler.
67433
67434 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
67435
67436         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
67437
67438 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
67439
67440         * gnulib-tool (func_import): Sort and uniquify recommended includes.
67441
67442 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
67443
67444         * doc/getdate.texi (General date syntax): Don't say that date
67445         date --iso-8601=ns generates acceptable dates; it doesn't yet.
67446         Problem reported by Nic Ferrier.
67447
67448 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67449
67450         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
67451         specified in ai_socktype. Fix invalid ai_protocol
67452         check. ai_protocol is usually set to 0 or depending on
67453         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
67454         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
67455         ai_socktype / ai_protocol in the returned addrinfo structure.
67456
67457 2005-05-10  Simon Josefsson  <jas@extundo.com>
67458
67459         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
67460         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
67461
67462 2005-05-10  Karl Berry  <karl@gnu.org>
67463
67464         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
67465         (from http://www.gnu.org/licenses).
67466         * doc/COPYING.LIB: also rename to COPYING.LESSER.
67467         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
67468         fdl.texi suffices.
67469
67470 2005-05-10  Karl Berry  <karl@gnu.org>
67471
67472         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
67473         (COPYING.DOC): remove.
67474
67475         * config/srclist-update: new FSF address.
67476
67477 2005-05-10  Derek Price  <derek@ximbiot.com>
67478
67479         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
67480         possible.
67481
67482 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67483             Bruno Haible  <bruno@clisp.org>
67484
67485         * modules/inet_ntop: New file.
67486         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67487         inet_ntop.
67488
67489 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67490             Bruno Haible  <bruno@clisp.org>
67491
67492         * m4/inet_ntop.m4: New file.
67493
67494 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67495             Bruno Haible  <bruno@clisp.org>
67496
67497         * lib/inet_ntop.h: New file.
67498         * lib/inet_ntop.c: New file, from glibc with modifications.
67499
67500 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
67501
67502         * modules/time_r (License): Change to LGPL.
67503         * modules/extensions (License): Change to LGPL.  Actually,
67504         the license is more permissive than that, but currently gnulib-tool
67505         doesn't know how to handle more-permissive licenses.
67506
67507         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
67508         Problem reported by Dave Love.
67509
67510 2005-05-08  Jim Meyering  <jim@meyering.net>
67511
67512         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
67513         blank.
67514
67515 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
67516
67517         * modules/argmatch (Depends-on): Add stdbool.
67518         * modules/backupfile (Depends-on): Likewise.
67519         * modules/chdir-long (Depends-on): Likewise.
67520         * modules/closeout (Depends-on): Likewise.
67521         * modules/cycle-check (Depends-on): Likewise.
67522         * modules/dirname (Depends-on): Likewise.
67523         * modules/fnmatch (Depends-on): Likewise.
67524         * modules/fsusage (Depends-on): Likewise.
67525         * modules/fwriteerror (Depends-on): Likewise.
67526         * modules/getcwd (Depends-on): Likewise.
67527         * modules/getloadavg (Depends-on): Likewise.
67528         * modules/hard-locale (Depends-on): Likewise.
67529         * modules/makepath (Depends-on): Likewise.
67530         * modules/mountlist (Depends-on): Likewise.
67531         * modules/nanosleep (Depends-on): Likewise.
67532         * modules/posixtm (Depends-on): Likewise.
67533         * modules/quotearg (Depends-on): Likewise.
67534         * modules/readtokens (Depends-on): Likewise.
67535         * modules/readtokens0 (Depends-on): Likewise.
67536         * modules/readutmp (Depends-on): Likewise.
67537         * modules/save-cwd (Depends-on): Likewise.
67538         * modules/strftime (Depends-on): Likewise.
67539         * modules/userspec (Depends-on): Likewise.
67540         * modules/utimecmp (Depends-on): Likewise.
67541         * modules/xgetcwd (Depends-on): Likewise.
67542         * modules/xnanosleep (Depends-on): Likewise.
67543         * modules/xstrtod (Depends-on): Likewise.
67544         * modules/yesno (Depends-on): Likewise.
67545
67546 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
67547
67548         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
67549         needless checks.
67550
67551 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
67552
67553         Merge from coreutils.  Among other things,
67554         add bulletproofing for cases where stdin, stdout, or stderr are closed.
67555         * lib/fd-safer.c: New file.
67556         * lib/fcntl-safer.h, open-safer.c: Remove.
67557         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
67558         * lib/dup-safer.c: Include unistd-safer.h first.
67559         Don't include errno.h.
67560         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
67561         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
67562         * lib/file-type.c: Rely on file-type.h change.
67563         * lib/getloadavg.c: Include unistd-safer.h.
67564         (getloadavg): Use safer open.
67565         * lib/getusershell.c: Include "stdio-safer.h".
67566         (getusershell): Use safer fopen.
67567         * lib/long-options.c (long_options): Use NULL rather than 0.
67568         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
67569         'free'.
67570         * lib/modechange.c: Likewise.
67571         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
67572         (MODE_DONE): New constant.
67573         (struct mode_change): Remove 'next' member.
67574         (make_node_op_equals): New function; like the old one of the
67575         same name, except it allocates an array.
67576         (mode_compile, mode_create_from_ref): Use it.
67577         (mode_compile): Allocate result as an array, not a linked list.
67578         Parse octal string ourself, so that we catch mistakes like "+0".
67579         (mode_adjust): Arg is an array, not a linked list.
67580         * lib/modechange.c: Include stat-macros.h, xalloc.h.
67581         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
67582         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
67583         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
67584         Remove.  This is now stat-macros.h's job.
67585         (talloc): Remove.  All callers replaced by xalloc, so that
67586         our invokers don't have to worry about reporting memory failures.
67587         (make_node_op_equals): Remove.
67588         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
67589         New constants.
67590         (struct mode_change): Moved here from modechange.h.
67591         (mode_append_entry): Remove.
67592         (mode_compile): Remove MASKED_OPS arg, since it encouraged
67593         apps to have incorrect behavior.  Use simpler algorithm for head
67594         and tail.  Don't futz with umask; that's now the job of mode_adjust.
67595         Detect more invalid usages rather than having somewhat-random behavior.
67596         Don't insert an "a=" action, as that leads to incorrect behavior.
67597         (mode_compile, mode_create_from_ref): Return NULL on error instead
67598         of an enum, since now there's only one way to have an error.  All
67599         callers changed.
67600         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
67601         at the correct time.  Simplify calculation of "+u" and its ilk.
67602         Don't mishandle "+X".
67603         (mode_free): Remove "register" and localize decls.
67604         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
67605         (struct mode_change): Move to modechange.c; callers don't
67606         need to see this stuff.
67607         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
67608         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
67609         (mode_change, mode_adjust): Reflect the new signatures noted above.
67610         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
67611         that might redefine system include files.
67612         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
67613         (my_usleep): Use NULL rather than (void *) 0.
67614         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
67615         Use siginterrupt to specify that system calls should be interrupted.
67616         (rpl_nanosleep): Move initialization of suspended closer to call of
67617         my_usleep.
67618         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
67619         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
67620         (desirable_utmp_entry): New function.
67621         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
67622         using x2nrealloc, to simplify logic.
67623         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
67624         size calculation.  Do not assume utmp file is a regular file.
67625         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
67626         (READ_UTMP_CHECK_PIDS): New constant.
67627         * lib/save-cwd.c: Include unistd-safer.h.
67628         (save_cwd): Use fd_safer.
67629         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
67630         [!_LIBC] Include "stat-macros.h" instead.
67631         * lib/unistd-safer.h (fd_safer): New decl.
67632
67633 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
67634
67635         * modules/getloadavg (Depends-on): Add unistd-safer.
67636         * modules/getusershell (Depends-on): Add stdio-safer.
67637         * modules/lstat (Depends-on): Remove xalloc.
67638         * modules/mkstemp (Depends-on): Add stat-macros.
67639         * modules/modechange (Depends-on): Remove xstrtol.
67640         Add stat-macros, xalloc.
67641         * modules/save-cwd (Depends-on): Add unistd-safer.
67642         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
67643         * modules/unistd-safer (Files): Add lib/fd-safer.c
67644         (Makefile.am): Remove lib_SOURCES.
67645
67646         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
67647         Remove fcntl-safer; unistd-safer supersedes it.
67648
67649 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
67650
67651         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
67652         AC_HEADER_STAT.
67653         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
67654         (gl_PREREQ_CHOWN): Remove.
67655         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
67656         it.  Don't require AC_HEADER_STAT.
67657         (gl_PREREQ_LSTAT): Remove.
67658         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
67659         Don't require AC_HEADER_STAT.
67660         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
67661         (gl_PREREQ_RMDIR): Remove.
67662         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
67663         mention stat-macros.h or AC_HEADER_STAT, since we'll make
67664         the stat-macros module a prerequisite.
67665         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
67666         * m4/filemode.m4 (gl_FILEMODE): Likewise.
67667         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
67668         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
67669         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
67670         variable names.
67671         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
67672         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
67673         variable prefixes.
67674         * m4/fcntl-safer.m4: Remove.
67675         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
67676         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
67677         Invoke gl_PREREQ_FD_SAFER.
67678         (gl_PREREQ_FD_SAFER): New macro.
67679         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
67680         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
67681         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
67682         Remove duplicate call to AC_LIBOBJ(readutmp).
67683         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
67684
67685         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
67686         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
67687
67688 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
67689
67690         * MODULES.html.sh (Misc): Add byteswap.
67691
67692 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
67693
67694         * modules/getcwd (Depends-on): Add extensions.
67695         * modules/openat (Depends-on): Likewise.
67696
67697 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
67698
67699         * modules/byteswap: New file.
67700
67701 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
67702
67703         * m4/byteswap.m4: New file.
67704
67705 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
67706
67707         * lib/byteswap_.h: New file.
67708
67709 2005-04-25  Karl Berry  <karl@gnu.org>
67710
67711         * m4/gettext.m4: Update from GNU gettext 0.14.4.
67712
67713 2005-04-25  Albert Chin  <china@thewrittenword.com>
67714
67715         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
67716         Toolkit C bug.
67717
67718 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
67719
67720         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
67721         (func_ln_if_changed): Remove forcibly for no error message
67722         in case file does not exist.
67723
67724 2005-04-19  Simon Josefsson  <jas@extundo.com>
67725
67726         * gnulib-tool (Options): Make --symlink mean --symbolic.
67727
67728 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
67729
67730         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
67731
67732 2005-04-16  Simon Josefsson  <jas@extundo.com>
67733
67734         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
67735
67736 2005-04-15  Simon Josefsson  <jas@extundo.com>
67737
67738         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
67739
67740 2005-04-15  Simon Josefsson  <jas@extundo.com>
67741
67742         * gnulib-tool: Rename --symlink to --symbolic.
67743
67744 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
67745
67746         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
67747         symbolic links to files instead of copying/moving.  Add --aux-dir,
67748         specifying directory relative --dir where auxiliary build tools
67749         are placed.
67750
67751 2005-04-14  Bruno Haible  <bruno@clisp.org>
67752
67753         * modules/allocsa (License): Change to LGPL.
67754         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
67755
67756 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
67757
67758         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
67759         that "UTC +1 second" continues to work.  Problem reported
67760         by Dmitry V. Levin.
67761         (relunit_snumber): New rule.
67762         (relunit): Use it.
67763
67764 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
67765
67766         * lib/getdate.y (universal_time_zone_table): New constant.
67767         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
67768         universal_time_zone_table.
67769         (lookup_zone): Prefer universal_time_zone_table to
67770         local_time_zone_table, so that "GMT" time stamps are allowed in
67771         London during the summer.  Problem reported by Ian Abbott.
67772
67773 2005-04-12  Jim Meyering  <jim@meyering.net>
67774
67775         * lib/human.c (humblock): Set *options even when returning due to
67776         xstrtoumax conversion failure.  Thanks to a used-uninitialized
67777         warning from gcc-4.
67778
67779 2005-04-09  Jim Meyering  <jim@meyering.net>
67780
67781         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
67782         -Wuninitialized: initialize tm0.tm_year.
67783
67784 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
67785
67786         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
67787         count, since there's no maximum.  All uses changed.
67788         Add member dsts_seen.
67789         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
67790         not being INT_MAX.
67791         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
67792         Use pc_rels_seen to decide whther a date is absolute.
67793
67794         * lib/getdate.y (number): Don't overwrite year.
67795         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
67796         check.
67797
67798 2005-04-02  Simon Josefsson  <jas@extundo.com>
67799
67800         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
67801         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
67802
67803 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
67804
67805         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
67806         where no absolute path name can be longer than PATH_MAX.
67807
67808 2005-03-27  Jim Meyering  <jim@meyering.net>
67809
67810         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
67811
67812 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
67813
67814         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
67815         "one's complement" -> "ones' complement" in comment, as per Knuth.
67816         "value of type" -> "type or expression" in comment.
67817         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
67818
67819 2005-03-26  Jim Meyering  <jim@meyering.net>
67820
67821         Comment nits.
67822         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
67823         Correct typos: s/or/of/.
67824
67825 2005-03-26  Jim Meyering  <jim@meyering.net>
67826
67827         * modules/check-include-files: Move to ../ and rename to...
67828         * check-module: ...this.
67829
67830 2005-03-25  Jim Meyering  <jim@meyering.net>
67831
67832         * modules/xvasprintf (Files): Add xalloc.h.
67833
67834 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
67835
67836         * modules/gettext (Files): config/config.rpath ->
67837         build-aux/config.rpath
67838         * modules/iconv (Files): Likewise.
67839         Problem reported by Oskar Liljeblad.
67840
67841 2005-03-23  Jim Meyering  <jim@meyering.net>
67842
67843         * modules/check-include-files: New script to check for
67844         missing dependencies, multiple includes, etc.
67845
67846         * modules/c-strtold (Depends-on): Add xalloc.
67847         * modules/c-strtod (Depends-on): Add xalloc.
67848         * modules/hash (Depends-on): Add xalloc.
67849         (Files): Remove lib/xalloc.h.
67850
67851         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
67852         * modules/userspec (Files): Add lib/inttostr.h.
67853
67854 2005-03-23  Jim Meyering  <jim@meyering.net>
67855
67856         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
67857
67858 2005-03-22  Jim Meyering  <jim@meyering.net>
67859
67860         * modules/stat-macros: New module.
67861         * modules/canonicalize, modules/euidaccess, modules/file-type,
67862         * modules/filemode, modules/lchown, modules/makepath,
67863         * modules/rmdir, modules/stat: Depend on new stat-macros module
67864         rather than listing lib/stat-macros.h manually.
67865         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
67866
67867 2005-03-22  Jim Meyering  <jim@meyering.net>
67868
67869         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
67870
67871 2005-03-22  Bruno Haible  <bruno@clisp.org>
67872
67873         * config/srclist.txt: Replace target directory 'config' with
67874         'build-aux'.
67875         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
67876         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
67877         ../build-aux/.
67878
67879 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
67880
67881         * modules/chdir-long (Depends-on): Add mempcpy.
67882
67883         * modules/acl, modules/backupfile, modules/c-strtod,
67884         modules/c-strtold, modules/canon-host, modules/canonicalize,
67885         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
67886         modules/exclude, modules/exitfail, modules/file-type,
67887         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
67888         modules/getdate, modules/getline, modules/getpagesize,
67889         modules/getpass, modules/getugroups, modules/group-member,
67890         modules/hard-locale, modules/hash, modules/human, modules/idcache,
67891         modules/inttostr, modules/long-options, modules/makepath,
67892         modules/md5, modules/memcasecmp, modules/memcoll,
67893         modules/modechange, modules/mountlist, modules/path-concat,
67894         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
67895         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
67896         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
67897         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
67898         modules/strftime, modules/strndup, modules/strverscmp,
67899         modules/timespec, modules/unlocked-io, modules/userspec,
67900         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
67901         modules/yesno:
67902         Remove lib_SOURCES line from Makefile.am section, as this is now
67903         done automatically by the corresponding Autoconf macro.
67904
67905 2005-03-21  Jim Meyering  <jim@meyering.net>
67906
67907         Changes imported from coreutils.
67908
67909         * lib/cycle-check.c: Don't include xalloc.h.
67910
67911         * lib/path-concat.c: Don't include assert.h.
67912         (path_concat): Remove assertion that would have triggered
67913         for ABASE starting with more than one slash.
67914         Reported by Andreas Schwab.
67915
67916         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
67917         properly when ABASE is an absolute file name.
67918         Correct the description of this function.
67919         Include <assert.h>.
67920         Add an assertion and a test driver.
67921         This fixes a bug introduced on 2004-07-02.
67922         Andreas Schwab reported the resulting failure of cp --parents:
67923         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
67924
67925 2005-03-21  Jim Meyering  <jim@meyering.net>
67926
67927         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
67928         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
67929
67930 2005-03-21  Jim Meyering  <jim@meyering.net>
67931         and  Paul Eggert  <eggert@cs.ucla.edu>
67932
67933         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
67934         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
67935         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
67936         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
67937         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
67938         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
67939         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
67940         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
67941         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
67942         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
67943         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
67944         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
67945         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
67946         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
67947         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
67948         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
67949         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
67950         for these modules.
67951
67952 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
67953
67954         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
67955         (which shouldn't happen), generate nothing instead of returning 0
67956         immediately, so that nstrftime (NULL, ...) doesn't return 0.
67957
67958 2005-03-16  Bruno Haible  <bruno@clisp.org>
67959
67960         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
67961         HAVE_LONGLONG_64BIT.
67962
67963 2005-03-16  Bruno Haible  <bruno@clisp.org>
67964
67965         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
67966         HAVE_LONGLONG_64BIT.
67967
67968 2005-03-16  Bruno Haible  <bruno@clisp.org>
67969
67970         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
67971         HAVE_LONGLONG_64BIT.
67972
67973 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
67974
67975         * lib/strftime.c (my_strftime): Prepend space to format so that we can
67976         reliably distinguish strftime failure from empty output on POSIX
67977         hosts.
67978
67979 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
67980
67981         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
67982         (iconv_string): Don't guess a size-zero buffer, as that might cause
67983         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
67984         result would be 'too large', where 'too large' is (heuristically)
67985         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
67986         overflow concerns.  This will prevent some unwanted malloc failures
67987         when the inputs are very large.
67988
67989 2005-03-15  Karl Berry  <karl@gnu.org>
67990
67991         * config/srclist.txt (config.rpath): from gettext.
67992         * config/config.rpath: update.
67993
67994 2005-03-15  Bruno Haible  <bruno@clisp.org>
67995
67996         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
67997         to 'negate'.
67998
67999         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
68000         variable.
68001
68002         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
68003         results.
68004
68005 2005-03-14  Simon Josefsson  <jas@extundo.com>
68006
68007         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
68008         <fx@gnu.org>.
68009
68010 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
68011
68012         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
68013         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
68014         intprops.h.
68015         * lib/strtol.c: Likewise.
68016
68017 2005-03-14  Jim Meyering  <jim@meyering.net>
68018
68019         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
68020         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
68021         to be nonzero so that we (and caller) can detect the difference
68022         between a valid zero-length expansion and an error return, even
68023         when the underlying strftime fails before writing anything into
68024         that location.
68025
68026 2005-03-14  Bruno Haible  <bruno@clisp.org>
68027
68028         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
68029         Update from GNU gettext 0.14.3.
68030
68031 2005-03-10  Jim Meyering  <jim@meyering.net>
68032
68033         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
68034
68035 2005-03-10  Jim Meyering  <jim@meyering.net>
68036
68037         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
68038         so that this module works on systems without fchdir.
68039
68040 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
68041
68042         Factor int-properties macros into a single file, except for
68043         glibc-related files.
68044         * lib/intprops.h: New file.
68045         * lib/getloadavg.c: Include it instead of limits.h.
68046         (INT_STRLEN_BOUND): Remove.
68047         * lib/human.c: Include intprops.h.
68048         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
68049         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
68050         302/1000.
68051         * lib/inttostr.h: Include intprops.h instead of limits.h.
68052         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
68053         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
68054         for consistency with intprops.h.
68055         (time_t_is_integer, twos_complement_arithmetic): Use them.
68056         * lib/sig2str.h: Include <signal.h>, intprops.h.
68057         (INT_STRLEN_BOUND): Remove.
68058         * lib/strftime.c (TYPE_SIGNED): Remove.
68059         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
68060         * lib/strtol.c: Adjust comments to match intprops.h.
68061         * lib/userspec.c: Include intprops.h.
68062         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
68063         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
68064         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
68065         instead of rolling our own expressions.
68066         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
68067
68068         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
68069         instead of int.
68070         (my_strftime): Do not mishandle years close to INT_MAX, by doing
68071         the right thing even if adding 1900 would overflow.  Similarly
68072         for tm_mon + 1 and tm_yday + 1.
68073         Make %Y always equivalent to %C%y, and similarly for %G and %g.
68074         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
68075         (DO_SIGNED_NUMBER): New macro.
68076         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
68077
68078 2005-03-07  Bruno Haible  <bruno@clisp.org>
68079
68080         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
68081
68082 2005-03-07  Bruno Haible  <bruno@clisp.org>
68083
68084         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
68085
68086 2005-03-04  Derek R. Price  <derek@ximbiot.com>
68087
68088         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
68089         (func_import): Only replace files via --import when they have actually
68090         changed.
68091
68092 2005-03-03  Derek R. Price  <derek@ximbiot.com>
68093
68094         * m4/mmap-anon.m4: New file.
68095         * m4/pagealign_alloc.m4: New file.
68096
68097 2005-03-03  Derek R. Price  <derek@ximbiot.com>
68098             Bruno Haible  <bruno@clisp.org>
68099
68100         * modules/pagealign_alloc: New file.
68101         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
68102
68103 2005-03-03  Derek R. Price  <derek@ximbiot.com>
68104             Bruno Haible  <bruno@clisp.org>
68105
68106         * lib/pagealign_alloc.h: New file.
68107         * lib/pagealign_alloc.c: New file.
68108
68109 2005-03-03  Bruno Haible  <bruno@clisp.org>
68110
68111         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
68112         Use an all-permissive copyright notice, recommended by RMS.
68113
68114 2005-03-02  Bruno Haible  <bruno@clisp.org>
68115
68116         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
68117         of AIX, the replacement has to be done only after <string.h> is
68118         included, therefore not in config.h. stpncpy.h does the replacement,
68119         and stpncpy.c uses it.
68120
68121 2005-03-02  Bruno Haible  <bruno@clisp.org>
68122
68123         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
68124         stpncpy.c uses it.
68125
68126 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68127
68128         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
68129         The workaround isn't strictly needed for POSIX conformance, and
68130         it's too much of a pain to configure and maintain.  We'll ask
68131         people to fix their kernels instead.
68132         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
68133         (NANOSLEEP_BUG_WORKAROUND): Remove.
68134         (xnanosleep): Remove the workaround.
68135
68136 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68137
68138         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
68139         Reported by Derek Price.
68140         (Include): Add "timespec.h".
68141
68142         * modules/xnanosleep (Depends-on): Remove gethrxtime.
68143
68144 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
68145
68146         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
68147         to detect nanosleep bug.
68148
68149 2005-03-01  Bruno Haible  <bruno@clisp.org>
68150
68151         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
68152
68153 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
68154
68155         * modules/gethrxtime: New file.
68156         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
68157         (Depends-on): Add gethrxtime.
68158         (configure.ac): Add gl_XNANOSLEEP.
68159         (Makefile.am): Remove lib_SOURCES line.
68160
68161 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
68162
68163         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
68164         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
68165
68166 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
68167
68168         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
68169         * lib/timespec.h (gettime): Return void, since it always
68170         succeeds now.  All uses changed.
68171         * lib/gettime.c (gettime): Likewise.
68172         [HAVE_NANOTIME]: Prefer nanotime.
68173         Assume gettimeofday succeeds, as POSIX requires.
68174         Assime time () succeeds, since other code already does.
68175         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
68176         (timespec_subtract): Remove.
68177         (NANOSLEEP_BUG_WORKAROUND): New constant.
68178         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
68179         things considerably.  Use it only on GNU/Linux hosts, since the
68180         workaround shouldn't be needed elsewhere.
68181
68182 2005-02-24  Bruno Haible  <bruno@clisp.org>
68183
68184         * modules/gettext (Files): Add m4/glibc2.m4.
68185
68186 2005-02-24  Bruno Haible  <bruno@clisp.org>
68187
68188         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
68189         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
68190         * m4/progtest.m4:
68191         Update from GNU gettext 0.14.2.
68192         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
68193
68194 2005-02-24  Bruno Haible  <bruno@clisp.org>
68195
68196         * lib/localcharset.c: Update from GNU gettext 0.14.2.
68197         * lib/config.charset: Update from GNU gettext 0.14.2.
68198
68199 2005-02-24  Bruno Haible  <bruno@clisp.org>
68200
68201         * lib/gettext.h: Update from GNU gettext 0.14.2.
68202
68203 2005-02-23  Simon Josefsson  <jas@extundo.com>
68204
68205         * m4/iconvme.m4: New file.
68206
68207 2005-02-23  Jim Meyering  <jim@meyering.net>
68208
68209         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
68210         change.
68211         Thanks to Bruno Haible for catching it.
68212
68213 2005-02-22  Simon Josefsson  <jas@extundo.com>
68214
68215         * modules/iconvme: New file.
68216
68217         * MODULES.html.sh: Add iconvme.
68218
68219 2005-02-22  Simon Josefsson  <jas@extundo.com>
68220
68221         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
68222
68223 2005-02-22  Simon Josefsson  <jas@extundo.com>
68224
68225         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
68226
68227 2005-02-22  Jim Meyering  <jim@meyering.net>
68228
68229         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
68230         s/ifndef/ifdef/.
68231
68232 2005-02-20  Neil Conway  <neilc@samurai.com>
68233
68234         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
68235         returned by OSX/Darwin if the specified buffer is not large
68236         enough for the hostname.
68237
68238 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68239
68240         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
68241         pass it to _help, otherwise the latter coredumps trying to
68242         dereference state.root_argp.
68243
68244 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
68245
68246         * modules/chdir-long (Depends-on): Add memrchr.
68247         * modules/memrchr (Files): Add lib/memrchr.h.
68248         (Include): "memrchr.h".
68249
68250 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
68251
68252         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
68253
68254 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
68255
68256         * lib/memrchr.h: New file.
68257         * lib/chdir-long.c: Include it.
68258         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
68259         Don't bother including stddef.h.
68260
68261 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
68262
68263         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
68264         inclusion.
68265         Include <sys/types.h>, for dev_t.
68266         (ME_DUMMY, ME_REMOTE): Move from here....
68267         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
68268         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
68269         Dmitry V. Levin.
68270         Include mountlist.h first, to test the interface.
68271
68272 2005-01-29  Bruno Haible  <bruno@clisp.org>
68273
68274         * lib/progname.c (program_name): Initialize.
68275         Needed when linking statically on MacOS X.
68276
68277 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
68278
68279         Sync from coreutils.
68280         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
68281         (Depends-on): Add c-strtod.
68282         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
68283
68284 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
68285
68286         Sync from coreutils.
68287         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
68288
68289         Remove files that are specific to coreutils.
68290         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
68291
68292 2005-01-28  Bruno Haible  <bruno@clisp.org>
68293
68294         * modules/javacomp: New file.
68295         * MODULES.html.sh (Java): Add javacomp.
68296
68297 2005-01-28  Bruno Haible  <bruno@clisp.org>
68298
68299         * m4/javacomp.m4: New file, from GNU gettext.
68300
68301 2005-01-28  Bruno Haible  <bruno@clisp.org>
68302
68303         * lib/javacomp.sh.in: New file, from GNU gettext.
68304         * lib/javacomp.h: New file, from GNU gettext.
68305         * lib/javacomp.c: New file, from GNU gettext.
68306
68307 2005-01-26  Simon Josefsson  <jas@extundo.com>
68308
68309         * lib/gai_strerror.c: Use GPL in header.
68310
68311 2005-01-26  Bruno Haible  <bruno@clisp.org>
68312
68313         * modules/javaexec: New file.
68314         * MODULES.html.sh (Java): Add javaexec.
68315
68316 2005-01-26  Bruno Haible  <bruno@clisp.org>
68317
68318         * m4/javaexec.m4: New file, from GNU gettext.
68319
68320 2005-01-26  Bruno Haible  <bruno@clisp.org>
68321
68322         * lib/javaexec.sh.in: New file, from GNU gettext.
68323         * lib/javaexec.h: New file, from GNU gettext.
68324         * lib/javaexec.c: New file, from GNU gettext.
68325
68326 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68327
68328         * modules/lchown (Depends-on): Remove lchown.h
68329
68330 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68331
68332         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
68333         must be defined if the header file was not found, in order
68334         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
68335
68336 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68337
68338         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
68339         initializers for struct pentry_state.
68340         (__argp_error): Check return value of __asprintf
68341         (__argp_failure): Translate error message
68342
68343         * lib/argp-parse.c: Removed braces around the expansion of N_()
68344
68345 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68346
68347         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
68348         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
68349         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
68350         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
68351         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
68352         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
68353         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
68354         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
68355         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
68356         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
68357         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
68358         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
68359         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
68360         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
68361         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
68362         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
68363         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
68364         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
68365         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
68366         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
68367         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
68368         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
68369         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
68370         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
68371         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
68372         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
68373         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
68374         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
68375         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
68376         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
68377         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
68378         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
68379         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
68380         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
68381         xstrtol.m4, xstrtoumax.m4, yesno.m4:
68382         Use an all-permissive copyright notice, recommended by RMS.
68383
68384 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
68385
68386         * modules/chdir-long (Depends-on): Remove mempcpy.
68387
68388 2005-01-21  Jim Meyering  <jim@meyering.net>
68389
68390         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
68391         same value as for Solaris 9.
68392
68393         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
68394         component length.  This included changing the parameter to be
68395         of type `char *' rather than `char const *'.
68396         * lib/chdir-long.h (chdir_long): Update prototype.
68397
68398         * lib/openat.c (fdopendir, fstatat): New functions.
68399         * lib/openat.h: Include headers required for use of DIR and struct
68400         stat.
68401         [AT_SYMLINK_NOFOLLOW]: Define.
68402         (fdopendir, fstatat): Add prototypes.
68403
68404 2005-01-21  Bruno Haible  <bruno@clisp.org>
68405
68406         * modules/classpath: New file.
68407         * MODULES.html.sh (Java): Add classpath.
68408
68409 2005-01-21  Bruno Haible  <bruno@clisp.org>
68410
68411         * lib/classpath.h: New file, from GNU gettext.
68412         * lib/classpath.c: New file, from GNU gettext.
68413
68414 2005-01-20  Simon Josefsson  <jas@extundo.com>
68415
68416         * modules/version-etc-fsf: New file.
68417
68418 2005-01-20  Simon Josefsson  <jas@extundo.com>
68419
68420         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
68421         * lib/version-etc.c: Remove version_etc_copyright.
68422         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
68423         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
68424
68425 2005-01-20  Simon Josefsson  <jas@extundo.com>
68426
68427         * lib/base64.h (isbase64): Add.
68428
68429         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
68430         using a unsigned prototype, don't inline.
68431         (base64_decode): Use it.
68432
68433 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
68434
68435         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
68436         it.
68437
68438 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
68439
68440         * lib/save-cwd.c (save_cwd): Remove code to support the case
68441         where fchdir is missing or flaky.
68442
68443 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
68444
68445         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
68446
68447 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
68448
68449         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
68450         AC_LIBSOURCES now does this.
68451         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
68452         with new ullong_max module.
68453
68454 2005-01-19  Bruno Haible  <bruno@clisp.org>
68455
68456         * modules/sh-quote: New file.
68457         * MODULES.html.sh (Executing programs): Add sh-quote.
68458
68459 2005-01-19  Bruno Haible  <bruno@clisp.org>
68460
68461         * lib/sh-quote.h: New file, from GNU gettext.
68462         * lib/sh-quote.c: New file, from GNU gettext.
68463
68464 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
68465
68466         Merge from coreutils.
68467         * m4/ullong_max.m4: New file.
68468         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
68469         (gl_MACROS): Assume localeconv exists.
68470
68471 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
68472
68473         Merge changes from coreutils, as described below in several
68474         changelogs dated today.
68475
68476         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
68477         (O_DIRECTORY): Remove; not needed here, since "." must be
68478         a directory.  All uses removed.
68479         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
68480         universal on Suns, and we also need to test for IRIX.
68481         Revamp code to use 'if' rather than '#if'.
68482         Avoid unnecessary comparison of cwd->desc to 0.
68483
68484         * lib/utimens.c (futimens): Robustify the previous patch, by checking
68485         for known valid error numbers rather than observed invalid ones.
68486
68487 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
68488
68489         * modules/ullong_max: New file.
68490
68491         * modules/chdir-long, modules/openat: New files.
68492         * modules/save-cwd (Depends-on): Depend on chdir-long.
68493         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
68494
68495 2005-01-18  Jim Meyering  <jim@meyering.net>
68496
68497         Merge from coreutils.
68498         * m4/chdir-long.m4, m4/openat.m4: New files.
68499         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
68500         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
68501         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
68502         is sane and DOES follow symlinks.  Besides, testing 20 different
68503         systems found no broken chown implementations.
68504         Prompted by a change in rsync's copy of this macro.
68505         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
68506
68507         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
68508
68509         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
68510         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
68511         NULL-means-set-to-current-time semantics.
68512         Remove temporary file immediately, rather than waiting
68513         for configure's at-exit trap code to do it.
68514
68515 2005-01-18  Jim Meyering  <jim@meyering.net>
68516
68517         * lib/version-etc.c (version_etc_copyright): Update copyright date.
68518
68519         * lib/utimens.c (futimens): Account for the fact that futimes
68520         can also fail with errno == ENOSYS or errno == ENOENT.
68521         Patch from Dmitry V. Levin.
68522
68523         Change the name of the robust chdir function from chdir to chdir_long.
68524         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
68525         (restore_cwd): Use chdir_long, not chdir.
68526         * lib/chdir-long.c: Renamed from chdir.c.
68527         * lib/chdir-long.h: Renamed from chdir.h.
68528         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
68529         Hurd.
68530
68531 2005-01-18  Bruno Haible  <bruno@clisp.org>
68532
68533         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
68534         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
68535         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
68536         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
68537         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
68538         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
68539         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
68540         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
68541         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
68542         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
68543         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
68544         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
68545         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
68546         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
68547         Use an all-permissive copyright notice, recommended by RMS.
68548
68549 2005-01-18  Bob Proulx  <bob@proulx.com>
68550
68551         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
68552         simplify offsetof() macro construct to avoid compile failure with
68553         native HP-UX 11.0 ANSI C compiler.
68554
68555 2005-01-17  Bruno Haible  <bruno@clisp.org>
68556
68557         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
68558         redundant because stpncpy.m4 takes care of it.
68559
68560 2005-01-17  Bruno Haible  <bruno@clisp.org>
68561
68562         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
68563
68564 2005-01-17  Bruno Haible  <bruno@clisp.org>
68565
68566         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
68567         used.
68568
68569 2005-01-17  Bruno Haible  <bruno@clisp.org>
68570
68571         * lib/fwriteerror.h (fwriteerror): Change specification to include
68572         fclose.
68573         * lib/fwriteerror.c: Include <stdbool.h>.
68574         (fwriteerror): At the end, close the file stream. Record whether
68575         stdout was already closed.
68576
68577 2005-01-17  Bruno Haible  <bruno@clisp.org>
68578
68579         * lib/execute.c (environ): Declare if needed.
68580         * lib/pipe.c (environ): Likewise.
68581         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
68582
68583 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68584
68585         * modules/argp: Depend on vsnprintf
68586
68587 2005-01-10  Jim Meyering  <jim@meyering.net>
68588
68589         * modules/closeout (Depends-on): Add atexit.
68590
68591 2005-01-06  Bruno Haible  <bruno@clisp.org>
68592
68593         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
68594
68595 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
68596
68597         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
68598         definitions to be after all include files, to avoid collisions.
68599         Problem reported by Bob Proulx.
68600
68601 2005-01-04  Jim Meyering  <jim@meyering.net>
68602
68603         Changes imported from coreutils.
68604         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
68605         as the mkstemp template, use a temporary directory and an
68606         8.3-friendly template to avoid trouble on systems like DJGPP.
68607         Reported by Juan M. Guerrero via Stepan Kasal.
68608         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
68609         close. Remove the temporary directory right away, rather than waiting
68610         for configure's at-exit trap code to do it.
68611         Suggestion from Stepan Kasal.
68612
68613 2005-01-01  Simon Josefsson  <jas@extundo.com>
68614
68615         * gnulib-tool: Print #include directives when --import'ing.
68616
68617 2004-12-28  Simon Josefsson  <jas@extundo.com>
68618
68619         * tests/test-base64.c: Include required header files.  Remove
68620         unused variables.
68621
68622 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
68623
68624         * modules/error (Depends-on): Remove gettext.
68625
68626 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
68627
68628         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
68629         not needed.  This removes a dependency on the gettext module.
68630         [defined _LIBC]: Do not include <libintl.h>; not needed.
68631
68632 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
68633
68634         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
68635         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
68636
68637 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
68638
68639         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
68640         HAVE_DECL_STRTOLD.
68641
68642 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
68643
68644         * modules/getdate (Depends-on): Remove alloca-opt.
68645
68646 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
68647
68648         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
68649
68650 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
68651
68652         * lib/argp-parse.c: Include <stddef.h>.
68653         (alignof, alignto): New macros.
68654         (parser_init): Don't assume that void * is aligned sufficiently
68655         for struct option.
68656
68657         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
68658         need to extend the stack.
68659         (YYINITDEPTH): New macro, so that the initial stack isn't overly
68660         large.
68661
68662 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68663
68664         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
68665
68666 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
68667
68668         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
68669         (2004-10-24) change.  Apparently this was a false alarm.
68670
68671         * modules/getdate: Depend on alloca-opt, not alloca.
68672
68673 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
68674
68675         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
68676         Remove now-obsolete comment about AIX.
68677         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
68678         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
68679         (YYMAXDEPTH): New macro.
68680
68681 2004-12-18  Simon Josefsson  <jas@extundo.com>
68682
68683         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
68684
68685 2004-12-18  Bruno Haible  <bruno@clisp.org>
68686
68687         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
68688
68689 2004-12-18  Bruno Haible  <bruno@clisp.org>
68690
68691         * lib/fatal-signal.c (fatal_signals): Make non-const.
68692         (init_fatal_signals): New function.
68693         (uninstall_handlers, install_handlers): Ignore signals that were set to
68694         SIG_IGN.
68695         (at_fatal_signal): Call init_fatal_signals.
68696         (init_fatal_signal_set): Likewise. Ignore signals that were set to
68697         SIG_IGN.
68698         Reported by Paul Eggert.
68699
68700 2004-12-18  Bruno Haible  <bruno@clisp.org>
68701
68702         * doc/alloca.texi: New file.
68703         * doc/alloca-opt.texi: New file.
68704
68705 2004-12-17  Jim Meyering  <jim@meyering.net>
68706
68707         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
68708         Otherwise, install-sh could exit with improper exit status when
68709         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
68710
68711 2004-12-16  Simon Josefsson  <jas@extundo.com>
68712
68713         * tests/test-base64.c: Add license.
68714
68715 2004-12-15  Stepan Kasal  <address@hidden>
68716
68717         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
68718
68719 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
68720
68721         * modules/getcwd (Files): Add m4/d-ino.m4.
68722         Suggested by Mark D. Baushke.
68723
68724 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
68725
68726         * lib/getdate.y (textint): New member "negative".
68727         (time_zone_hhmm): New function.
68728         Expect 14 shift-reduce conflicts, not 13.
68729         (o_colon_minutes): New rule.
68730         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
68731         (yylex): Set the "negative" member of signed numbers.
68732
68733 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
68734
68735         * doc/getdate.texi (Time of day items, Time zone items):
68736         Describe new formats +00:00, UTC+00:00.
68737
68738 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
68739
68740         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
68741         spurious "-l"s.  Problem reported by Stepan Kasal.
68742
68743 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
68744
68745         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
68746         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
68747
68748 2004-12-04  Simon Josefsson  <jas@extundo.com>
68749
68750         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
68751         Vandoorselaere <yoann@prelude-ids.org>.
68752
68753 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
68754
68755         Changes imported from coreutils.
68756         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
68757         exist.
68758         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
68759
68760 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
68761
68762         Changes imported from coreutils.
68763         * lib/hard-locale.c: Assume <locale.h> exists.
68764         Include "strdup.h".
68765         (GLIBC_VERSION): New macro.
68766         (hard_locale): Assume setlocale exists.
68767         Rewrite to avoid #ifdef.
68768         Use strdup rather than malloc + strcpy.
68769         * lib/human.c: Assume <locale.h> exists.
68770         (human_readable): Assume localeconv exists.
68771
68772 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
68773
68774         * modules/hard-locale (Depends-on): Add strdup.
68775
68776 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
68777
68778         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
68779         convert T2, not T.  (Imported from libc.)
68780
68781 2004-11-30  Simon Josefsson  <jas@extundo.com>
68782
68783         * modules/restrict (License): Change to LGPL.
68784
68785 2004-11-30  Simon Josefsson  <jas@extundo.com>
68786
68787         * m4/restrict.m4: Add copyright and copying conditions.
68788
68789 2004-11-30  Simon Josefsson  <jas@extundo.com>
68790
68791         * m4/base64.m4: New file.
68792
68793 2004-11-30  Simon Josefsson  <jas@extundo.com>
68794
68795         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
68796         base64.
68797
68798         * tests/test-base64.c: New file.
68799
68800         * modules/base64: New file.
68801
68802 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
68803
68804         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
68805         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
68806
68807         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
68808
68809 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
68810
68811         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
68812         (__getcwd.c): Don't restore errno; glibc doesn't.
68813         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
68814         first, falling back to our code only if its results look suspicious.
68815         Ensure that the resulting buffer is only as large as necessary.
68816
68817         * lib/readutmp.c: Include readutmp.h first.
68818         Include <errno.h>, since readutmp.h no longer does that.
68819         * lib/readutmp.h: Don't include <errno.h>,
68820         <sys/param.h>, <time.h>; not needed to establish interface.
68821         (errno): Remove decl.
68822         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
68823         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
68824         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
68825
68826 2004-11-28  Simon Josefsson  <jas@extundo.com>
68827
68828         * lib/base64.h, base64.c: New file.
68829
68830 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
68831
68832         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
68833
68834 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
68835
68836         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
68837         (Depends-on): Remove pathmax, same.  Add mempcpy.
68838         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
68839         (Makefile.am): Append getcwd.h to lib_SOURCES.
68840         (Include): Add getcwd.h.
68841         (Maintainer): Change from Jim Meyering to "all, glibc",
68842         since getdate now uses intended-for-glibc code.
68843         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
68844         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
68845
68846 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
68847
68848         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
68849         HP's ANSI C compiler.
68850         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
68851         Declaring int functions causes warnings on some modern systems and
68852         shouldn't be needed to compile on ancient ones.
68853         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
68854         defined.
68855
68856         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
68857         with the following changes.
68858         (__set_errno): Parenthesize properly.
68859         Include <stdbool.h>.
68860         (MIN, MAX, MATCHING_INO): New macros.
68861         (__getcwd): Define with prototype, not K&R form.
68862         Use heuristics to allocate default buffer on stack if possible.
68863         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
68864         behavior, and to avoid the PATH_MAX limit when computing
68865         ../../../../...
68866         Use MATCHING_INO to compare inode number to file.
68867         Check for arithmetic overflow in size calculations.
68868         Fix bug in reallocation of dot array that caused getcwd to fail
68869         on directories nested deeper than 75.
68870         Be more careful about saving errno on error.
68871         Do not use realloc; use only free+malloc, as this is a bit
68872         more flexible and avoids a needless copy operation.
68873         Do not inspect st_dev and st_ino for symbolic links; POSIX
68874         doesn't specify the latter.
68875         Check for closedir errors.
68876         Avoid needless casts.
68877         Use "#ifdef weak_alias" around weak_alias, to be like other
68878         glibc code.
68879         The following changes to getcwd.c have effect only when used in
68880         gnulib; they have no effect inside glibc proper.
68881         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
68882         as alloca isn't used.
68883         (alloca, __alloca): Likewise.
68884         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
68885         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
68886         unconditionally, as gnulib assumes C89 or better.
68887         Do not include <sys/param.h>.
68888         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
68889         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
68890         better.
68891         (NULL) [!defined NULL]: Remove; we assume C89 or better.
68892         Include <dirent.h> in a way that is compatible with modern Autoconf.
68893         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
68894         New macros, if not already defined.
68895         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
68896         Use "_LIBC", not "defined _LIBC", for consistency.
68897         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
68898         a mempcpy module.
68899         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
68900         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
68901         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
68902         credit only to Jim Meyering and adjust the copyright dates.
68903         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
68904         <stdlib.h>, <unistd.h>, "pathmax.h".
68905         Instead, include "xgetcwd.h" (first) and "getcwd.h".
68906         (INITIAL_BUFFER_SIZE): Remove.
68907         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
68908
68909 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
68910
68911         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
68912         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
68913         Use the _ONCE methods, for efficiency.
68914         Check for fcntl.h.  In test program, include <errno.h>
68915         and <fcntl.h> if available.  Remove old K&R cruft from
68916         test program.  Check for common errors in GNU/Linux,
68917         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
68918         don't do AC_LIBOBJ, as that's getcwd.m4's job.
68919         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
68920         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
68921         name accordingly.
68922         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
68923         accommodate new getcwd.c.
68924         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
68925         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
68926         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
68927         that's all we need now.
68928
68929 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68930
68931         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
68932         argp-parse.c depends on getopt internals, that means we should
68933         always use our getopt, to be on the safe side.
68934         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
68935         order not to spoil the result of an eventual previous invocation
68936         of gl_GETOPT_SUBSTITUTE.
68937
68938 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
68939
68940         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
68941         redefinition warnings. To avoid them, include the defines
68942         in `#if !defined __need_getopt ... #endif'. The only place
68943         where __getopt_argv_const is used is in definitions
68944         of getopt_long and getopt_long_only below, which are as well
68945         protected by `#ifndef __need_getopt'.
68946         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
68947         __need_getopt after including <stdio.h> and <unistd.h> These
68948         headers might have defined it.
68949
68950 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
68951
68952         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
68953
68954 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
68955
68956         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
68957         (futimens): New function, which uses futimes if available.
68958         (futimens, utimens): Support timespec==NULL, with same semantics
68959         as utime and utimens.
68960         * lib/utimens.h (futimens): New decl.
68961
68962 2004-11-23  Jim Meyering  <jim@meyering.net>
68963
68964         * lib/getopt_.h: Remove trailing blanks.
68965
68966 2004-11-23  Jim Meyering  <jim@meyering.net>
68967
68968         * lib/__fpending.c: Add comment.
68969
68970 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
68971
68972         * modules/canonicalize (Depends-on): Add xreadlink.
68973         Problem reported by James Youngman.
68974
68975 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
68976
68977         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
68978         New macros.
68979         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
68980         optopt): Use them instead of invoking ## directly; otherwise, the
68981         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
68982
68983 2004-11-19  Bruno Haible  <bruno@clisp.org>
68984
68985         * lib/strtok_r.c: Move comments from here...
68986         * lib/strtok_r.h: ... to here.
68987
68988 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
68989
68990         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
68991         implementations that mishandle size_t overflow.
68992
68993 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
68994
68995         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
68996         might fail.  Problem reported by Yoann Vandoorselaere.
68997         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
68998         implementations that mishandle size_t overflow.
68999
69000 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69001
69002         * modules/canon-host (Depends-on): Add strdup.
69003
69004 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69005
69006         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
69007
69008 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69009
69010         * lib/canon-host.c: Include "strdup.h".
69011         (canon_host): Use getaddrinfo if available, so that IPv6 works.
69012         Use strdup instead of malloc/strcpy to duplicate strings.
69013
69014         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
69015         (human_space_before_unit): New constant.
69016         * lib/human.c (human_readable): Support it.
69017
69018         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
69019         (xgetcwd): Set errno correctly when failing.
69020         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
69021         the failure is actually due to a PATH_MAX problem.
69022
69023         Further getopt changes to make it more likely that glibc will
69024         buy the changes back.
69025         * lib/getopt.c (POSIXLY_CORRECT): New constant.
69026         (getopt): Use it, so to preserve glibc semantic
69027         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
69028         when compiling for libc.
69029         * lib/getopt_.h (__getopt_argv_const): Bring it back.
69030         (getopt_long, getopt_long_only): Use it.
69031
69032         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
69033         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
69034         (getopt): Argv is now char * const *, as per standard.
69035         (_getopt_internal_r, _getopt_internal): Argv is now char **,
69036         not char *__getopt_argv_const *.
69037         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
69038         _getopt_long_only_r): Likewise.
69039         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
69040         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
69041         _getopt_long_r, _getopt_long_only_r): Likewise.
69042         * lib/getopt_.h (__getopt_argv_const): Remove.
69043         (getopt): Argv is now char * const *, as per standard.
69044
69045         * lib/getdate.y (tORDINAL): New token.
69046         (day, relunit): Allow it for relative times.
69047         (relative_time_table): Use tORDINAL for ordinals.
69048
69049 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69050
69051         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
69052         Document that "second" isn't allowed as an ordinal number.
69053
69054 2004-11-16  Jim Meyering  <jim@meyering.net>
69055
69056         * modules/closeout (Depends-on): Add fpending.
69057
69058 2004-11-15  Jim Meyering  <jim@meyering.net>
69059
69060         * lib/closeout.c: Include "__fpending.h" once again.
69061         Include <stdbool.h>.
69062         (close_stdout): Don't fail just because stdout was closed initially,
69063         since some programs don't write to stdout in the normal course of
69064         operation (other than --version and --help), and we don't want this
69065         function to make e.g. `touch file >&-' fail.
69066         But do fail if it was closed and someone has tried to write to it.
69067         E.g., `printf foo >&-' must fail.
69068
69069 2004-11-13  Jim Meyering  <jim@meyering.net>
69070
69071         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
69072
69073 2004-11-12  Simon Josefsson  <jas@extundo.com>
69074
69075         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
69076         small doc fix is still pending.
69077
69078 2004-11-11  Simon Josefsson  <jas@extundo.com>
69079
69080         * modules/strtok_r: New file.
69081
69082         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69083         strtok_r.
69084
69085 2004-11-11  Simon Josefsson  <jas@extundo.com>
69086
69087         * m4/strtok_r.m4: New file.
69088
69089         * m4/getopt.m4: Replace opterr.
69090
69091 2004-11-11  Simon Josefsson  <jas@extundo.com>
69092
69093         * lib/strtok_r.h, strtok_r.c: New file.
69094
69095 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
69096
69097         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
69098         of replacing opterr, getopt, etc.  This should handle the
69099         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
69100
69101 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
69102
69103         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
69104         we can stop lying to compilers about the constness of argv when we
69105         are compiled outside glibc.
69106         (getopt, getopt_long, getopt_long_only): Use it.
69107         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
69108         _getopt_internal, getopt): Likewise.
69109         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
69110         _getopt_long_only_r): Likewise.
69111         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
69112         _getopt_long_r, _getopt_long_only_r): Likewise.
69113
69114         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
69115         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
69116         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
69117         the other external symbols.
69118         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
69119         declaration, since the above renaming now works around collisions.
69120
69121 2004-11-11  Jim Meyering  <jim@meyering.net>
69122
69123         * lib/linebreak.c: Remove trailing blanks.
69124         * lib/alloca_.h: Likewise.
69125         * lib/acosl.c: Likewise.
69126         * lib/euidaccess.c: Likewise.
69127         * lib/allocsa.h: Likewise.
69128
69129 2004-11-10  Simon Josefsson  <jas@extundo.com>
69130
69131         * m4/getaddrinfo.m4: New file.
69132
69133 2004-11-10  Simon Josefsson  <jas@extundo.com>
69134
69135         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
69136
69137 2004-11-10  Simon Josefsson  <jas@extundo.com>
69138
69139         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69140         getaddrinfo.
69141
69142         * modules/getaddrinfo: New file.
69143
69144 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
69145
69146         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
69147
69148 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
69149
69150         * lib/mktime.c (SHR): New macro, which is a portable
69151         substitute for >> that should work even on Crays.
69152         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
69153         Problem reported by Mark D. Baushke in
69154         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
69155         * lib/getdate.y (SHR): Likewise.
69156         (tm_diff): Use it.
69157         * lib/strftime.c (SHR): Likewise.
69158         (tm_diff): Use it.
69159         * lib/quotearg.c (struct quoting_options): Use unsigned int for
69160         quote_these_too, so that right shifts are well defined.  All uses
69161         changed.
69162
69163 2004-11-10  Jim Meyering  <jim@meyering.net>
69164
69165         Ensure that no close failure goes unreported.
69166         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
69167         return early when it seems there's nothing to flush.
69168         Don't include __fpending.h.
69169
69170 2004-11-10  Jim Meyering  <jim@meyering.net>
69171
69172         * modules/closeout (Depends-on): Remove fpending.
69173
69174 2004-11-10  Jim Meyering  <jim@meyering.net>
69175
69176         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
69177
69178 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
69179
69180         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
69181         gl_FUNC_STRFTIME.
69182         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
69183         and AC_REQUIRE when possible, to avoid duplicate checks.
69184         Check for <wchar.h>.
69185
69186 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
69187
69188         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
69189
69190 2004-11-09  Bruno Haible  <bruno@clisp.org>
69191
69192         * m4/sockpfaf.m4: New file.
69193
69194 2004-11-05  Bruno Haible  <bruno@clisp.org>
69195
69196         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
69197         Reported by Mark D. Baushke <mdb@cvshome.org>.
69198
69199 2004-11-04  Bruno Haible  <bruno@clisp.org>
69200
69201         2004-09-11  Bruno Haible  <bruno@clisp.org>
69202                 * allocsa.valgrind: New file.
69203         2004-02-06  Bruno Haible  <bruno@clisp.org>
69204                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
69205                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
69206                 Reported by Christopher Seip <chris.seip@hp.com>.
69207
69208 2004-11-04  Bruno Haible  <bruno@clisp.org>
69209
69210         * modules/allocsa (Files): Add lib/allocsa.valgrind.
69211         (Makefile.am): Distribute it.
69212
69213 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
69214
69215         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
69216         with errno == ERANGE if the buffer is too small.
69217         Problem reported by Mark D. Baushke.
69218
69219 2004-11-03  Albert Chin  <china@thewrittenword.com>
69220             Paul Eggert  <eggert@cs.ucla.edu>
69221
69222         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
69223         equivalent, substitute $ac_type for equivalent type rather than
69224         blindly using uint32_t *always* which won't work if uint32_t is not
69225         available.  Define _UINT32_T to work around typedef of uint32_t if
69226         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
69227         2.5.1.
69228
69229 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
69230
69231         * m4/jm-macros.m4: Sync from coreutils.
69232         (gl_MACROS): Check for mbrlen, for pathchk.
69233         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
69234
69235 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
69236
69237         * lib/xreadlink.c (MAXSIZE): New macro.
69238         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
69239         size does not exceed MAXSIZE.  Avoid cast.
69240         As suggested by Mark D. Baushke in
69241         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
69242         if readlink fails with buffer size just under MAXSIZE, try again
69243         with MAXSIZE.
69244
69245 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
69246
69247         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
69248
69249 2004-11-02  Derek R. Price  <derek@ximbiot.com>
69250         and  Paul Eggert  <eggert@cs.ucla.edu>
69251
69252         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
69253         (get_date): Overparenthesize to avoid GCC warning.
69254
69255 2004-11-02  Bruno Haible  <bruno@clisp.org>
69256
69257         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
69258         returns void.
69259
69260 2004-11-02  Bruno Haible  <bruno@clisp.org>
69261
69262         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
69263         function returns void.
69264
69265 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
69266
69267         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
69268         fflush_unlocked, flockfile, funlockfile, funlockfile,
69269         fputs_unlocked, putc_unlocked.
69270
69271 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
69272
69273         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
69274         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
69275         already declared.
69276
69277 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
69278
69279         * modules/getdate (Files): Add doc/getdate.texi.
69280         (Depends-on): Add setenv, xalloc.
69281
69282 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
69283
69284         * lib/getdate.y: Add support for TZ="foo" within a date string.
69285         Fix some bugs near time_t boundaries.  Reject dates with
69286         out-of-range components, e.g., "Sept 31".
69287         Include <stdlib.h>, "setenv.h", "xalloc.h".
69288         (ISDIGIT_LOCALE): Remove; unused.
69289         Note that the TZ and time functions used here are not reentrant.
69290         (mktime_ok, get_tz): New functions.
69291         (TZBUFSIZE): New constant.
69292         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
69293         This requires that we sometimes generate our own TZ="XXX..." setting.
69294
69295 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
69296
69297         * doc/getdate.texi: New file, from coreutils with modifications for
69298         the new TZ parsing.
69299
69300 2004-10-27  Derek R. Price  <derek@ximbiot.com>
69301
69302         * lib/mktime.c (not_equal_tm): Remove redundant check.
69303
69304 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69305
69306         * modules/regex (lib_SOURCES): Add regex.c.
69307         Reported by James Youngman in
69308         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
69309
69310 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
69311
69312         * lib/getdate.y: Use Bison 1.875 features, and some minor
69313         code cleanups.  This change does not affect semantics.
69314         Don't include <stdlib.h>; no longer needed.
69315         Don't include unlocked-io.h; only the "#if TEST" code uses
69316         stdio, and performance isn't crucial there.
69317         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
69318         Bison 1.875 features as described below.
69319         All uses of "PC." replaced by "pc->".
69320         (YYSTYPE): Add a forward declaration.
69321         (yylex, yyerror): Use full prototypes in forward decls.
69322         Use "%pure-parser" rather than obsolescent "%pure_parser".
69323         Use %parse-param and %lex-param instead of obsolescent
69324         YYPARSE_PARAM and YYLEX_PARAM.
69325         (meridian_table, month_and_day_table, time_units_table,
69326         relative_time_table, time_zone_table, military_table,
69327         lookup_zone, lookup_word, get_date):
69328         Use NULL instead of 0 where appropriate.
69329         (to_hour): Avoid abort (), to avoid a dependency on
69330         stdlib.h.
69331         (yyerror, yylex): Now accepts parser_control * arg.
69332         (main) [TEST]: Use '\0' rather than 0 for char.
69333
69334 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
69335
69336         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
69337
69338 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
69339
69340         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
69341         It's now the caller's responsibility to handle the case where
69342         !HAVE_GETPAGESIZE && !defined getpagesize.
69343
69344         * lib/mktime.c (leapyear): Arg is long int, not int.
69345
69346 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
69347
69348         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
69349
69350 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
69351
69352         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
69353         missing.  Problem reported by James Youngman.
69354
69355 2004-10-16  Simon Josefsson  <jas@extundo.com>
69356
69357         * gnulib-tool: Fix comments.  Fix parse problem.
69358         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
69359
69360 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
69361
69362         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
69363         implementation of getopt_long.  Problem reported by Alexander Taler in:
69364         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
69365
69366 2004-10-15  Bruno Haible  <bruno@clisp.org>
69367
69368         * gnulib-tool: Untabify. Initialize supplied_libname.
69369         (func_usage): More homogenous output.
69370         (func_modules_transitive_closure, func_modules_to_filelist,
69371         func_emit_lib_Makefile_am): New functions.
69372         (func_import): New function, extracted from big case statement. Use
69373         func_get_license, func_modules_transitive_closure,
69374         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
69375         opt_lgpl. Don't use test -a, as it's not portable.
69376         (func_create_testdir): Use func_modules_transitive_closure,
69377         func_modules_to_filelist, func_emit_lib_Makefile_am.
69378
69379 2004-10-15  Bruno Haible  <bruno@clisp.org>
69380
69381         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
69382
69383 2004-10-15  Bruno Haible  <bruno@clisp.org>
69384
69385         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
69386         the portions belonging to each module.
69387         Suggested by Derek Robert Price <derek@ximbiot.com>.
69388
69389 2004-10-12  Simon Josefsson  <jas@extundo.com>
69390
69391         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
69392         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
69393         to real functions.
69394
69395 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69396
69397         * modules/vsnprintf: New file.
69398
69399 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69400
69401         * m4/vsnprintf.m4: New file.
69402
69403 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69404
69405         * lib/vsnprintf.h: New file.
69406         * lib/vsnprintf.c: New file.
69407
69408 2004-10-11  Bruno Haible  <bruno@clisp.org>
69409
69410         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
69411         vsnprintf.
69412
69413 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
69414
69415         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
69416
69417 2004-10-07  Bruno Haible  <bruno@clisp.org>
69418
69419         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
69420         fits into the provided buffer.
69421
69422 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
69423
69424         * lib/diacrit.c, diacrit.h: Add GPL notice.
69425
69426         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
69427         notice.
69428         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
69429         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
69430         This avoids a potential constant-folding bug.
69431
69432 2004-10-05  Bruno Haible  <bruno@clisp.org>
69433
69434         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
69435         for the declaration of strsep.
69436
69437 2004-10-05  Bruno Haible  <bruno@clisp.org>
69438
69439         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
69440
69441 2004-10-04  Simon Josefsson  <jas@extundo.com>
69442
69443         * modules/memmem: New file.
69444         * tests/test-memmem.c: New file.
69445         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
69446
69447 2004-10-04  Simon Josefsson  <jas@extundo.com>
69448
69449         * m4/memmem.m4: New file.
69450
69451 2004-10-04  Simon Josefsson  <jas@extundo.com>
69452
69453         * lib/memmem.h: New file.
69454         * lib/memmem.c: New file, taken from glibc.
69455
69456 2004-10-04  Simon Josefsson  <jas@extundo.com>
69457
69458         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
69459         '#ifdef USE_UNLOCKED_IO'.
69460
69461 2004-10-04  Simon Josefsson  <jas@extundo.com>
69462
69463         * config/srclist.txt: Add memmem from glibc.
69464
69465 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
69466
69467         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
69468
69469         * modules/argmatch, modules/argp, modules/closeout, modules/error,
69470         modules/exclude, modules/getdate, modules/getline,
69471         modules/getndelim2, modules/getpass, modules/getpass-gnu,
69472         modules/getusershell, modules/linebuffer, modules/md5,
69473         modules/mountlist, modules/posixtm, modules/readtokens,
69474         modules/readutmp, modules/regex, modules/sha1,
69475         modules/version-etc, modules/yesno:
69476         Remove dependency on unlocked-io.
69477
69478 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
69479
69480         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
69481
69482         * m4/unlocked-io.m4: Add copyright notice.
69483         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
69484
69485 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
69486
69487         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
69488         * lib/xmalloc.c (xmemdup): Likewise.
69489         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
69490         XFREE): Remove these long-obsolescent macros.
69491         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
69492         * lib/xstrdup.c: Remove.
69493
69494         * lib/regex.c (re_comp): Cast gettext return value to char *,
69495         Problem reported by Martin Neitzel via Mark D. Baushke.
69496
69497 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
69498
69499         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
69500         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
69501         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
69502         regex.c, sha1.c, version-etc.c, yesno.c:
69503         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
69504         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
69505         the includer's responsibility.
69506
69507         Sync from coreutils.
69508
69509         * lib/modechange.c (mode_compile): Don't decrement a pointer that
69510         points to the start of a string, as the C Standard says the
69511         resulting behavior is undefined.
69512
69513         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
69514         simple -> simple_backups, numbered_existing ->
69515         numbered_existing_backups, numbered -> numbered_backups
69516         to avoid shadowing problems.  All uses changed.
69517         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
69518         * lib/backupfile.c (check_extension, numbered_backup):
69519         Rename locals to avoid shadowing 'basename'.
69520         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
69521         once.
69522
69523         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
69524         * lib/.cvsignore: Add getopt.h.
69525
69526 2004-10-04  Bruno Haible  <bruno@clisp.org>
69527
69528         * modules/README: New file.
69529         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
69530         not a module.
69531
69532 2004-10-02  Jim Meyering  <jim@meyering.net>
69533
69534         * lib/dirfd.h, getpagesize.h: Add copyright notice.
69535
69536 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69537
69538         * modules/strsep: New file.
69539
69540 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69541
69542         * m4/strsep.m4: New file.
69543
69544 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
69545
69546         * lib/strsep.h: New file.
69547         * lib/strsep.c: New file.
69548
69549 2004-10-01  Simon Josefsson  <jas@extundo.com>
69550
69551         * lib/snprintf.c (snprintf): Handle size==0.
69552
69553 2004-10-01  Simon Josefsson  <jas@extundo.com>
69554             Bruno Haible  <bruno@clisp.org>
69555
69556         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
69557         (snprintf): Declare 'args'.
69558
69559 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
69560
69561         * lib/snprintf.c: Remove comments as to why each header is needed.
69562
69563 2004-10-01  Bruno Haible  <bruno@clisp.org>
69564
69565         * MODULES.html.sh: Add strsep.
69566
69567 2004-09-30  Simon Josefsson  <jas@extundo.com>
69568
69569         * modules/snprintf: New file.
69570
69571 2004-09-30  Simon Josefsson  <jas@extundo.com>
69572
69573         * m4/snprintf.m4: New file.
69574
69575 2004-09-30  Simon Josefsson  <jas@extundo.com>
69576
69577         * lib/snprintf.h, lib/snprintf.c: New files.
69578
69579 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
69580
69581         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
69582         (hol_entry_help): Never translate an empty string.
69583         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
69584         * lib/argp.h (OPTION_NO_TRANS): New option.
69585
69586 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
69587
69588         * modules/argp (Maintainer): Replace Simon Josefsson
69589         by Sergey Poznyakoff.
69590
69591 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
69592
69593         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
69594         changes merged back into glibc.
69595
69596 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
69597
69598         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
69599
69600 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
69601
69602         * lib/xvasprintf.c: Include xalloc.h.
69603         (xvasprintf): Use xalloc_die, not xmalloc_die.
69604
69605 2004-09-29  Bruno Haible  <bruno@clisp.org>
69606
69607         * modules/alloca-opt: New file, derived from modules/alloca.
69608         * modules/allocsa: Depend on alloca-opt instead of alloca.
69609         * modules/setenv: Likewise.
69610         * modules/vasnprintf: Likewise.
69611         * MODULES.html.sh: Add alloca-opt.
69612
69613 2004-09-28  Simon Josefsson  <jas@extundo.com>
69614
69615         * gnulib-tool: New parameter --lgpl, to asseert that modules are
69616         LGPL, and to replace license template from GPL to LGPL.
69617
69618 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
69619
69620         * modules/dummy: Change license to LGPL.
69621
69622 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
69623
69624         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
69625
69626 2004-09-24  Simon Josefsson  <jas@extundo.com>
69627
69628         * modules/minmax (License): Change from GPL to LGPL.
69629
69630 2004-09-23  Simon Josefsson  <jas@extundo.com>
69631
69632         * gnulib-tool (--import): Typo.
69633
69634 2004-09-23  Simon Josefsson  <jas@extundo.com>
69635
69636         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
69637
69638 2004-09-22  Bruno Haible  <bruno@clisp.org>
69639
69640         * modules/*: Add 'License' field.
69641         * gnulib-tool: Accept --extract-license option.
69642         (func_get_license): New function.
69643
69644 2004-09-21  Bruno Haible  <bruno@clisp.org>
69645
69646         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
69647         Reported by Simon Josefsson.
69648
69649 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
69650
69651         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
69652         gl_AC_TYPE_LONG_LONG.
69653
69654 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
69655
69656         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
69657
69658 2004-09-18  Simon Josefsson  <jas@extundo.com>
69659         and  Paul Eggert  <eggert@cs.ucla.edu>
69660
69661         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
69662         calls with autoreconf.  Define GL_LIB.
69663
69664 2004-09-14  Karl Berry  <karl@gnu.org>
69665
69666         * config/srclist.txt: unsync setenv.c, sigh.
69667
69668 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
69669
69670         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
69671         Problem reported by Bruno Haible in:
69672         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
69673
69674 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
69675
69676         * config/srclist.txt: Comment out argp-pvh.c.
69677
69678 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
69679
69680         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
69681         in case some system header has #define'd it.  Problem reported by
69682         Soeren D. Schulze in
69683         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
69684
69685 2004-09-09  Karl Berry  <karl@gnu.org>
69686
69687         * regex.[ch]: delete from the root.  These were supposed to be
69688                 synced with emacs cvs, but this has not happened for about
69689                 a year, and anyway nothing else uses emacs regex.[ch].
69690                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
69691                 lib/regex[.ch] is untouched.
69692
69693 2004-09-09  Bruno Haible  <bruno@clisp.org>
69694
69695         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
69696
69697 2004-09-09  Bruno Haible  <bruno@clisp.org>
69698
69699         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
69700         modifications.
69701         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
69702
69703 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
69704
69705         * modules/xvasprintf: New file.
69706         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
69707
69708 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
69709
69710         * lib/xvasprintf.h: New file.
69711         * lib/xvasprintf.c: New file.
69712         * lib/xasprintf.c: New file.
69713
69714 2004-09-08  Bruno Haible  <bruno@clisp.org>
69715
69716         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
69717
69718 2004-09-08  Bruno Haible  <bruno@clisp.org>
69719
69720         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
69721         length is > INT_MAX.
69722         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
69723         more.
69724
69725 2004-09-08  Bruno Haible  <bruno@clisp.org>
69726
69727         * lib/stdint_.h: New file, taken from GNU clisp.
69728
69729 2004-09-08  Bruno Haible  <bruno@clisp.org>
69730             Oskar Liljeblad  <oskar@osk.mine.nu>
69731
69732         * modules/stdint: New file.
69733         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
69734
69735 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69736
69737         Import from coreutils.
69738         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
69739         strings on unbounded length.  alloca's performance benefits aren't
69740         that important here.
69741         (V_STRDUP): Remove.
69742         (parse_with_separator): New function, with most of the internals
69743         of the old parse_user_spec.  Allow user to omit both user and group,
69744         for compatibility with FreeBSD.
69745         Clone only the user name, not the entire spec.
69746         Do not set *uid, *gid unless entirely successful.
69747         Avoid memory leak in some failing cases.
69748         Fix regression for USER.GROUP reported by Dmitry V. Levin in
69749         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
69750         (parse_user_spec): Rewrite to use parse_with_separator.
69751
69752 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69753
69754         * modules/userspec: Don't depend on alloca.
69755
69756 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
69757
69758         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
69759
69760 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
69761
69762         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
69763         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
69764         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
69765
69766 2004-08-16  Simon Josefsson  <jas@extundo.com>
69767
69768         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
69769         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
69770         Add --dry-run for --import.
69771         Let user provided command line parameters override configure.ac
69772         settings.
69773
69774 2004-08-12  Simon Josefsson  <jas@extundo.com>
69775
69776         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
69777         as discussed with Paul Eggert in threads rooted at
69778         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
69779         and
69780         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
69781         Before, the test was empty, and relied on ELIDE_CODE in source
69782         code.)
69783         (gl_PREREQ_GETOPT): New macro.
69784         (gl_GETOPT): Use them.
69785
69786 2004-08-12  Simon Josefsson  <jas@extundo.com>
69787
69788         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
69789         * lib/getopt_.h: Renamed from getopt.h.
69790
69791 2004-08-12  Simon Josefsson  <jas@extundo.com>
69792
69793         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
69794         Change default library name from libfoo to libgnu.
69795         Now, if you have a configure.ac that says:
69796                 gl_SOURCE_BASE(gl)
69797                 gl_M4_BASE(gl/m4)
69798                 gl_MODULES(error getopt etcetera)
69799                 gl_INIT
69800         you can import all you need by running:
69801                 ../gnulib/gnulib-tool --import
69802
69803         * modules/getopt (Files): Rename getopt.h to getopt_.h.
69804         (Makefile.am): Rewrite, use logic from argz.
69805         (Include): Use <getopt.h> instead of "getopt.h".
69806
69807 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
69808
69809         * modules/argp (Files): Add m4/unlocked-io.m4.
69810         (Depends-on): Add extensions.
69811
69812 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
69813
69814         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
69815         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
69816         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
69817         Check for program_invocation_name, program_invocation_short_name,
69818         flockfile, funlockfile, features.h, _getopt_long_only_r.
69819
69820 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
69821
69822         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
69823         its complicated substitute.
69824         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
69825         and program_invocation_name.
69826         (__argp_basename) [!_LIBC]: Remove; the only use was
69827         replaced by its body.
69828         (__argp_short_program_name): Change condition from
69829         !defined __argp_short_program_name to
69830         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
69831         to match argp-namefrob.h.
69832         (__argp_failure): Don't assume strerror_r returns char *.
69833         * lib/argp-parse.c (N_): Define unconditionally.
69834         (argp_default_options): Fill out initializers with 0 to avoid
69835         gcc warnings.
69836
69837 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
69838
69839         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
69840         getopt1.c.
69841
69842 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
69843
69844         Merge from coreutils.
69845
69846         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
69847
69848         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
69849         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
69850
69851 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
69852
69853         Merge from coreutils.
69854
69855         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
69856         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
69857         for Reliant Unix 5.43.
69858
69859         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
69860         (union fooround): Use uintmax_t, not long int.
69861         The rest is a merge from libc:
69862         [defined _LIBC]: Include <shlib-compat.h>.
69863         (_obstack) [defined _LIBC]: Remove after 2.3.4.
69864
69865         * lib/settime.c (settime): Recode to avoid warning with
69866         Sun Forte C 6U2.
69867
69868         * lib/strverscmp.c: Convert to UTF-8.
69869
69870 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
69871
69872         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
69873         m4/uintmax_t.m4.
69874
69875 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69876
69877         * modules/xalloc-die: New file.
69878         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
69879
69880         * modules/md5 (Files): Add m4/uint32_t.m4.
69881         * modules/sha1: Renamed from modules/sha.
69882         (Files):
69883         Rename lib/sha.h to lib/sha1.h.
69884         Rename lib/sha.c to lib/sha1.c.
69885         Rename m4/sha.m4 to m4/sha1.m4.
69886         (lib_SOURCES): Likewise.
69887         (configure.ac): Rename gl_SHA to gl_SHA1.
69888         (Include): sha.h -> sha1.h.
69889
69890 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69891
69892         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
69893         * m4/sha1.m4: Renamed from sha.m4.
69894         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
69895
69896 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
69897
69898         * lib/obstack.h (obstack_empty_p):
69899         Don't assume that chunk->contents is suitably aligned.
69900         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
69901         Likewise. Problem reported by Benno in
69902         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
69903
69904         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
69905         readable.  This could be improved further but it'd take some work.
69906
69907 2004-08-08  Simon Josefsson  <jas@extundo.com>
69908
69909         * modules/xgethostname (Depends-on): Remove exit and error (not
69910         used).
69911
69912         * modules/getpass-gnu: Add getpass.h.
69913         (Depends-on): Add stdbool.
69914         * modules/getpass: Add getpass.h.
69915
69916 2004-08-08  Simon Josefsson  <jas@extundo.com>
69917
69918         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
69919         Check getpass declaration.
69920
69921 2004-08-08  Simon Josefsson  <jas@extundo.com>
69922
69923         * lib/xgethostname.c: Don't include error.h (not used).
69924
69925         * lib/getpass.h: Add.
69926         * lib/getpass.c: Include getpass.h first.
69927
69928 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
69929
69930         * lib/xalloc-die.c: New file.
69931         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
69932         All uses removed.
69933         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
69934         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
69935         xalloc-die.c.
69936         (_, N_, xalloc_die): Move to xalloc-die.c.
69937         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
69938         so that we needn't mess with xalloc_msg_memory_exhausted.
69939
69940         * lib/sha1.h: Renamed from sha.h.
69941         (SHA1_H): Renamed from _SHA_H.
69942         (sha1_ctx): Renamed from sha_ctx.
69943         (sha1_init_ctx): Renamed from sha_init_ctx.
69944         (sha1_process_block): Renamed from sha_process_block.
69945         (sha1_process_bytes): Renamed from sha_process_bytes.
69946         (sha1_finish_ctx): Renamed from sha_finish_ctx.
69947         (sha1_read_ctx): Renamed from sha_read_ctx.
69948         (sha1_stream): Renamed from sha_stream.
69949         (sha1_buffer): Renamed from sha_buffer.
69950         * lib/sha1.c: Likewise; renamed from sha.c.
69951         Do not include <sys/types.h>.
69952         Include <stddef.h> rather than <stdlib.h>.
69953
69954 2004-08-08  Bruno Haible  <bruno@clisp.org>
69955
69956         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
69957         FILESYSTEM_PREFIX_LEN.
69958         * lib/progreloc.c: Likewise.
69959         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
69960
69961 2004-08-06  Simon Josefsson  <jas@extundo.com>
69962
69963         * modules/progname (Depends-on): Don't depend on stdbool.
69964
69965 2004-08-06  Simon Josefsson  <jas@extundo.com>
69966
69967         * modules/getsubopt: New file.
69968         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
69969         getsubopt.
69970
69971 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
69972
69973         More merge from coreutils.
69974
69975         * m4/utimens.m4, m4/utimecmp.m4: New files.
69976         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
69977         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
69978         prereq.m4, sha.m4: Import changes from coreutils.
69979
69980 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
69981
69982         More merge from coreutils.
69983         * modules/raise, modules/readtokens0, modules/utimens:
69984         * modules/utimecmp, module/xnanosleep: New files.
69985         * modules/strftime: Add lib/strftime.h.
69986         Change include from <time.h> to "strftime.h".
69987         * modules/yesno: Add lib/yesno.h.
69988         * modules/backupfile: Remove lib/addext.c.
69989         * modules/euidaccess: Add stat-macros.h.
69990         * modules/canonicalize, modules/euidaccess,
69991         modules/filemode, modules/lchown, modules/makepath,
69992         modules/rmdir, modules/stat: Likewise.
69993
69994 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
69995
69996         Merge from tar.
69997         * lib/argp-help.c (make_hol, hol_append): Don't assume that
69998         SIZE_MAX is a valid preprocessor constant.
69999         (__argp_basename): Change from "#ifndef _LIBC"
70000         to "#ifndef __argp_short_program_name", so that
70001         we don't compile these functions for tar.
70002
70003         More merges from coreutils.
70004         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
70005         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
70006         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
70007         * lib/addext.c: Remove; no longer needed.
70008         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
70009         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
70010         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
70011         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
70012         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
70013         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
70014         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
70015         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
70016         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
70017         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
70018         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
70019         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
70020         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
70021         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
70022         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
70023         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
70024         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
70025         Import changes from coreutils.
70026
70027 2004-08-05  Simon Josefsson  <jas@extundo.com>
70028
70029         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
70030
70031 2004-08-05  Simon Josefsson  <jas@extundo.com>
70032
70033         * m4/getsubopt.m4: New file.
70034
70035 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
70036
70037         Merge from coreutils.
70038
70039         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
70040         * m4/getcwd-path-max.m4: New files.
70041
70042         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
70043         FILESYSTEM_PREFIX_LEN ->
70044         FILE_SYSTEM_PREFIX_LEN.
70045         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
70046         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
70047         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
70048         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
70049
70050         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
70051         prerequisite modules now handle the DOS stuff.
70052         Don't check for unistd.h.
70053
70054 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
70055
70056         Merge from coreutils.
70057
70058         * lib/.gdb-history: Remove; this doesn't belong here.
70059
70060         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
70061         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
70062         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
70063         * lib/getcwd.c: New files.
70064
70065         * lib/dirname.h: Include <stdbool.h>.
70066         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
70067         for consistency with POSIX terminology.  All uses changed.
70068         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
70069         (strip_trailing_slashes): Use bool for booleans.
70070         * lib/stripslash.c (strip_trailing_slashes): Likewise.
70071
70072         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
70073         sometimes returns a positive errno value even when it succeeds.
70074         (print_errno_message) [!LIBC]: Fall back on strerror if
70075         __strerror_r fails.
70076
70077         * lib/path-concat.c (mempcpy): Don't define if a system header defines
70078         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
70079         (longest_relative_suffix): New function.
70080         (path_concat): Use it.  Assume first argument is not NULL.
70081         Port to DOS.  Omit redundant separators.
70082         Report an error instead of returning NULL.
70083         Use mempcpy instead of memcpy.
70084         (xpath_concat): Remove: not declared or used.
70085
70086         * lib/same.h: Include <stdbool.h>
70087         (same_name): Return bool, not int.
70088         * lib/same.c (same_name): Likewise.
70089         (errno): Don't declare; we assume C89 or better now.
70090
70091         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
70092         if not already defined.
70093
70094         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
70095         * lib/dup-safer.c (errno): Likewise.
70096
70097 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
70098
70099         Merge from coreutils.
70100         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
70101         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
70102         * modules/path-concat: Don't depend on strdup.
70103
70104 2004-08-03  Simon Josefsson  <jas@extundo.com>
70105
70106         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
70107         * lib/progname.h: Don't include stdbool.h.
70108
70109 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
70110
70111         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
70112         * MODULES.html.sh (func_all_modules): Remove fatal.
70113
70114 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
70115
70116         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
70117
70118 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
70119
70120         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
70121         working.
70122
70123 2004-08-02  Simon Josefsson  <jas@extundo.com>
70124
70125         * lib/getsubopt.h: New file, with comments from Bruno Haible.
70126         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
70127         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
70128
70129 2004-08-01  Simon Josefsson  <jas@extundo.com>
70130
70131         * lib/xgetdomainname.c: Include stdlib.h, for free().
70132
70133 2004-07-19  Bruno Haible  <bruno@clisp.org>
70134
70135         * MODULES.html.sh (func_all_modules): Add dummy.
70136
70137 2004-07-16  Simon Josefsson  <jas@extundo.com>
70138
70139         * modules/dummy: New file.
70140
70141 2004-07-16  Simon Josefsson  <jas@extundo.com>
70142
70143         * lib/dummy.c: New file.
70144
70145 2004-07-16  Bruno Haible  <bruno@clisp.org>
70146
70147         * lib/backupfile.h: Add extern "C" for C++.
70148         * lib/closeout.h: Likewise.
70149         * lib/copy-file.h: Likewise.
70150         * lib/findprog.h: Likewise.
70151         * lib/full-write.h: Likewise.
70152         * lib/pathname.h: Likewise.
70153         * lib/progname.h: Likewise.
70154         * lib/stpcpy.h: Likewise.
70155         * lib/stpncpy.h: Likewise.
70156         * lib/strcase.h: Likewise.
70157         * lib/strstr.h: Likewise.
70158         * lib/xalloc.h: Likewise.
70159
70160         * lib/mbswidth.h: Add extern "C" for C++.
70161         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
70162
70163 2004-07-13  Robert Millan  <robertmh@gnu.org>
70164
70165         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
70166
70167 2004-07-09  Simon Josefsson  <jas@extundo.com>
70168
70169         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
70170         failed without this.)
70171
70172 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70173
70174         * modules/chown (Files): Add lib/fchown-stub.c, since
70175         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
70176
70177 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
70178
70179         * lib/fchown-stub.c: New file.
70180
70181 2004-06-24  Jim Meyering  <jim@meyering.net>
70182
70183         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
70184
70185 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70186
70187         * modules/argz: Omit "#include".
70188
70189         * MODULES.html.sh (func_all_modules): Add calloc, to match
70190         2004-06-01 addition of calloc module.
70191
70192 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70193
70194         * m4/argz.m4: New file, which is autoupdated from libtool.
70195
70196 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70197
70198         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
70199         libtool.
70200
70201 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
70202
70203         * config/srclist-update: Don't insist on "USA." before the
70204         close-comment, as libtool omits the period and puts the */ on a
70205         separate line.
70206         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
70207         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
70208
70209 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
70210
70211         * modules/argz: New file.
70212         * MODULES.html.sh (func_all_modules): Add argz.
70213
70214 2004-06-12  Jim Meyering  <jim@meyering.net>
70215         and  Paul Eggert  <eggert@cs.ucla.edu>
70216
70217         * modules/hash (Files): Add lib/xalloc.h.
70218         * modules/pipe (Depends-on): Add wait-process.
70219         * modules/stat (Depends-on): Add xalloc.
70220         * modules/userspec (Files): Add lib/userspec.h.
70221         * modules/xstrto
70222
70223         Upgrade from gettext-0.13.
70224         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
70225         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
70226         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
70227
70228 2004-06-10  Jim Meyering  <jim@meyering.net>
70229
70230         * lib/calloc.c: New file.
70231
70232 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
70233
70234         * lib/getdate.y (yylex): Allow space between sign and number.
70235         Problem reported by Dan Jacobson.
70236
70237 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
70238
70239         Merge from coreutils CVS.
70240
70241         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
70242         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
70243         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
70244         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
70245         xstrtol.m4: Fix copyright date and/or serial number.
70246
70247         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
70248         See if we need an fchown replacement.
70249         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
70250         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
70251         and use the replacement function if we detect either defect.
70252
70253         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
70254         gl_UTIMECMP.
70255
70256 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
70257         and  Jim Meyering  <jim@meyering.net>
70258
70259         Merge from coreutils CVS.
70260
70261         * lib/stat-macros.h: New file, with contents from file-type.h
70262         and coreutils' system.h.
70263         * lib/file-type.c: Include "stat-macros.h".
70264         * lib/file-type.h (file_type): Move all macro definitions to new file,
70265         stat-macros.h.
70266
70267         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
70268         Wrap old code with this conditional.
70269         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
70270         function that does not dereference symlinks.
70271         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
70272
70273         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
70274         dependency problems.
70275         (xreadlink): Accept new arg SIZE, for efficiency.
70276         All decls and uses changed.
70277         * lib/xreadlink.h: Include <stddef.h>, for size_t.
70278
70279         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
70280         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
70281
70282         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
70283         sysexits.h.
70284
70285 2004-06-01  Jim Meyering  <jim@meyering.net>
70286
70287         * m4/calloc.m4: New file.
70288
70289 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
70290
70291         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
70292         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
70293         Also, fix a typo in a diagnostic.
70294
70295 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
70296
70297         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
70298         or AC_FUNC_REALLOC.
70299
70300 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
70301
70302         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
70303         macros to be defined.
70304         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
70305         the allocator returns NULL because the requested size is zero.
70306
70307 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
70308
70309         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
70310         var.  Add comment explaining why libc still defines it.  This
70311         merges the following patch from glibc:
70312         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
70313
70314 2004-05-20  Andreas Schwab  <schwab@suse.de>
70315
70316         * m4/free.m4: Replace free if it not known to work, not the other
70317         way round.
70318
70319 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
70320
70321         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
70322         present in glibc since revision 1.1 of this file.
70323         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
70324         obstack_alignment_mask, obstack_alloc, obstack_base,
70325         obstack_blank, obstack_blank_fast, obstack_chunk_size,
70326         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
70327         obstack_grow0, obstack_init, obstack_int_grow,
70328         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
70329         obstack_next_free, obstack_object_size, obstack_ptr_grow,
70330         obstack_ptr_grow_fast, obstack_room): Remove declarations of
70331         nonexistent functions.
70332
70333 2004-05-18  Karl Berry  <karl@gnu.org>
70334
70335         * config/srclist.txt: break link for vasnprintf.c.
70336
70337 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
70338
70339         Port obstack to the AS/400, where pointers are 16 bytes wide and
70340         you cannot cast an integer to a valid pointer.  This patch is
70341         currently waiting to be integrated into glibc; see
70342         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
70343
70344         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
70345         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
70346         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
70347         (struct obstack): temp member is now a union of a pointer and
70348         an integer, instead of an integer.  All integer uses changed.
70349         This does not affect the physical layout of struct obstack,
70350         except on hosts (like the AS/400) where the size or alignment of
70351         void * is greater than that of ptrdiff_t.
70352         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
70353         __STDC__)]: Store temporary in pointer member of union, not
70354         integer member.
70355         * lib/obstack.c: Include <stddef.h>, for offsetof.
70356         (struct fooalign): Remove; it doesn't need a name.
70357         (union fooround): Change double to long double, and add void *.
70358         (DEFAULT_ALIGNMENT): Use offsetof to compute.
70359         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
70360         not a macro.  Hence the values are always int; so remove all
70361         casts-to-int in uses.
70362
70363 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
70364
70365         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
70366         we can get this patch merged into glibc.
70367
70368 2004-05-17  Derek R. Price  <derek@ximbiot.com>
70369             Paul Eggert  <eggert@cs.ucla.edu>
70370
70371         * m4/argp: Depend on alloca.
70372
70373 2004-05-17  Derek R. Price  <derek@ximbiot.com>
70374             Paul Eggert  <eggert@cs.ucla.edu>
70375
70376         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
70377         freecoding.
70378
70379 2004-05-17  Bruno Haible  <bruno@clisp.org>
70380
70381         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
70382         precision that consists of a '.' followed by an empty digit string.
70383         Patch by Tor Lillqvist <tml@iki.fi>.
70384
70385 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
70386
70387         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
70388         for backward compatibility with older code.  We need our own
70389         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
70390         it under some other name, and our alloca.h will define it.
70391
70392 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
70393             Derek Price  <derek@ximbiot.com>
70394
70395         * lib/alloca.c: Include <alloca.h>, to get our interface.
70396         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
70397         include <alloca.h> first.  Use C89 prototype for alloca; this
70398         requires including <stddef.h> for size_t.  Use extern "C" if C++.
70399         Use #elif for simplicity, since we can assume C89 now.
70400         Don't try to source the system alloca.h since it will not be found
70401         and to prevent recursively including its replacement.
70402         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
70403         * lib/regex.c: Likewise.
70404
70405 2004-05-16  Derek Price  <derek@ximbiot.com>
70406             Paul Eggert  <eggert@cs.ucla.edu>
70407
70408         getline cleanup.  This changes the getndelim2 API: both order of
70409         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
70410         no delimiter).
70411
70412         * lib/getline.c: Don't include stddef.h or stdio.h, since our
70413         interface does that.
70414         (getline): Always use getdelim, so that we don't have two
70415         copies of this code.
70416         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
70417         if available.
70418         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
70419         (GETNDELIM2_MAXIMUM): New macro.
70420         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
70421         instead of the old practice of delim2==0.  All callers changed.
70422         Return -1 on overflow, instead of returning junk.
70423         Do not set *linesize unless allocation succeeds.
70424         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
70425         that we include sys/types.h.
70426         * lib/getnline.h: Likewise.
70427         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
70428         (getndelim2): Reorder arguments.
70429         * lib/getnline.c (getnline, getndelim):
70430         Don't discard the NMAX argument.
70431         (getnline): Invoke getndelim, to avoid code duplication.
70432         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
70433         of (size_t) -1 by callers of the getnline family.
70434
70435 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
70436
70437         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
70438         Check for gettimeofday.
70439         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
70440         Check for settimeofday, stime.
70441
70442 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
70443
70444         * lib/nanosleep.c (suspended): Change its type from int to
70445         sig_atomic_t volatile.
70446         (first_call): Make it private to rpl_nanosleep, and have it
70447         be zero initially as that's a bit faster.
70448         (my_usleep): Round up fractional times instead of truncating them,
70449         as this is the usual meaning for 'sleep'.
70450
70451         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
70452         doesn't work.
70453         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
70454         (ENOSYS): Define if not defined.
70455         (settime): Fall back on stime if it exists and settimeofday fails.
70456         But don't bother with fallbacks if a method fails with errno == EPERM.
70457
70458 2004-05-11  Jim Meyering  <jim@meyering.net>
70459
70460         Prior to this change, the save_cwd caller required read access to the
70461         current directory on most systems (ones with the fchdir function).
70462
70463         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
70464         fails, try write-only, and finally, resort to using xgetcwd.
70465
70466 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
70467
70468         * lib/obstack.c, obstack.h: Import changes from libc.
70469
70470 2004-04-28  Bruno Haible  <bruno@clisp.org>
70471
70472         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
70473         also implicitly appends .exe to executables.
70474         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
70475         accepts Windows pathnames.
70476         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
70477         Treat Cygwin like Windows, since it now accepts Windows pathnames.
70478         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
70479         Treat Cygwin like Windows, since it now accepts Windows pathnames.
70480         Reported by Derek Robert Price <derek@ximbiot.com>.
70481
70482 2004-04-21  Karl Berry  <karl@gnu.org>
70483
70484         * config/srclist.txt (localcharset.c): break sync.
70485
70486 2004-04-20  Paul Eggert  <eggert@twinsun.com>
70487
70488         * m4/host-os.m4: Add a copyright notice.
70489
70490 2004-04-20  Jim Meyering  <jim@meyering.net>
70491
70492         Change UTILS_ to gl_ in AC_DEFINE'd names.
70493         Change utils_- and jm_-prefixed variables, too.
70494         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
70495         UTILS_FUNC_MKDIR_TRAILING_SLASH.
70496         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
70497
70498         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
70499         Don't emit trailing blanks.
70500         Also rename jm_-prefixed variables to have gl_ prefix.
70501
70502         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
70503         Also rename jm_-prefixed variables to have gl_ prefix.
70504
70505         * m4/jm-macros.m4: Reflect the renamings.
70506         * m4/prereq.m4: Likewise.
70507
70508 2004-04-20  Jim Meyering  <jim@meyering.net>
70509
70510         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
70511         memory.
70512
70513 2004-04-20  Jim Meyering  <jim@meyering.net>
70514             Bruno Haible  <bruno@clisp.org>
70515
70516         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
70517         memory when realloc fails.
70518
70519 2004-04-19  Jim Meyering  <jim@meyering.net>
70520
70521         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
70522         now that readutmp.c may call `free (0)'.
70523
70524 2004-04-19  Bruno Haible  <bruno@clisp.org>
70525
70526         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
70527         * m4/inttypes_h.m4: Likewise.
70528         * m4/stdint_h.m4: Likewise.
70529         * m4/intmax_t.m4: Likewise.
70530         * m4/uintmax_t.m4: Likewise.
70531
70532 2004-04-18  Jim Meyering  <jim@meyering.net>
70533
70534         * m4/prereq.m4: Don't forbid jm_ prefix.
70535
70536         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
70537         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
70538         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
70539         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
70540         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
70541         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
70542         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
70543         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
70544         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
70545         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
70546         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
70547         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
70548         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
70549         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
70550         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
70551         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
70552         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
70553         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
70554         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
70555
70556 2004-04-18  Jim Meyering  <jim@meyering.net>
70557
70558         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
70559         failure, don't leak memory and do call END_UTMP_ENT.
70560
70561 2004-04-16  Jim Meyering  <jim@meyering.net>
70562
70563         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
70564         coreutils' stat program.
70565         (gl_PREREQ): Don't require jm_PREREQ_STAT.
70566
70567 2004-04-11  Paul Eggert  <eggert@twinsun.com>
70568
70569         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
70570         C89.
70571         (CHAR_BIT): Remove, since we assume C89.
70572         Include <stdint.h> if available, as per current Autoconf CVS advice.
70573
70574 2004-03-31  Jim Meyering  <jim@meyering.net>
70575
70576         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
70577         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
70578         * m4/xalloc.m4: Likewise.
70579
70580 2004-03-30  Paul Eggert  <eggert@twinsun.com>
70581
70582         Merge from coreutils.
70583
70584         * m4/inttostr.m4: New file.
70585         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
70586         Require AM_STDBOOL_H and gl_TIMESPEC instead.
70587         Require gl_CLOCK_TIME.
70588         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
70589
70590 2004-03-30  Paul Eggert  <eggert@twinsun.com>
70591
70592         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
70593         not bool, to be more consistent with Unix conventions.
70594         Suggested by Bruno Haible.
70595
70596         Merge from coreutils.
70597
70598         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
70599         * lib/umaxtostr.c: New files.
70600
70601         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
70602         the usual <time.h> dance.
70603         (get_date): Change signature to support fractional time stamps.
70604         All callers changed.
70605         * lib/getdate.y: Include "getdate.h" first, as we can now
70606         assume C89 and don't need to worry about 'const'.
70607         Similarly, include "unlocked-io.h" near start, not in middle.
70608         Include <limits.h>.
70609         (textint.value): Use long int rather than int.
70610         (textint.digits): Use size_t rather than int.
70611         (BILLION, LOG10_BILLION): New constants.
70612         (parser_control): New member rel_ns.  Members day_ordinal,
70613         time_zone, month, day, hour, minutes, rel_year, rel_month,
70614         rel_day, rel_hour, rel_minutes, rel_seconds
70615         are now long int, not int.  Member seconds is now struct timespec,
70616         not int.  New member timespec_seen.  Members dates_seen, days_seen,
70617         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
70618         not int.
70619         (%union.intval): Now long int, not int.
70620         New member timespec.
70621         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
70622         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
70623         (spec): Now is a timespec or an item list.
70624         (timespec, items): New nonterminals.
70625         (time, rel, relunit, number, get_date):
70626         Add support for fractional seconds.
70627         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
70628         (gmtime, localtime, mktime): Remove decls; not needed with C89.
70629         (to_hour): First arg is now long int, not int.
70630         (to_year): Returns long int, not int.
70631         Don't treat year -70 like 70.
70632         (tm_diff): Returns long int, not int.
70633         (lookup_word): Use bool instead of int when appropriate.
70634         (yylex): Use size_t for count, not int.
70635         Detect overflow when parsing large integer constants.
70636         Add support for fractions.
70637         (get_date): Make pointers 'const' if possible.
70638         Use more-portable code to detect integer overflow.
70639         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
70640         Don't use ctime; it's not reliable if the year has >4 digits.
70641
70642         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
70643         This is for compatibility with BSD.
70644
70645         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
70646         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
70647         From coreutils' system.h.
70648
70649         * lib/userspec.c: Don't include "posixver.h".
70650         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
70651         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
70652         compatible extension.  Simplify code by removing a boolean int
70653         that was always nonzero if a string was nonnull.
70654
70655 2004-03-30  Jim Meyering  <jim@meyering.net>
70656
70657         Merge from coreutils.
70658
70659         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
70660         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
70661         on some systems one must include <grp.h> before it.
70662         Reported by Christian Krackowizer.
70663
70664 2004-03-30  Jim Meyering  <jim@meyering.net>
70665
70666         Merge from coreutils.
70667
70668         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
70669
70670         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
70671         an empty input stream.
70672
70673         * lib/readtokens.c: Include <stdbool.h>.
70674         (readtoken): Use `size_t' rather than int/long.
70675         All callers adjusted.
70676         Use `bool' rather than `int' where appropriate.
70677         Use memset rather than an explicit loop.
70678         Use x2nrealloc rather than xrealloc.
70679         Allow the use of `\0' as a delimiter.
70680         (readtokens): Likewise.
70681         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
70682
70683 2004-03-30  Jim Meyering  <jim@meyering.net>
70684
70685         * m4/realloc.m4: Remove file, since now it does no more than
70686         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
70687         the `configure.ac' section of module/realloc.
70688         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
70689
70690 2004-03-30  Bruno Haible  <bruno@clisp.org>
70691
70692         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
70693         nonnull.
70694
70695 2004-03-29  Paul Eggert  <eggert@twinsun.com>
70696
70697         Merge changes to getloadavg.c from coreutils and Emacs.
70698
70699         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
70700         Define to an expression, not to the empty string.
70701         Include cloexec.h and xalloc.h.
70702         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
70703         Use set_cloexec_flag rather than rolling our own.
70704         * lib/cloexec.c, lib/cloexec.h: New files.
70705
70706 2004-03-29  Paul Eggert  <eggert@twinsun.com>
70707
70708         * m4/cloexec.m4: New file.
70709
70710 2004-03-18  Paul Eggert  <eggert@twinsun.com>
70711
70712         * lib/getopt.h: Sync with libc CVS.
70713
70714 2004-03-18  Paul Eggert  <eggert@twinsun.com>
70715             Bruno Haible  <bruno@clisp.org>
70716
70717         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
70718         mbswidth.
70719
70720 2004-03-18  Paul Eggert  <eggert@twinsun.com>
70721             Bruno Haible  <bruno@clisp.org>
70722
70723         * lib/mbswidth.h: Include <wchar.h> only if
70724         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
70725         <wchar.h>.
70726         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
70727
70728 2004-03-09  Paul Eggert  <eggert@twinsun.com>
70729
70730         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
70731         Sync with libc CVS.
70732         * lib/getopt_int.h: New file, also synced from libc.
70733
70734 2004-03-09  Paul Eggert  <eggert@twinsun.com>
70735
70736         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
70737         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
70738         Bring back getopt.c, getopt.h, getopt1.c.
70739
70740 2004-03-07  Paul Eggert  <eggert@twinsun.com>
70741
70742         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
70743         All uses changed.  Check for sa_sigaction member; this fixes
70744         a bug first reported by Jason Andrade in
70745         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
70746
70747 2004-03-07  Paul Eggert  <eggert@twinsun.com>
70748
70749         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
70750         '#if' expressions.  Unlike the code it replaces, it does not
70751         depend on (defined _SC_PAGESIZE).  However, it does depend on
70752         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
70753         first reported by Jason Andrade in
70754         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
70755
70756 2004-02-25  Simon Josefsson  <jas@extundo.com>
70757
70758         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
70759
70760 2004-02-25  Simon Josefsson  <jas@extundo.com>
70761
70762         * lib/strdup.h: New file.
70763         * lib/strdup.c: Include it.
70764         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
70765         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
70766
70767 2004-02-23  Karl Berry  <karl@gnu.org>
70768
70769         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
70770         (from fencepost.gnu.org:/gd/gnuorg).
70771
70772 2004-02-23  Karl Berry  <karl@gnu.org>
70773
70774         * config/srclistvars.sh (GNUORG) [karl]: redefine.
70775         * config/srclist.txt: add maintain/standards documents.
70776
70777 2004-02-18  Bruno Haible  <bruno@clisp.org>
70778
70779         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
70780         Reported by Derek Robert Price <derek@ximbiot.com>.
70781
70782 2004-02-16  Karl Berry  <karl@gnu.org>
70783
70784         * config/mkinstalldirs, install-sh: update from automake.
70785
70786 2004-02-06  Karl Berry  <karl@gnu.org>
70787
70788         * m4/po.m4: update from gettext 0.14.1.
70789
70790 2004-02-06  Karl Berry  <karl@gnu.org>
70791
70792         * lib/config.charset: update from gettext 0.14.1.
70793
70794 2004-02-05  Paul Eggert  <eggert@twinsun.com>
70795
70796         Add comments and code, prompted by suggestions from Bruno Haible
70797         for sh-quote.
70798         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
70799         describing the enum quoting_style values.
70800         * lib/quotearg.c (quotearg_alloc): New function.
70801         (quotearg_buffer_restyled): Treat lone { and } as special.
70802         Treat = as special.  Work around bug with older shells
70803         that "see" a '\' that is really the 2nd byte of a multibyte char.
70804         Quote empty string with shell_quoting_style.
70805
70806 2004-02-03  Bruno Haible  <bruno@clisp.org>
70807
70808         * m4/pipe.m4: New file, from GNU gettext.
70809
70810 2004-02-03  Bruno Haible  <bruno@clisp.org>
70811
70812         * lib/pipe.h: New file, from GNU gettext.
70813         * lib/pipe.c: New file, from GNU gettext.
70814
70815 2004-01-27  Bruno Haible  <bruno@clisp.org>
70816
70817         * m4/execute.m4: New file, from GNU gettext.
70818
70819 2004-01-27  Bruno Haible  <bruno@clisp.org>
70820
70821         * lib/execute.h: New file, from GNU gettext.
70822         * lib/execute.c: New file, from GNU gettext.
70823         * lib/w32spawn.h: New file, from GNU gettext.
70824
70825 2004-01-24  Paul Eggert  <eggert@twinsun.com>
70826
70827         Merge from diffutils.
70828
70829         * lib/file-type.c (file_type): Add typed memory objects.
70830         * lib/file-type.h (S_TYPEISTMO): New macro.
70831
70832         * lib/c-stack.h (c_stack_action): Remove argv argument.
70833         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
70834         (die): Don't calculate message unless segv_action returns.
70835         (get_stack_location, min_address_from_argv, max_address_from_argv,
70836         volatile stack_base, volatile_stack_size): Remove.
70837         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
70838         that every segmentation violation is a stack overflow.  (Ouch!)
70839         See Debian bug 136249 (still outstanding) for more info about why
70840         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
70841
70842 2004-01-24  Paul Eggert  <eggert@twinsun.com>
70843
70844         Exit-status fix from coreutils.
70845
70846         Use exit_failure consistently in place of EXIT_FAILURE,
70847         so that program exit statuses are consistent on failure.
70848
70849         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
70850         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
70851         * lib/argmatch.h: Comment fix to match the above.
70852         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
70853         Now a macro referring to exit_failure, instead of a separate
70854         variable.  Include "exitfail.h" to get it.
70855         * lib/xstrtol.h: Include "exitfail.h".
70856         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
70857
70858         * lib/long-options.c (parse_long_options): Use prototype
70859         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
70860         for clarity.
70861
70862 2004-01-21  Jim Meyering  <jim@meyering.net>
70863
70864         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
70865         so as not to conflict with a different-sized __mktime_internal
70866         function in GNU libc.
70867         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
70868         Problem building statically-linked `ls' reported by Michael Brunnbauer.
70869
70870 2004-01-20  Karl Berry  <karl@gnu.org>
70871
70872         * config/config.guess: update from config.
70873
70874         * config/srclistvars.sh: GNUWWWLICENSES for karl.
70875
70876 2004-01-20  Bruno Haible  <bruno@clisp.org>
70877
70878         Safer stack allocation.
70879         * lib/setenv.c: Include allocsa.h.
70880         (alloca): Remove fallback definition.
70881         (freea): Remove macro.
70882         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
70883         instead of freea.
70884
70885 2004-01-20  Bruno Haible  <bruno@clisp.org>
70886
70887         * m4/eealloc.m4: New file, from GNU gettext.
70888
70889 2004-01-20  Bruno Haible  <bruno@clisp.org>
70890
70891         * m4/allocsa.m4: New file, from GNU gettext.
70892
70893 2004-01-20  Bruno Haible  <bruno@clisp.org>
70894
70895         * lib/xallocsa.h: New file, from GNU gettext.
70896         * lib/xallocsa.c: New file, from GNU gettext.
70897
70898 2004-01-20  Bruno Haible  <bruno@clisp.org>
70899
70900         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
70901
70902 2004-01-20  Bruno Haible  <bruno@clisp.org>
70903
70904         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
70905         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
70906         specially.
70907
70908 2004-01-20  Bruno Haible  <bruno@clisp.org>
70909
70910         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
70911         patch.
70912
70913 2004-01-20  Bruno Haible  <bruno@clisp.org>
70914
70915         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
70916
70917 2004-01-20  Bruno Haible  <bruno@clisp.org>
70918
70919         * lib/eealloc.h: New file.
70920
70921 2004-01-20  Bruno Haible  <bruno@clisp.org>
70922
70923         * lib/binary-io.h: Avoid warnings on Cygwin.
70924
70925 2004-01-20  Bruno Haible  <bruno@clisp.org>
70926
70927         * lib/allocsa.h: New file, from GNU gettext.
70928         * lib/allocsa.c: New file, from GNU gettext.
70929
70930 2004-01-18  Karl Berry  <karl@gnu.org>
70931
70932         * doc/gpl.texi, doc/lgpl.texi: new files.
70933
70934 2004-01-18  Karl Berry  <karl@gnu.org>
70935
70936         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
70937         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
70938
70939 2004-01-15  Paul Eggert  <eggert@twinsun.com>
70940
70941         Merge from coreutils.
70942
70943         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
70944         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
70945         (gl_DEFAULT_POSIX2_VERSION): Move
70946         the documentation from 'configure' into 'config.hin',
70947         so that 'configure --help' isn't burdened by it and
70948         we don't have to worry about its formatting there.
70949         Reword the documentation so that it's more succinct
70950         and can be run together into a single paragraph.
70951         * m4/same.m4 (gl_SAME): Check for pathconf.
70952
70953 2004-01-15  Paul Eggert  <eggert@twinsun.com>
70954
70955         Merge from coreutils.
70956
70957         * lib/posixver.c: Include posixver.h.
70958
70959         * lib/same.c: Include <stdbool.h>, <limits.h>.
70960         (_POSIX_NAME_MAX): Define if not defined.
70961         (MIN): New macro.
70962         (same_name): If file names are silently truncated, report
70963         that the file names are the same if they are the same after
70964         the silent truncation.
70965
70966         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
70967         conversion function.
70968         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
70969         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
70970         longer needed.
70971
70972 2004-01-15  Jim Meyering  <jim@meyering.net>
70973
70974         Merge from coreutils.
70975
70976         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
70977         if no library is required.
70978         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
70979         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
70980         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
70981         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
70982         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
70983         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
70984         value, $ac_cv_search_crypt, if it's "none required".
70985         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
70986         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
70987         not gl_FUNC_GETLOADAVG.
70988         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
70989         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
70990
70991 2004-01-15  Jim Meyering  <jim@meyering.net>
70992
70993         Merge from coreutils.
70994
70995         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
70996         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
70997         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
70998
70999         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
71000         optional configure-time default.
71001
71002         * lib/version-etc.c (version_etc_copyright): Update copyright date.
71003
71004         * lib/xreadlink.c (xreadlink): Correct outdated comment.
71005
71006 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
71007
71008         Merge from coreutils.
71009
71010         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
71011         value, $ac_cv_search_nanosleep, if it's "none required".
71012
71013 2004-01-14  Paul Eggert  <eggert@twinsun.com>
71014
71015         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
71016         with like-named macro in fnmatch.c.
71017         (EXT): Use an internal constant instead.
71018
71019         Merge fnmatch patches from glibc.
71020         * lib/fnmatch.c (mbsinit): Remove define.
71021         Add libc_hidden_ver (__fnmatch, fnmatch).
71022         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
71023         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
71024
71025 2004-01-14  Karl Berry  <karl@gnu.org>
71026
71027         * config/install-sh: update from automake.
71028
71029 2004-01-13  Karl Berry  <karl@gnu.org>
71030
71031         * config/install-sh: update from automake.
71032
71033 2004-01-09  Karl Berry  <karl@gnu.org>
71034
71035         * config/install-sh: update from automake.
71036
71037 2004-01-05  Karl Berry  <karl@gnu.org>
71038
71039         * config/config.{sub,guess}: update from config.
71040
71041 2003-12-31  Karl Berry  <karl@gnu.org>
71042
71043         * config/depcomp: update from automake.
71044
71045 2003-12-14  Karl Berry  <karl@gnu.org>
71046
71047         * lib/config.charset: update from gettext-runtime.
71048
71049 2003-12-03  Paul Eggert  <eggert@twinsun.com>
71050
71051         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
71052         Bug reported by Alfred M. Szmidt.
71053
71054 2003-12-03  Bruno Haible  <bruno@clisp.org>
71055
71056         * m4/gettext.m4: Upgrade from gettext-0.13.
71057         * m4/po.m4: Upgrade from gettext-0.13.
71058         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
71059         * m4/intmax.m4: New file, from gettext-0.13.
71060         * m4/printf-posix.m4: New file, from gettext-0.13.
71061
71062 2003-11-29  Karl Berry  <karl@gnu.org>
71063
71064         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
71065
71066 2003-11-25  Paul Eggert  <eggert@twinsun.com>
71067             Bruno Haible  <bruno@clisp.org>
71068
71069         * lib/printf-parse.h: Don't include sys/types.h.
71070         (ARG_NONE): New macro.
71071         (char_directive): Change type of *arg_index fields to size_t.
71072         * lib/printf-parse.c: Don't include sys/types.h.
71073         (SSIZE_MAX): Remove macro.
71074         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
71075         Remove unnecessary overflow check.
71076         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
71077         fields.
71078
71079 2003-11-25  Bruno Haible  <bruno@clisp.org>
71080
71081         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
71082
71083 2003-11-25  Bruno Haible  <bruno@clisp.org>
71084
71085         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
71086         gt_TYPE_SSIZE_T.
71087
71088 2003-11-24  Paul Eggert  <eggert@twinsun.com>
71089
71090         * modules/alloca: Remove dependency on xalloc.
71091
71092 2003-11-24  Paul Eggert  <eggert@twinsun.com>
71093
71094         * lib/alloca.c: Remove dependency on xalloc module.
71095         (xalloc_die): Remove.
71096         (memory_full) [!defined emacs]: New macro.
71097         [!defined emacs]: Don't include xalloc.h.
71098         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
71099         address arithmetic overflows.  Change datatypes a bit to avoid
71100         unnecessary casts.
71101
71102 2003-11-22  Jim Meyering  <jim@meyering.net>
71103
71104         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
71105         s/size/size_t/.
71106
71107 2003-11-21  Karl Berry  <karl@gnu.org>
71108
71109         * config/config.{sub,guess}: update from config.
71110
71111 2003-11-18  Karl Berry  <karl@gnu.org>
71112
71113         * config/config.{sub,guess}: update from config.
71114
71115         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
71116
71117 2003-11-17  Paul Eggert  <eggert@twinsun.com>
71118
71119         * README: Mention that S+T cannot overflow if S is the size of
71120         an existing object and T is sufficiently small.
71121
71122 2003-11-17  Jim Meyering  <jim@meyering.net>
71123
71124         On systems without utime and without a utimes function capable of
71125         dealing with a NULL struct utimbuf* argument, this utime replacement
71126         could -- in unusual circumstances -- leak a file descriptor.
71127         * lib/utime.c: Include <unistd.h> and <errno.h>.
71128         (utime_null): Be sure to close `fd' and to preserve errno.
71129         Reported by Geoff Collyer via Arnold Robbins.
71130
71131 2003-11-17  Bruno Haible  <bruno@clisp.org>
71132
71133         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
71134         (Depends-on): Add xsize.
71135
71136 2003-11-17  Bruno Haible  <bruno@clisp.org>
71137
71138         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
71139
71140 2003-11-17  Bruno Haible  <bruno@clisp.org>
71141
71142         * lib/vasnprintf.c (alloca): Remove fallback definition.
71143         (freea): Remove definition.
71144         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
71145         Reported by Paul Eggert.
71146
71147 2003-11-16  Paul Eggert  <eggert@twinsun.com>
71148             Bruno Haible  <bruno@clisp.org>
71149
71150         Protect against address arithmetic overflow.
71151         * lib/printf-args.h: Include stddef.h.
71152         (arguments): Change type of field 'count' to size_t.
71153         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
71154         'unsigned int' where appropriate.
71155         * lib/printf-parse.h: Include sys/types.h.
71156         (char_directive): Change type of *arg_index fields to ssize_t.
71157         (char_directives): Change type of fields 'count', max_*_length to
71158         size_t.
71159         * lib/printf-parse.c: Include sys/types.h and xsize.h.
71160         (SSIZE_MAX): Define fallback value.
71161         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
71162         instead of 'int' where appropriate. Check a_allocated, d_allocated
71163         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
71164         * lib/vasnprintf.c: Include xsize.h.
71165         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
71166         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
71167         overflow. Avoid wraparound when converting a width or precision from
71168         decimal to binary.
71169
71170 2003-11-16  Bruno Haible  <bruno@clisp.org>
71171
71172         Update from GNU gettext.
71173         * lib/printf-parse.c: Generalize to it can be compiled for wide
71174         strings.
71175         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
71176         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
71177         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
71178         SNPRINTF): New macros.
71179         Don't include <alloca.h> if the file is used inside libintl.
71180         (local_wcslen): New function, for Solaris 2.5.1.
71181         (VASNPRINTF): Use it instead of wcslen.
71182
71183 2003-11-16  Bruno Haible  <bruno@clisp.org>
71184
71185         * lib/xsize.h (xmax): New function.
71186         (xsum, xsum3, xsum4): Declare as "pure" functions.
71187
71188 2003-11-12  Paul Eggert  <eggert@twinsun.com>
71189
71190         * modules/xalloc (Files): Undo latest change, since xalloc.h
71191         no longer needs SIZE_MAX or PTRDIFF_MAX.
71192
71193 2003-11-12  Paul Eggert  <eggert@twinsun.com>
71194
71195         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
71196         gl_PTRDIFF_MAX.
71197
71198 2003-11-12  Paul Eggert  <eggert@twinsun.com>
71199
71200         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
71201         "return", to pacify some unknown compiler.  Problem reported
71202         by Joerg Schilling.
71203
71204 2003-11-12  Paul Eggert  <eggert@twinsun.com>
71205
71206         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
71207         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
71208         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
71209         heuristic is just as accurate as far as we know, and it removes a
71210         dependency on size_max.m4 and ptrdiff_max.m4.
71211
71212 2003-11-11  Bruno Haible  <bruno@clisp.org>
71213
71214         * modules/xsize (Files): Add m4/size_max.m4.
71215         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
71216
71217 2003-11-11  Bruno Haible  <bruno@clisp.org>
71218
71219         * m4/size_max.m4: New file.
71220         * m4/ptrdiff_max.m4: New file.
71221         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
71222         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
71223         (gl_XALLOC): Invoke it.
71224
71225 2003-11-11  Bruno Haible  <bruno@clisp.org>
71226
71227         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
71228         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
71229         defined.
71230
71231 2003-11-10  Paul Eggert  <eggert@twinsun.com>
71232
71233         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
71234         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
71235         rejected some allocations of exactly SIZE_MAX - 2 bytes.
71236         From Bruno Haible.
71237         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
71238         not (size_t) -1, since it's defined here.
71239
71240 2003-11-09  Karl Berry  <karl@gnu.org>
71241
71242         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
71243
71244 2003-11-06  Paul Eggert  <eggert@twinsun.com>
71245
71246         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
71247         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
71248         Reject sizes of exactly SIZE_MAX bytes.
71249         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
71250         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
71251
71252 2003-11-05  Bruno Haible  <bruno@clisp.org>
71253
71254         * lib/xsize.h: Include limits.h, to avoid a possible collision with
71255         SIZE_MAX defined in <limits.h> on Solaris.
71256
71257 2003-11-04  Jim Meyering  <jim@meyering.net>
71258
71259         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
71260         variable names, rather than @VAR@.
71261         * modules/poll: Likewise.
71262
71263 2003-11-04  Bruno Haible  <bruno@clisp.org>
71264
71265         * modules/xsize: New file.
71266         * modules/linebreak: Depend on xsize.
71267         * MODULES.html.sh (func_all_modules): Add xsize.
71268
71269 2003-11-04  Bruno Haible  <bruno@clisp.org>
71270
71271         * m4/xsize.m4: New file.
71272
71273 2003-11-04  Bruno Haible  <bruno@clisp.org>
71274
71275         * lib/xsize.h: New file.
71276         * lib/linebreak.c: Include xsize.h.
71277         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
71278         argument for overflow.
71279         Suggested by Paul Eggert.
71280
71281 2003-11-03  Karl Berry  <karl@gnu.org>
71282
71283         * config/config.{guess,sub}: update from config.
71284
71285 2003-11-03  Jim Meyering  <jim@meyering.net>
71286
71287         * modules/userspec (lib_SOURCES): Add userspec.h.
71288         (Include): Add "userspec.h".
71289         Improve description.
71290
71291 2003-11-03  Jim Meyering  <jim@meyering.net>
71292
71293         * lib/userspec.c: Include "userspec.h".
71294         * lib/userspec.h: New file.
71295
71296 2003-11-03  Bruno Haible  <bruno@clisp.org>
71297
71298         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
71299
71300 2003-11-03  Bruno Haible  <bruno@clisp.org>
71301
71302         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
71303         available, to avoid (extremely rare) race condition.
71304         Suggested by Paul Eggert.
71305
71306 2003-11-02  Karl Berry  <karl@gnu.org>
71307
71308         * config/srclist.txt (vasprintf.c): sync broken, sigh.
71309
71310 2003-10-31  Paul Eggert  <eggert@twinsun.com>
71311
71312         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
71313         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
71314         (read_filesystem_list): Set and use me_type_malloced.
71315         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
71316         whatever the type happens to be), for brevity and consistency.
71317         Check for size calculation overflow on Alphas running OSF/1.
71318
71319 2003-10-31  Jim Meyering  <jim@meyering.net>
71320
71321         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
71322
71323         * lib/linebuffer.c: Include <string.h> for declaration of memset.
71324
71325 2003-10-30  Paul Eggert  <eggert@twinsun.com>
71326             Bruno Haible  <bruno@clisp.org>
71327
71328         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
71329         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
71330
71331 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
71332
71333         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
71334         netbsd*-gnu*.  Suggested by Robert Millan.
71335
71336 2003-10-29  Paul Eggert  <eggert@twinsun.com>
71337
71338         * modules/group-member: Depend on stdbool.
71339
71340 2003-10-29  Paul Eggert  <eggert@twinsun.com>
71341
71342         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
71343
71344 2003-10-29  Paul Eggert  <eggert@twinsun.com>
71345
71346         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
71347         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
71348         after the 'gnu' in these cases.  This fixes some bugs in the
71349         previous change, and is based on suggestions by Robert Millan.
71350
71351 2003-10-29  Paul Eggert  <eggert@twinsun.com>
71352
71353         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
71354         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
71355         no longer needed.
71356         * lib/quotearg.c (quotearg_n_options): Use it.
71357         * lib/group-member.c: Include <stdbool.h>.
71358         (free_group_info): Arg is now const *; don't free arg.
71359         (get_group_info): Now returns bool and accepts struct group_info *,
71360         rather than returning a malloc'ed struct group_info *.
71361         All uses changed.  Check for overflow in internal size calculation.
71362
71363         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
71364         rather than xmalloc/xrealloc.
71365         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
71366         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
71367         conformance bug: the old code used a pointer after freeing the
71368         storage that it addressed.
71369         * lib/hash.c (hash_initialize): Simplify the code by using
71370         xalloc_oversized rather than doing it by hand.
71371         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
71372         the buffer preserved.  Use free and xmalloc instead.
71373         * lib/quotearg.c (quotearg_n_options): Likewise.
71374         Use a simpler test for size overflow.  Don't use xalloc_oversized
71375         because unsigned int might be wider than size_t (!); this suggests
71376         that we should switch from unsigned int to size_t for slot numbers.
71377
71378 2003-10-28  Paul Eggert  <eggert@twinsun.com>
71379
71380         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
71381         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
71382         NetBSD kernels.  Requested by Richard Stallman.
71383
71384 2003-10-27  Paul Eggert  <eggert@twinsun.com>
71385
71386         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
71387         to allocate the returned structure.  Do not allocate a subarray,
71388         as x2nrealloc will do that.
71389         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
71390         instead of xnrealloc.
71391         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
71392
71393 2003-10-27  Bruno Haible  <bruno@clisp.org>
71394
71395         * lib/stdbool_.h: Better support for BeOS.
71396
71397 2003-10-26  Paul Eggert  <eggert@twinsun.com>
71398
71399         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
71400         now uses inline.
71401
71402 2003-10-26  Paul Eggert  <eggert@twinsun.com>
71403
71404         * lib/xalloc.h (xalloc_oversized): New static inline function, for
71405         callers that want to do their own size-overflow checking.  Include
71406         <stdbool.h>, since xalloc_oversized returns bool.
71407         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
71408         to use xalloc_oversized.
71409
71410         Add two functions x2realloc, x2nrealloc, for programs that grow
71411         arrays dynamically by doubling their sizes.
71412         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
71413         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
71414         New functions.
71415
71416         Port to C99 semantics for 'inline' of external functions.
71417         Bug reported by Bruno Haible.
71418         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
71419         with the old contents of xnmalloc.
71420         (xnmalloc, xmalloc): Use it.
71421         (xnrealloc_inline): New static inline function,
71422         with the old contents of xnrealloc.
71423         (xnrealloc, xrealloc): Use it.
71424
71425         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
71426         that.
71427
71428 2003-10-26  Karl Berry  <karl@gnu.org>
71429
71430         * config/srclist.txt (COPYING.DOC): no longer available from
71431         /gd/gnuorg; don't know where the ultimate source is.
71432
71433 2003-10-25  Paul Eggert  <eggert@twinsun.com>
71434
71435         Fix several address-calculation bugs in the hash modules,
71436         plus some minor code cleanup.
71437
71438         * lib/hash.h: Include <stdbool.h>, for bool.
71439         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
71440         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
71441         hash_get_n_entries, hash_get_max_bucket_length,
71442         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
71443         hash_rehash): Use size_t rather than unsigned.
71444         * lib/hash.c (struct hash_table, hash_get_n_buckets,
71445         hash_get_n_buckets_used, hash_get_n_entries,
71446         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
71447         hash_get_entries, hash_do_for_each, hash_string, is_prime,
71448         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
71449         Likewise.
71450         (SIZE_MAX): Define if not defined.
71451         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
71452         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
71453         hash_print):
71454         Use const * when possible.
71455         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
71456         (check_tuning): Fix bug: if tuning parameters were very close to
71457         0 or 1, rounding errors could have caused subscript violations.
71458         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
71459         (hash_initialize): Add 'fail:' label
71460         to free table and return NULL, and use it to simplify code.
71461         Use calloc rather than clearing the storage ourself.
71462         (hash_initialize, hash_rehash): Check for arithmetic overflow in
71463         buffer size calculations.
71464         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
71465         Include <stddef.h>, for size_t.
71466         * lib/hash-pjw.c (hash_pjw): Likewise.
71467         Switch to method described by Bruno Haible.
71468         Include <limits.h>, for CHAR_BIT.
71469         (SIZE_BITS): New macro.
71470
71471 2003-10-23  Paul Eggert  <eggert@twinsun.com>
71472
71473         * m4/getline.m4 (AM_FUNC_GETLINE):
71474         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
71475         hosts.  Problem reported by Derek Robert Price in
71476         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
71477         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
71478         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
71479
71480 2003-10-21  Paul Eggert  <eggert@twinsun.com>
71481
71482         * lib/getndelim2.c (getndelim2): When size calculation overflows,
71483         ceiling the allocation at NMAX bytes rather than silently
71484         discarding input bytes before NMAX is reached.  This makes
71485         a difference only if NMAX exceeds SIZE_MAX / 2.
71486
71487         * lib/obstack.c: Merge from glibc.
71488         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
71489         Add libc_hidden_def (_obstack_newchunk).
71490         (_obstack_free) [! defined _LIBC]: Remove.
71491         [defined _LIBC]: Make a strong alias from obstack_free, rather than
71492         a clone of the function body.
71493         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
71494         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
71495
71496         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
71497         glibc.
71498         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
71499         arg to memcpy.
71500
71501         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
71502         (obstack_ptr_grow_fast, obstack_int_grow_fast):
71503         Don't use lvalue casts, as GCC plans to remove support for them
71504         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
71505         was also present in the non-GCC version, indicating that this
71506         code had always been buggy and had never been widely used.
71507         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
71508         Use the fast variant of each macro, rather than copying the
71509         definiens of the fast variant; that way, we'll be more likely to
71510         catch future bugs in the fast variants.
71511
71512 2003-10-20  Bruno Haible  <bruno@clisp.org>
71513
71514         * modules/wait-process: New file.
71515         * MODULES.html.sh (func_all_modules): Add wait-process.
71516
71517 2003-10-20  Bruno Haible  <bruno@clisp.org>
71518
71519         * m4/wait-process.m4: New file.
71520
71521 2003-10-20  Bruno Haible  <bruno@clisp.org>
71522
71523         * lib/wait-process.h: New file, from GNU gettext.
71524         * lib/wait-process.c: New file, from GNU gettext.
71525
71526 2003-10-19  Jim Meyering  <jim@meyering.net>
71527
71528         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
71529         HPUX 10.20.
71530
71531 2003-10-18  Karl Berry  <karl@gnu.org>
71532
71533         * config/config.guess: update from config.
71534
71535 2003-10-16  Paul Eggert  <eggert@twinsun.com>
71536
71537         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
71538         (getgroups): First arg is int, not size_t.
71539         Don't let 'free' mangle errno.
71540
71541 2003-10-16  Paul Eggert  <eggert@twinsun.com>
71542
71543         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
71544
71545 2003-10-16  Karl Berry  <karl@gnu.org>
71546
71547         * config/config.{guess,sub}: update from config.
71548
71549 2003-10-16  Jim Meyering  <jim@meyering.net>
71550
71551         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
71552         memcpy.
71553
71554 2003-10-15  Paul Eggert  <eggert@twinsun.com>
71555
71556         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
71557         (SIZE_MAX): Remove.
71558         (new_exclude, add_exclude_file): Initial size no longer needs to
71559         be a power of 2.
71560         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
71561         our own address arithmetic overflow checking.
71562
71563         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
71564         (fnmatch): Do not alloca more than 2000 wide characters;
71565         instead, use malloc for large buffers.
71566         Check for address arithmetic overflow, and return -1
71567         with errno set to ENOMEM in that case.
71568         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
71569         (NEW_PATTERN): Do not alloca more than 8000 bytes;
71570         instead, return -1.  Check for address arithmetic overflow.
71571
71572 2003-10-14  Paul Eggert  <eggert@twinsun.com>
71573
71574         Handle invalid suffixes and overflow independently, so that
71575         callers can treat them independently as needed.  Fix some bugs in
71576         suffix handling, e.g., "100k@" was not diagnosed as an invalid
71577         suffix for a human-readable blocksize.  The major caller-visible
71578         change is the addition of a new
71579         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
71580         that both overflow and suffix chars were found.
71581
71582         * lib/human.c (humblock): Don't check separately for invalid suffix
71583         char; that is xstrtoumax's job (now that its bug is fixed).
71584         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
71585         INTMAX_MAX]: New macros.
71586         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
71587         TYPE_MAXIMUM): New macros.
71588         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
71589         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
71590         if overflow occurs, as it's what __strtol does and it's more useful
71591         in practice.
71592         (__xstrtol): If __strtol reports some error other than ERANGE,
71593         reflect it to the caller as LONGINT_INVALID.  If it reports
71594         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
71595         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
71596         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
71597         value.
71598         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
71599         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
71600         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
71601         [defined UINTMAX_MAX]: New macros.
71602
71603 2003-10-14  Bruno Haible  <bruno@clisp.org>
71604
71605         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
71606
71607 2003-10-14  Bruno Haible  <bruno@clisp.org>
71608
71609         * m4/sig_atomic_t: New file, from GNU gettext.
71610         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
71611
71612 2003-10-14  Bruno Haible  <bruno@clisp.org>
71613
71614         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
71615         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
71616         Also use volatile where needed.
71617
71618 2003-10-12  Paul Eggert  <eggert@twinsun.com>
71619
71620         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
71621         Change maintainer from Bruno Haible to 'all'.
71622
71623 2003-10-12  Paul Eggert  <eggert@twinsun.com>
71624
71625         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
71626
71627 2003-10-12  Paul Eggert  <eggert@twinsun.com>
71628
71629         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
71630         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
71631         and define in terms of the other primitives.
71632         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
71633         (SIZE_MAX): Define if not already defined.
71634         (array_size_overflow): New function.
71635         (xalloc_die): Abort instead of exiting if 'error' returns.
71636         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
71637         (xmalloc, xrealloc): Use them.
71638         (xcalloc): Check for address arithmetic overflow.
71639         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
71640         a bit faster than strcpy.
71641
71642 2003-10-10  Simon Josefsson  <jas@extundo.com>
71643
71644         * modules/argp (Depends-on): Add restrict and strcase.
71645
71646 2003-10-10  Simon Josefsson  <jas@extundo.com>
71647
71648         * m4/argp.m4: Add AC_C_INLINE.
71649
71650 2003-10-08  Paul Eggert  <eggert@twinsun.com>
71651
71652         Merge getpass from libc, plus a few fixes.
71653
71654         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
71655         Include <stdbool.h>.
71656         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
71657         __fsetlocking to empty.
71658         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
71659         do include <bits/libc-lock.h>.
71660         Do not include <fcntl.h>; not needed.
71661         [_LIBC]: Include <wchar.h>.
71662         (NOTCANCEL_MODE): New macro.
71663         (flockfile, funlockfile) [_LIBC]: New macros.
71664         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
71665         [!_LIBC]: New macros.
71666         (call_fclose): New function.
71667         (getpass): Use it.  Save tty stream separately; this simplifies the
71668         code and makes it more reliable if stdin happens to equal stdout.
71669         Invoke __fsetlocking on tty.
71670         Handle thread cancellation if needed.
71671         Namespace cleanup (use __tcgetattr, __getline).
71672         Use bool for Booleans.
71673         [USE_IN_LIBIO]: Handle wide streams.
71674         [!_LIBC]: Unconditionally do the fseek, since we don't know what
71675         stream might go where.
71676
71677         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
71678         doesn't have to include <stdio.h> before us.
71679         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
71680         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
71681         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
71682         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
71683         if not declared, so that we can use getpass.c code from libc without
71684         rewriting it.
71685         (flockfile, ftrylockfile, funlockfile): New macros.
71686
71687 2003-10-08  Paul Eggert  <eggert@twinsun.com>
71688
71689         * modules/getpass: Depend on stdbool.
71690
71691 2003-10-08  Paul Eggert  <eggert@twinsun.com>
71692
71693         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
71694
71695 2003-10-07  Karl Berry  <karl@gnu.org>
71696
71697         * config/config.{guess,sub}: update from config.
71698
71699 2003-10-06  Jim Meyering  <jim@meyering.net>
71700             Bruno Haible  <bruno@clisp.org>
71701
71702         This lets translators provide better translations for the
71703         "Written by ..." part of --version output.
71704         * lib/version-etc.h: Include stdarg.h.
71705         (version_etc_copyright): Declare as readonly.
71706         (version_etc): Make this function variadic with a NULL-terminated list
71707         of author name strings.
71708         (version_etc_va): New declaration.
71709         * lib/version-etc.c: Include stdarg.h, stdlib.h.
71710         (version_etc_copyright): Declare as readonly.
71711         (version_etc_va): New function. Provide a different translatable string
71712         for each possible number of authors < 10. Abbreviate when there are 10
71713         authors or more.
71714         (version_etc): Make this function variadic. Call version_etc_va.
71715         Suggestion from Gary V. Vaughan.
71716
71717         * lib/long-options.h (parse_long_options): Change prototype: the
71718         authors string is moved to the end and becomes variadic.
71719         * lib/long-options.c: Include stdarg.h.
71720         (parse_long_options): Make this function variadic, too.
71721         Call version_etc_va, not version_etc.
71722
71723 2003-10-06  Bruno Haible  <bruno@clisp.org>
71724
71725         * modules/version-etc-2: Remove file.
71726         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
71727
71728 2003-10-06  Bruno Haible  <bruno@clisp.org>
71729
71730         * modules/fatal-signal: New file.
71731         * MODULES.html.sh (func_all_modules): Add fatal-signal.
71732
71733 2003-10-06  Bruno Haible  <bruno@clisp.org>
71734
71735         * m4/fatal-signal.m4: New file.
71736         * m4/signalblocking.m4: New file, from GNU gettext.
71737
71738 2003-10-06  Bruno Haible  <bruno@clisp.org>
71739
71740         * lib/version-etc-2.h: Remove file.
71741         * lib/version-etc-2.c: Remove file.
71742
71743 2003-10-06  Bruno Haible  <bruno@clisp.org>
71744
71745         * lib/fatal-signal.h: New file, from GNU gettext.
71746         * lib/fatal-signal.c: New file, from GNU gettext.
71747
71748 2003-10-05  Paul Eggert  <eggert@twinsun.com>
71749
71750         * README: Rework advice for preventing empty .o files.
71751         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
71752         not <sys/types.h>.
71753
71754 2003-10-04  Karl Berry  <karl@gnu.org>
71755
71756         * lib/argp*: update from libc.
71757
71758 2003-10-04  Karl Berry  <karl@gnu.org>
71759
71760         * config/config.{guess,sub}: update from config.
71761
71762 2003-10-02  Bruno Haible  <bruno@clisp.org>
71763
71764         * modules/lchown (Include): Add lchown.h.
71765         * modules/time_r (Include): Use "..." syntax.
71766         * modules/xgetdomainname (Include): Add xgetdomainname.h.
71767
71768 2003-10-01  Simon Josefsson  <jas@extundo.com>
71769
71770         * MODULES.html.sh (func_all_modules): Move gethostname from section
71771         'based on' to section 'lacking' POSIX:2001.
71772
71773 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
71774
71775         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
71776         to output mode on the same stream.
71777
71778 2003-09-29  Paul Eggert  <eggert@twinsun.com>
71779
71780         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
71781         Fix arg typo in previous patch.
71782
71783 2003-09-28  Jim Meyering  <jim@meyering.net>
71784
71785         * lib/error.c: Correct cpp indentation.
71786
71787 2003-09-27  Paul Eggert  <eggert@twinsun.com>
71788
71789         * modules/free: New file.
71790
71791 2003-09-27  Paul Eggert  <eggert@twinsun.com>
71792
71793         * m4/free.m4: New file.
71794
71795 2003-09-27  Paul Eggert  <eggert@twinsun.com>
71796
71797         * lib/minmax.h (MIN, MAX)
71798         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
71799         Omit the special code that used __typeof__, since we worry that
71800         it could be more trouble than it's worth.  See:
71801         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
71802         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
71803
71804         * lib/free.c: New file.
71805
71806 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
71807
71808         Trivial fixes to Makefile.am parts of module listings.
71809         * modules/strstr: Append strstr.h to lib_SOURCES.
71810         * modules/strcase: Likewise, for strcase.h.
71811
71812 2003-09-27  Karl Berry  <karl@gnu.org>
71813
71814         * config/mkinstalldirs: update from automake.
71815
71816 2003-09-26  Paul Eggert  <eggert@twinsun.com>
71817
71818         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
71819         (error_tail): Do not loop, reallocating temporary buffer, since
71820         the output cannot contain more wide characters than the input
71821         contains bytes, the size must be big enough already.  This avoids
71822         one potential size overflow calculation.  Check for size overflow
71823         when calculating temporary buffer size.  Free temporary buffer
71824         when done, if it was allocated with malloc; this plugs a memory
71825         leak.  Remove casts from void * to pointers, that are no longer
71826         needed now that we're assuming C89 or better.
71827
71828         Merge error changes from glibc.
71829
71830         * lib/error.c, error.h: Update copyright notice header to match glibc.
71831         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
71832         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
71833         Disable cancellation while printing error.
71834         * lib/error.h: Prepend __ to parameter names.
71835
71836 2003-09-26  Jim Meyering  <jim@meyering.net>
71837
71838         * lib/error.c (error_tail): Move some declarations
71839         into inner scope where the local variables are used.
71840
71841 2003-09-26  Bruno Haible  <bruno@clisp.org>
71842
71843         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
71844         stpncpy().
71845         Don't define stpncpy through config.h; it's now done through stpncpy.h.
71846
71847 2003-09-26  Bruno Haible  <bruno@clisp.org>
71848
71849         * lib/stpncpy.h (gnu_stpncpy): New declaration.
71850         (stpncpy): Define as alias for gnu_stpncpy.
71851         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
71852
71853 2003-09-25  Simon Josefsson  <jas@extundo.com>
71854
71855         * lib/xgetdomainname.h: New file.
71856         * lib/xgetdomainname.c: New file.
71857
71858 2003-09-25  Simon Josefsson  <jas@extundo.com>
71859             Bruno Haible  <bruno@clisp.org>
71860
71861         * modules/getdomainname: New file.
71862         * modules/xgetdomainname: New file.
71863         * MODULES.html.sh (func_all_modules): Add getdomainname,
71864         xgetdomainname.
71865
71866 2003-09-25  Simon Josefsson  <jas@extundo.com>
71867             Bruno Haible  <bruno@clisp.org>
71868
71869         * m4/getdomainname.m4: New file.
71870
71871 2003-09-25  Simon Josefsson  <jas@extundo.com>
71872             Bruno Haible  <bruno@clisp.org>
71873
71874         * lib/getdomainname.h: New file.
71875         * lib/getdomainname.c: New file.
71876
71877 2003-09-25  Karl Berry  <karl@gnu.org>
71878
71879         * lib/argp-fmtstream.c, argp-help.c: update from libc.
71880
71881 2003-09-25  Karl Berry  <karl@gnu.org>
71882
71883         * config/install-sh: update from automake.
71884
71885 2003-09-25  Bruno Haible  <bruno@clisp.org>
71886
71887         * modules/version-etc-2: New file, from modules/version-etc with
71888         modifications.
71889         * MODULES.html.sh (func_all_modules): Add version-etc-2.
71890
71891 2003-09-25  Bruno Haible  <bruno@clisp.org>
71892
71893         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
71894         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
71895
71896 2003-09-24  Simon Josefsson  <jas@extundo.com>
71897
71898         * modules/xgethostname: Add xgethostname.h.
71899
71900 2003-09-24  Paul Eggert  <eggert@twinsun.com>
71901
71902         * lib/linebuffer.c (freebuffer): Don't free the argument, just
71903         the buffer associated with the argument.  Bug reported by
71904         Simon Josefsson.
71905
71906 2003-09-24  Paul Eggert  <eggert@twinsun.com>
71907
71908         * README: Document assumptions that 'int' is at least 32 bits
71909         wide, that integer arithmetic is 2's complement without overflow,
71910         that there are no holes in integer values, that adding sizes of
71911         two nonoverlapping objects can't overflow, and that all-bits-zero
71912         yields scalar zero.  Fix spelling and capitalization typos.
71913
71914 2003-09-19  Karl Berry  <karl@gnu.org>
71915
71916         * lib/argp.h: update from libc.
71917
71918 2003-09-17  Paul Eggert  <eggert@twinsun.com>
71919
71920         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
71921         to avoid spurious warnings like "AC_RUN_IFELSE was called before
71922         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
71923
71924 2003-09-17  Paul Eggert  <eggert@twinsun.com>
71925
71926         * gnulib-tool: Use "test -h", not "test -L", for portability
71927         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
71928         (tags_regexp): Remove, since \| doesn't conform to POSIX.
71929         (sed_extract_prog): Issue s commands one-by-one, rather than
71930         using \| in one s command.
71931
71932 2003-09-16  Paul Eggert  <eggert@twinsun.com>
71933
71934         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
71935         input error, instead of returning NULL the next time we are called
71936         (and therefore losing track of errno).
71937
71938 2003-09-16  Bruno Haible  <bruno@clisp.org>
71939
71940         * gnulib-tool (func_create_testdir): Warn about duplicated
71941         dependencies.
71942
71943 2003-09-15  Paul Eggert  <eggert@twinsun.com>
71944
71945         * modules/argmatch, modules/fatal, modules/obstack,
71946         modules/xalloc, modules/xgethostname: Sort dependencies by
71947         importance, not alphabetically.
71948
71949 2003-09-15  Paul Eggert  <eggert@twinsun.com>
71950
71951         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
71952         fails, so that the caller gets the proper errno.
71953
71954         * lib/readutmp.c (read_utmp): Likewise.
71955         Check for fstat error.  Close stream and free storage
71956         when failing.
71957
71958 2003-09-14  Karl Berry  <karl@gnu.org>
71959
71960         * config/srclist.txt (strdup.c): disable for c89 changes.
71961
71962 2003-09-14  Jim Meyering  <jim@meyering.net>
71963
71964         * lib/getloadavg.c: Correct cpp indentation.
71965         * lib/strdup.c: Likewise.
71966         * lib/vasnprintf.c: Likewise.
71967
71968 2003-09-14  Bruno Haible  <bruno@clisp.org>
71969
71970         * modules/fwriteerror: New file.
71971         * MODULES.html.sh (func_all_modules): Add fwriteerror.
71972
71973 2003-09-14  Bruno Haible  <bruno@clisp.org>
71974
71975         * lib/fwriteerror.h: New file.
71976         * lib/fwriteerror.c: New file.
71977
71978 2003-09-12  Paul Eggert  <eggert@twinsun.com>
71979
71980         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
71981         modules/xgethostname, modules/xalloc: Depend on exit.
71982
71983 2003-09-12  Paul Eggert  <eggert@twinsun.com>
71984
71985         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
71986
71987         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
71988         and AC_MINIX, too, so that their extensions are available.
71989
71990         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
71991         This macro has been superseded by gl_BACKUPFILE.
71992
71993         More patches to assume C89 or better.
71994
71995         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
71996
71997         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
71998         unconditionally.
71999         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
72000         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
72001         Include <string.h>, <stdlib.h> unconditionally.
72002         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
72003         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
72004         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
72005         headers or for string.h.
72006         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
72007         or strtoul.
72008
72009         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
72010         headers.
72011         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
72012         * m4/userspec.m4 (gl_USERSPEC): Likewise.
72013         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
72014         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
72015         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
72016         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
72017         memcpy, memset.
72018         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
72019         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
72020         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
72021         strtol.
72022         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
72023         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
72024         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
72025         strtoul.
72026
72027 2003-09-12  Paul Eggert  <eggert@twinsun.com>
72028
72029         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
72030         * lib/obstack.c [!defined _LIBC]: Likewise.
72031         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
72032         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
72033         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
72034
72035         More changes to assume C89 or better.
72036
72037         * lib/error.c (error_tail): Assume vprintf.
72038
72039         * lib/argmatch.c (getenv): Remove decl.
72040         * lib/progreloc.c (get_full_program_name): Define via prototype.
72041         * lib/setenv.c (clearenv): Likewise.
72042         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
72043         needed.
72044         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
72045         (malloc, memcpy): Remove decls.
72046         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
72047         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
72048         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
72049         (memcpy): Remove macro.
72050         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
72051         (__P): Remove.  All uses removed.
72052         (PTR): Remove.  All uses changed to void *.
72053         (CHAR_BIT, NULL): Remove.
72054         (spaces, zeros, memset_space, memset_zero)
72055         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
72056         Remove.
72057         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
72058         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
72059         Define with prototype.
72060         Remove now-unnecessary prototype decl.
72061         (extra_args_spec): Assume ANSI C.  All uses changed.
72062         (extra_args_spec_iso): Remove.
72063         (my_strftime, emacs_strftimeu): Define via prototype.
72064         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
72065         unconditionally.
72066         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
72067         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
72068         (strtoul, strtol): Remove decls.
72069         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
72070         LONG_MAX): Remove.
72071         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
72072         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
72073         (LOCALE_PARAM_PROTO): New macro.
72074         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
72075         (INTERNAL (strtol), strtol): Define with a prototype.
72076         (PARAMS): Remove.  All uses removed.
72077         * lib/tempname.c: Include <string.h> unconditionally.
72078         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
72079         * lib/xgethostname.c (main): Define with a prototype.
72080         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
72081         Include <stdlib.h> unconditionally.
72082         (calloc, malloc, realloc, free): Remove decls.
72083         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
72084         Include <stdlib.h> unconditionally.  Sort include file names.
72085         (strtod): Remove.
72086         (xstrtod): Define with a prototype.
72087         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
72088         (strtol, strtoul): Remove decls.
72089
72090 2003-09-11  Paul Eggert  <eggert@twinsun.com>
72091
72092         More patches to assume C89 or better.
72093         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
72094         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
72095         string.h, memchr, STDC_HEADERS.
72096
72097 2003-09-11  Paul Eggert  <eggert@twinsun.com>
72098
72099         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
72100         Include <stdlib.h>, <string.h> unconditionally.
72101         Remove now-unnecessary cast to char *.
72102         * lib/strnlen.c: Include <string.h> unconditionally.
72103         * lib/yesno.c (yesno): Define with a prototype.
72104
72105 2003-09-11  Bruno Haible  <bruno@clisp.org>
72106
72107         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
72108
72109 2003-09-10  Jim Meyering  <jim@meyering.net>
72110
72111         * lib/error.c: Correct indentation of cpp directives.
72112
72113 2003-09-10  Bruno Haible  <bruno@clisp.org>
72114
72115         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
72116         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
72117         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
72118         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
72119         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
72120         <stdlib.h> and <string.h> checks.
72121         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
72122         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
72123
72124 2003-09-10  Bruno Haible  <bruno@clisp.org>
72125
72126         * lib/strcspn.c: Include <string.h> unconditionally.
72127         * lib/strpbrk.c: Include <string.h> unconditionally.
72128         * lib/strstr.c: Include <string.h> unconditionally.
72129         * lib/unicodeio.c: Include <string.h> unconditionally.
72130         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
72131         * lib/unsetenv.c: Likewise.
72132         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
72133         * lib/yesno.c: Include <stdlib.h> unconditionally.
72134         (rpmatch): Add prototype.
72135
72136 2003-09-09  Paul Eggert  <eggert@twinsun.com>
72137
72138         More patches to assume C89 or better.
72139         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
72140         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
72141         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
72142         or for string.h.
72143         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
72144         stdlib.h.
72145         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
72146         C headers.
72147         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
72148         string.h.
72149         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
72150         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
72151         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
72152         or for string.h.
72153         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
72154         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
72155         C headers.
72156         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
72157         memcpy.
72158         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
72159         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
72160         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
72161         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
72162         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
72163         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
72164         string.h, free.
72165         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
72166         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
72167         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
72168         C headers, or for string.h.
72169         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
72170         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
72171         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
72172         headers, memory.h, stdlib.h, string.h, strings.h.
72173         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
72174         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
72175         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
72176         strchr.
72177         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
72178         headers, memory.h, string.h.
72179         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
72180         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
72181         free.
72182         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
72183         headers.
72184         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
72185         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
72186         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
72187         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
72188         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
72189
72190 2003-09-09  Paul Eggert  <eggert@twinsun.com>
72191
72192         More K&R removal.
72193
72194         * lib/acosl.c (main): Use a prototype.
72195         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
72196         tanl.c: Likewise.
72197
72198         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
72199
72200         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
72201         (getopt, etopt_long, getopt_long_only, _getopt_internal)
72202         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
72203         with a prototype.
72204         * lib/getopt.c (const): Remove macro.
72205         Include <string.h> unconditionally.
72206         (my_index): Remove; all uses changed to strchr.
72207         (strlen): Remove decl.
72208         (exchange): Remove forward decl; no longer needed.
72209         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
72210         Define with prototype.
72211         * lib/getopt1.c (const): Remove macro.
72212         (getopt_long, getopt_long_only, main): Define with prototype.
72213
72214         * lib/getugroups.c: Include <string.h> unconditionally.
72215
72216         * lib/getusershell.c: Include <stdlib.h> unconditionally.
72217         (getusershell, setusershell, endusershell, readname, main):
72218         Define with prototypes.
72219
72220         * lib/group-member.c: Include group-member.h first.
72221         Include <stdlib.h> unconditionally.
72222
72223         * lib/hard-locale.c: Include hard-locale.h first.
72224         Include <stdlib.h>, <string.h> unconditionally.
72225
72226         * lib/hash.c (free, malloc): Remove decls.
72227         Include <stdlib.h> unconditionally.
72228
72229         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
72230         (getenv): Do not declare.
72231
72232         * lib/idcache.c: Include <string.h> unconditionally.
72233
72234         * lib/long-options.c: Include long-options.h first, to test interface.
72235         Include <stdlib.h> unconditionally.
72236
72237         * lib/makepath.c: Include makepath.h first, to test interface.
72238         Include <stdlib.h> and <string.h> unconditionally.
72239
72240         * lib/linebuffer.c: Include <stdlib.h>.
72241         (free): Remove decl.
72242
72243         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
72244         stddef.h. rpl_malloc returns void *, not char *.
72245         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
72246         prototype.
72247
72248         * lib/md5.h: Include <limits.h> unconditionally.
72249         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
72250         (__P): Remove; all uses removed.
72251         * lib/md5.c: Include "md5.h" first.
72252         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
72253         md5_buffer, md5_process_bytes, md5_process_block):
72254         Define with prototypes.
72255         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
72256         * lib/sha.c: Include "sha.h" first.
72257         Include <stdlib.h>, <string.h> unconditionally.
72258
72259         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
72260         * lib/memcmp.c (__ptr_t): Likewise.
72261         * lib/memrchr.c (__ptr_t): Likewise.
72262         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
72263         Include <string.h> unconditionally.
72264         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
72265         * lib/memchr.c: Include <stdlib.h> unconditionally.
72266         * lib/memchr.c (LONG_MAX): Remove.
72267         * lib/memrchr.c (LONG_MAX): Likewise.
72268         * lib/memchr.c (__memchr): Define via a prototype.
72269         * lib/memrchr.c (__memrchr): Likewise.
72270         * lib/memcmp.c (__P): Remove, and remove all uses.
72271         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
72272         Remove forward decls; no longer needed.
72273         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
72274         Use types required by C89 in prototype.
72275
72276         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
72277         * lib/savedir.c: Likewise.
72278         * lib/mkdir.c (free): Remove decl.
72279         * lib/rmdir.c (rmdir): Define with a prototype.
72280         * lib/savedir.c: Include savedir.h first, to test interface.
72281
72282         * lib/mktime.c (STDC_HEADERS): Remove.
72283         Include <stdlib.h>, <string.h> unconditionally.
72284
72285         * lib/modechange.c: Include <stdlib.h> unconditionally.
72286         (malloc): Remove decl.
72287
72288         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
72289         (free): Remove decl.
72290
72291         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
72292         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
72293         (This type really should be intptr_t, but that's a C99ism.)
72294         (_obstack_memcpy): Remove: all uses changed to memcpy.
72295         Include <string.h> unconditionally.
72296         (struct obstack): Assume __STDC__ for types of members
72297         chunkfun, freefun, extra_arg.
72298         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
72299         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
72300         obstack_begin, obstack_specify_allocation,
72301         obstack_specify_allocation_with_arg, obstack_chunkfun,
72302         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
72303         Remove unprototyped decls and the macros that use them.
72304         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
72305         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
72306         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
72307         (defined __STDC__ && __STDC__)]:
72308         Remove nonprototyped code.
72309         Include <stdlib.h> unconditionally.
72310         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
72311         _obstack_allocated_p, _obstack_free, obstack_free,
72312         _obstack_memory_used, print_and_abort):
72313         Define using prototypes.
72314         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
72315         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
72316         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
72317         obstack_next_free, obstack_object_size, obstack_room) [0]:
72318         Remove unused, unprototyped code.
72319
72320         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
72321
72322         * lib/physmem.c (physmem_total, physmem_available, main): Define
72323         with prototypes.
72324
72325         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
72326         (main): Define with a prototype.
72327
72328         * lib/posixver.c (getenv): Remove decl.
72329
72330         * lib/putenv.c (malloc): Returns void *, not char *.
72331         Include <string.h> unconditionally.
72332         (strchr, memcpy, NULL): Do not define.
72333
72334         * lib/readtokens.c: Include readtokens.h first, to test interface.
72335         Include <stdlib.h>, <string.h> unconditionally.
72336         (init_tokenbuffer): Define with a prototype.
72337
72338         * lib/regex.c (PARAMS): Remove.  All uses removed.
72339         All uses of _RE_ARGS removed, too.
72340         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
72341         unconditionally.
72342         (bzero): Assume memset exists.
72343         (memcmp, memcpy, NULL): Remove.
72344         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
72345         char, or assignments to local vars of type signed char.
72346         (init_syntax_once, PREFIX(extract_number_and_incr),
72347         PREFIX(print_partial_compiled_pattern),
72348         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
72349         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
72350         PREFIX(regex_grow_registers), PREFIX(regex_compile),
72351         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
72352         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
72353         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
72354         wcs_compile_range, byte_compile_range, truncate_wchar,
72355         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
72356         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
72357         count_mbs_length, wcs_re_match_2_internal,
72358         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
72359         PREFIX(alt_match_null_string_p),
72360         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
72361         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
72362         regfree, PREFIX(extract_number)): Define with prototype.  Remove
72363         now-unnecessary declaration, if any.
72364         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
72365         regcomp, regexec):
72366         Remove now-unnecessary casts among pointer types.
72367         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
72368
72369         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
72370         (free): Remove decl.
72371
72372         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
72373
72374         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
72375         (free): Remove decl.
72376
72377         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
72378         * lib/xgetcwd.c: Likewise.
72379
72380         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
72381         (free): Remove decl.
72382
72383         * lib/strchrnul.c (strchrnul): Define with a prototype.
72384         Fix bug: c_in was not converted to char before searching.
72385
72386         The following changes are not K&R related:
72387
72388         * lib/group-member.h: Include <sys/types.h>, so that this file is
72389         self-contained.
72390         * lib/makepath.h: Likewise.
72391
72392         * lib/getusershell.c (readname, default_index, line_size, readname):
72393         Use size_t, not int, for sizes.
72394         (readname): If the size overflows, report an error instead of
72395         looping forever.
72396
72397 2003-09-09  Paul Eggert  <eggert@twinsun.com>
72398
72399         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
72400         libc.
72401
72402 2003-09-09  Paul Eggert  <eggert@twinsun.com>
72403
72404         * README: New section: portability guidelines.
72405
72406 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
72407
72408         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
72409         C89 spec.
72410
72411 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
72412
72413         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
72414
72415 2003-09-08  Paul Eggert  <eggert@twinsun.com>
72416
72417         Assume C89 or better; remove K&R cruft.
72418         A few of these changes were first proposed by Derek Robert Price
72419         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
72420
72421         * lib/addext.c: Include <string.h> unconditionally.
72422         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
72423         Don't declare getenv or malloc.
72424
72425         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
72426         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
72427         (NULL): Remove.
72428         (find_stack_direction, alloca): Use prototypes.
72429
72430         * lib/atexit.c (atexit): Define using a prototype.
72431
72432         * lib/basename.c, dirname.c, stripslash.c:
72433         Include <string.h> unconditionally.
72434
72435         * lib/bcopy.c: Include <stddef.h>.
72436         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
72437
72438         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
72439
72440         * lib/error.h (error, error_at_line, error_print_progname)
72441         [! (defined (__STDC__) && __STDC__)]: Remove decls.
72442         * lib/error.c: Include error.h first, to check interface.
72443         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
72444         (VA_START): Remove; all uses changeed to va_start.
72445         (exit, strerror): Remove decls.
72446         (error_print_progname): Prototype uncondionally.
72447         Don't include <errno.h>; no longer needed.
72448         (private_strerror): Remove.
72449         (error_tail): Always define.
72450         (error, error_at_line): Assume C89 or better; always use prototypes.
72451         * lib/fatal.c: Include "fatal.h" first, to test interface.
72452         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
72453         (VA_START): Remove; all uses changed to va_start.
72454         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
72455         this case.
72456         (exit): Remove decl.
72457         (fatal): Prototype unconditionally.  Assume va_start works.
72458         Abort at end, to pacify gcc.
72459
72460         * lib/euidaccess.c (main): Define with a prototype.
72461
72462         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
72463
72464         * lib/exitfail.c: Include <stdlib.h> unconditionally.
72465
72466         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
72467         prototypes.
72468         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
72469         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
72470         (getenv): Remove decl.
72471         (fnmatch): Define using a prototype.
72472         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
72473         (FCT): Define using a prototype.
72474
72475         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
72476
72477         * lib/gethostname.c: Include <stddef.h>.
72478         (gethostname): Define with prototype.  Length is size_t, not int.
72479
72480 2003-09-08  Paul Eggert  <eggert@twinsun.com>
72481
72482         Assume C89 or better; remove K&R cruft.
72483         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
72484         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
72485         string.h, getenv, malloc.
72486         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
72487         headers.
72488         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
72489         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
72490         do not check for strerror.
72491         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
72492         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
72493         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
72494         do not check for doprnt or vprintf.
72495         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
72496         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
72497
72498 2003-09-08  Paul Eggert  <eggert@twinsun.com>
72499
72500         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
72501         getversion.c should have been removed then, but was accidentally
72502         preserved.
72503
72504         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
72505         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
72506
72507 2003-09-08  Karl Berry  <karl@gnu.org>
72508
72509         * config/config.sub, config.guess, srclistvars.sh: update from savannah
72510                 config, forget about prep.
72511
72512         * config/depcomp, missing: update from automake.
72513
72514 2003-09-07  Paul Eggert  <eggert@twinsun.com>
72515
72516         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
72517         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
72518
72519 2003-09-07  Paul Eggert  <eggert@twinsun.com>
72520
72521         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
72522         copy_tm_result.  Bug reported by Simon Josefsson in
72523         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
72524
72525 2003-09-06  Paul Eggert  <eggert@twinsun.com>
72526
72527         * m4/time_r.m4: New file.
72528         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
72529         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
72530         is. Check for timegm declaration.
72531         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
72532         Do not check for gmtime_r.
72533         Replace mktime if __mktime_internal does not exist and if mktime
72534         hasn't been replaced already.
72535
72536 2003-09-06  Paul Eggert  <eggert@twinsun.com>
72537
72538         * lib/time_r.c, lib/time_r.h: New files.
72539
72540         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
72541         __localtime_r.
72542         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
72543         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
72544
72545         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
72546         __gmtime_r.
72547         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
72548         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
72549         Include <time_r.h>.
72550
72551         * lib/timegm.c: Switch to glibc implementation, with the following
72552         changes:
72553         [defined HAVE_CONFIG_H]: Include <config.h>.
72554         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
72555         (__mktime_internal) [!defined _LIBC]: New decl.
72556         (__gmtime_r) [!defined _LIBC]: New macro and function.
72557         (timegm): Use a prototype, since gnulib assumes C89.
72558         Do not bother declaring tmp to be const, as it's not really usefu.
72559         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
72560         (timegm): Declare only if HAVE_DECL_TIMEGM.
72561
72562 2003-09-06  Paul Eggert  <eggert@twinsun.com>
72563
72564         * MODULES.html.sh (func_all_modules): Add time_r.
72565         * modules/time_r: New file.
72566         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
72567         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
72568
72569 2003-09-03  Paul Eggert  <eggert@twinsun.com>
72570
72571         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
72572         Bug reported by Lute Kamstra in
72573         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
72574
72575         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
72576         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
72577         course with correspondingly smaller numbers for tomorrow and
72578         yesterday.  From Tadayoshi Funaba.  Originally installed into
72579         sh-utils on 1999-08-07, but the patch got lost (I guess during the
72580         coreutils merge?).
72581
72582 2003-08-31  Simon Josefsson  <jas@extundo.com>
72583
72584         * modules/timegm: New file.
72585         * MODULES.html.sh (func_all_modules): Add timegm.
72586
72587 2003-08-31  Simon Josefsson  <jas@extundo.com>
72588
72589         * m4/timegm.m4: New file.
72590
72591 2003-08-31  Simon Josefsson  <jas@extundo.com>
72592
72593         * lib/timegm.h: New file.
72594         * lib/timegm.c: New file.  Based on
72595         wget-1.8.2/src/http.c:mktime_from_utc.
72596
72597 2003-08-31  Karl Berry  <karl@gnu.org>
72598
72599         * lib/argp.h: update from libc.
72600
72601 2003-08-28  Bruno Haible  <bruno@clisp.org>
72602
72603         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
72604         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
72605         followed by '#define fnmatch fnmatch_posix' gives an error.
72606
72607 2003-08-28  Bruno Haible  <bruno@clisp.org>
72608
72609         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
72610         warning on QNX, which defines O_BINARY to 000000.
72611
72612 2003-08-27  Jim Meyering  <jim@meyering.net>
72613
72614         * m4/mkstemp.m4: Require that the system mkstemp be able to create
72615         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
72616         would fail after 32.  Reported by Danny Levinson.  Details here:
72617         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
72618
72619 2003-08-24  Bruno Haible  <bruno@clisp.org>
72620
72621         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
72622         MSVC7 <stdio.h> is included later.
72623
72624 2003-08-22  Simon Josefsson  <jas@extundo.com>
72625
72626         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
72627
72628 2003-08-20  Karl Berry  <karl@gnu.org>
72629
72630         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
72631
72632 2003-08-20  Bruno Haible  <bruno@clisp.org>
72633
72634         * modules/progname: New file.
72635         * MODULES.html.sh (func_all_modules): Add progname.
72636
72637 2003-08-20  Bruno Haible  <bruno@clisp.org>
72638
72639         * lib/progname.h: New file, from GNU gettext.
72640         * lib/progname.c: New file, from GNU gettext.
72641         * lib/progreloc.c: New file, from GNU gettext.
72642
72643 2003-08-19  Jim Meyering  <jim@meyering.net>
72644
72645         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
72646         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
72647
72648 2003-08-19  Bruno Haible  <bruno@clisp.org>
72649
72650         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
72651         more.
72652
72653 2003-08-19  Bruno Haible  <bruno@clisp.org>
72654
72655         * lib/xstrdup.c: Assume <string.h> exists.
72656
72657 2003-08-18  Paul Eggert  <eggert@twinsun.com>
72658
72659         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
72660         in makefile rules.
72661
72662 2003-08-18  Jim Meyering  <jim@meyering.net>
72663
72664         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
72665         * m4/lib-ld.m4: Likewise.
72666
72667 2003-08-18  Jim Meyering  <jim@meyering.net>
72668
72669         * lib/setenv.h: Indent nested cpp directive.
72670         * lib/vasnprintf.c: Remove trailing blanks.
72671
72672 2003-08-17  Simon Josefsson  <jas@extundo.com>
72673
72674         * modules/xstrndup: New file.
72675         * MODULES.html.sh (func_all_modules): Add xstrndup.
72676
72677 2003-08-17  Simon Josefsson  <jas@extundo.com>
72678
72679         * modules/argp: Fix autoconf macro name. Add more dependencies.
72680
72681 2003-08-17  Simon Josefsson  <jas@extundo.com>
72682
72683         * m4/xstrndup.m4: New file.
72684
72685 2003-08-17  Simon Josefsson  <jas@extundo.com>
72686
72687         * m4/argp.m4: New file.
72688
72689 2003-08-17  Simon Josefsson  <jas@extundo.com>
72690             Bruno Haible  <bruno@clisp.org>
72691
72692         * lib/xstrndup.h: New file.
72693         * lib/xstrndup.c: New file.
72694
72695 2003-08-17  Bruno Haible  <bruno@clisp.org>
72696
72697         * modules/strndup (Files, Include): Add lib/strndup.h.
72698
72699 2003-08-17  Bruno Haible  <bruno@clisp.org>
72700
72701         * modules/euidaccess (Files): Add lib/euidaccess.h.
72702
72703 2003-08-17  Bruno Haible  <bruno@clisp.org>
72704
72705         * lib/strndup.h: New file.
72706
72707 2003-08-17  Bruno Haible  <bruno@clisp.org>
72708
72709         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
72710         like AC_GNU_SOURCE.
72711         * modules/extensions (configure.ac): Comment out the invocation of
72712         gl_USE_SYSTEM_EXTENSIONS.
72713
72714 2003-08-16  Paul Eggert  <eggert@twinsun.com>
72715
72716         Merges from coreutils, etc.
72717         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
72718         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
72719         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
72720         fixing a typo.
72721         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
72722         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
72723
72724 2003-08-16  Paul Eggert  <eggert@twinsun.com>
72725
72726         Document merge from coreutils.
72727         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
72728         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
72729         * modules/utime: Add m4/utimes-null.m4.
72730
72731 2003-08-16  Paul Eggert  <eggert@twinsun.com>
72732
72733         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
72734         space, undoing this 2003-08-12 change:
72735         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
72736
72737 2003-08-16  Paul Eggert  <eggert@twinsun.com>
72738
72739         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
72740         strtoul.c from libc, undoing this 2003-08-12 change:
72741         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
72742
72743 2003-08-16  Jim Meyering  <jim@meyering.net>
72744
72745         Merges from coreutils.
72746         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
72747         prefix.  Adjust cache variables similarly.  Create 500 rather than
72748         just 300 files, to exercise bug on Darwin6.5, too.
72749         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
72750         $missing_dir.
72751         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
72752         AM_SYS_POSIX_TERMIOS.
72753         Reported by mkc@mathdogs.com.
72754         Also change use of $am_cv_sys_posix_termios
72755         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
72756         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
72757         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
72758         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
72759         in /proc/mounts until it finds one with matching device number.  This
72760         is unnecessary when the FILE argument *is* a mount point.  No stat call
72761         is necessary in that case.  So, disable the statvfs-testing code on
72762         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
72763         as RedHat bug# 84846.
72764         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
72765         to 1MB, so as not to render systems with no stack size limit (e.g.,
72766         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
72767         Include <unistd.h>.  On some systems,
72768         it is required for the definition of _SC_PAGESIZE.
72769
72770 2003-08-16  Jim Meyering  <jim@meyering.net>
72771
72772         Merge from coreutils.
72773         * lib/xstrtoimax.c: #else #if -> #elif.
72774         * lib/xstrtoumax.c: Likewise.
72775
72776 2003-08-16  Jim Meyering  <jim@meyering.net>
72777
72778         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
72779         * m4/utimes.m4: Removed.
72780         * m4/utimes-null.m4: Renamed from utimes.m4.
72781
72782         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
72783         to 1MB, so as not to render systems with no stack size limit (e.g.,
72784         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
72785         Include <unistd.h>.  On some systems,
72786         it is required for the definition of _SC_PAGESIZE.
72787
72788 2003-08-16  Jim Meyering  <jim@meyering.net>
72789         and Paul Eggert  <eggert@cs.ucla.edu>
72790
72791         Merges from coreutils, etc.
72792
72793         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
72794         using the latest version from cvs.  This avoids problems with #line
72795         directives using a vendor (Sun) compiler.
72796         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
72797         Don't set GETGROUPS_LIB here; now it's
72798         done via getgroups.m4's wrapper function.
72799         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
72800         rather than just in sh-util/configure.in, so that the
72801         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
72802         same.
72803         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
72804         AC_FUNC_GETLOADAVG where to find getloadavg.c.
72805         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
72806         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
72807         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
72808         Remove code that is now done by the newly-required macros.
72809         Append $(EXEEXT) to DF_PROG.
72810         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
72811         Do not invoke or require the following here,
72812         since prereq.m4 or some gnulib .m4 now does this for us:
72813         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
72814         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
72815         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
72816         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
72817         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
72818         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
72819         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
72820         AC_FUNC_OBSTACK.
72821         Do not replace the following functions, as this is now the job
72822         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
72823         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
72824         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
72825         atexit getpass, strdup, getpagesize.
72826         Replace 'raise'.
72827         Do not check for the following functions, as this is now the job
72828         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
72829         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
72830         setregid.
72831         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
72832         Check for sys/sysctl.h.
72833         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
72834         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
72835         of checking for ssize_t ourselves.
72836
72837         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
72838         Require every macro that gnulib/modules/* suggests for us.
72839         (jm_PREREQ_ADDEXT): New macro.
72840         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
72841         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
72842
72843         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
72844         (gl_PHYSMEM): Use it.
72845         Also check for `table' function.
72846         Check for new headers and functions.
72847         Add check for sys/sysmp.h.
72848         With suggestions from Kaveh Ghazi.
72849         Ignore headers that are present but cannot be compiled.  This
72850         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
72851         C 5.4.
72852
72853 2003-08-15  Paul Eggert  <eggert@twinsun.com>
72854
72855         Document merge from coreutils.
72856         * modules/userspec: Depend on posixver.
72857         * modules/strftime: Depend on tzset.
72858
72859 2003-08-15  Paul Eggert  <eggert@twinsun.com>
72860
72861         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
72862         rather than tab, after '#' in shell-script copyright notices.
72863         Suggested by Bruno Haible.
72864
72865 2003-08-15  Paul Eggert  <eggert@twinsun.com>
72866
72867         * config/srclist-update: Use three spaces, rather than tab, after '#'
72868         in shell-script copyright notices.  Suggested by Bruno Haible.
72869         Remove unnecessary parenthesization in regular expression.
72870
72871 2003-08-15  Jim Meyering  <jim@meyering.net>
72872
72873         Merge from coreutils.
72874         * lib/xgethostname.c: Include <stdlib.h>.
72875         (xghostname): Don't exit for anything other than memory-related
72876         failure; just return NULL.
72877         * lib/userspec.c: Include "posixver.h".
72878         (parse_user_spec): Accept `.' as a separator only
72879         in pre-POSIX-200112 mode.
72880         * lib/strtoimax.c: Use #elif rather than #else #if.
72881         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
72882         Remove function, now that we can rely on a working tzset function.
72883         [!_LIBC]: Ensure that the required autoconf test has been run.
72884         [!defined _NL_CURRENT && HAVE_STRFTIME]:
72885         Use underlying_strftime for %r.
72886         * lib/sha.c: Merge in some clean-up and optimization changes from
72887         glibc.
72888         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
72889         Ensure that it is a multiple of 64.
72890         Rearrange loop exit tests so as to avoid performing an
72891         additional fread after encountering an error or EOF.
72892         * lib/realloc.c: Update copyright date.
72893
72894 2003-08-15  Jim Meyering  <jim@meyering.net>
72895         and Paul Eggert  <eggert@twinsun.com>
72896
72897         Merge from coreutils.
72898         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
72899         member but strut utmpx does not.  Needed for AIX 4.3.3.
72900         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
72901
72902 2003-08-15  Jim Meyering  <jim@meyering.net>
72903         and Paul Eggert  <eggert@cs.ucla.edu>
72904
72905         Merges from coreutils, etc.
72906         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
72907         Require gl_FUNC_TZSET_CLOBBER.
72908         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
72909         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
72910         members.
72911
72912 2003-08-14  Paul Eggert  <eggert@twinsun.com>
72913
72914         Help the merge from coreutils.
72915         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
72916         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
72917         * m4/tzset.m4: Use it too.
72918
72919 2003-08-14  Paul Eggert  <eggert@twinsun.com>
72920
72921         * modules/tzset: New file.
72922
72923 2003-08-14  Jim Meyering  <jim@meyering.net>
72924
72925         Merges from coreutils.
72926         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
72927         variable names, rather than @FNMATCH_H@.
72928         * modules/alloca: Likewise for $(ALLOCA_H).
72929
72930         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
72931         the three copies of the literal target, `fnmatch.h'.
72932         * modules/alloca (alloca.h): Likewise.
72933
72934 2003-08-14  Jim Meyering  <jim@meyering.net>
72935
72936         Merge from coreutils.
72937         * m4/tzset.m4: New file.
72938         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
72939         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
72940         otherwise, AIX 5.1 systems would end up using the latter.
72941         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
72942         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
72943         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
72944         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
72945
72946 2003-08-14  Jim Meyering  <jim@meyering.net>
72947
72948         Merge from coreutils.
72949         * lib/obstack.h: Whitespace changes.
72950         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
72951         and xcalloc return values.
72952         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
72953         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
72954         hang on OSF/1 5.1 for DIR on both local and remote file systems.
72955         Reported by (and fix confirmed by) Nelson H. F. Beebe.
72956         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
72957         error from mntctl.
72958         Use mntctl's return value to drive the entry-processing loop, since
72959         we can't rely on the value of the vmt_length member in the last
72960         entry.  On some systems doing so could result in exhausting
72961         virtual memory.  Based in part on a patch from Mike Jetzer.
72962
72963 2003-08-14  Jim Meyering  <jim@meyering.net>
72964         and Paul Eggert  <eggert@twinsun.com>
72965
72966         Merges from coreutils, plus other fixes.
72967         * lib/physmem.c: Merge in portability changes from gcc/libiberty
72968         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
72969         for credits and details.  Thanks to Kaveh Ghazi for helping
72970         to keep these files in sync.
72971         (ARRAY_SIZE): Define it.
72972         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
72973         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
72974         (memcasecmp): Don't assume size_t fits in unsigned int.
72975         Remove casts and duplicate code.
72976         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
72977         (memcpy): Remove definition.
72978         Merge in some clean-up and optimization changes from glibc.
72979         [BLOCKSIZE]: Move definition to top of file.
72980         Ensure that it is a multiple of 64.
72981         Rearrange loop exit tests so as to avoid performing an
72982         additional fread after encountering an error or EOF.
72983         * lib/md5.h (md5_uintptr): Define.
72984         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
72985         return to the initial working directory.  Preserve errno
72986         for caller.
72987         * lib/idcache.c: Include "xalloc.h".
72988         (xmalloc, xrealloc): Remove decls.
72989         (getuser): Remove casts no longer required in C89.
72990         * lib/human.c: Include stdio.h, for sprintf.
72991         * lib/group-member.c: Include "xalloc.h".
72992         (xmalloc, xrealloc): Remove decls.
72993         (get_group_info): Remove casts no longer required in C89.
72994         * lib/getusershell.c (readname): Remove casts no longer required in
72995         C89.
72996         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
72997         * lib/getline.c: Whitespace fix, from coreutils.
72998
72999 2003-08-13  Paul Eggert  <eggert@twinsun.com>
73000
73001         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
73002         Check for isascii.
73003
73004         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
73005         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
73006         Undo previous (whitespace-only) change.
73007
73008 2003-08-13  Paul Eggert  <eggert@twinsun.com>
73009
73010         * lib/exclude.c: Include <ctype.h>
73011         (IN_CTYPE_DOMAIN): New macro.
73012         (is_space): New fn.
73013         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
73014         and empty lines.
73015
73016         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
73017         Undo previous (whitespace-only) change.
73018
73019 2003-08-13  Paul Eggert  <eggert@twinsun.com>
73020
73021         * config/srclist-update: Change update back to the old behavior,
73022         leaving whitespace alone.  Use one 'sed' command rather than a
73023         pipeline.
73024         (fixlicense): Now a variable, not a function.
73025         (remove_trailing_blanks): Remove.
73026         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
73027         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
73028         Undo previous (whitespace-only) change.
73029
73030 2003-08-12  Paul Eggert  <eggert@twinsun.com>
73031
73032         Merge from coreutils.
73033         * modules/euidaccess: Add lib_SOURCES, include for new
73034         file euidaccess.h
73035
73036 2003-08-12  Paul Eggert  <eggert@twinsun.com>
73037
73038         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
73039         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
73040         Normalize leading white space and remove trailing white space.
73041
73042         Merge from coreutils
73043         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
73044
73045         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
73046         0.12.1.  These files are now being upgraded automatically by
73047         ../config/srclist-update.
73048
73049 2003-08-12  Paul Eggert  <eggert@twinsun.com>
73050
73051         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
73052         Normalize leading white space and remove trailing white space.
73053         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
73054         notice, as per ../config/srclist-update.
73055
73056         Merge from coreutils.
73057         * lib/euidaccess.h: New file.
73058         * lib/euidaccess.c: Include it.
73059         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
73060         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
73061         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
73062
73063 2003-08-12  Paul Eggert  <eggert@twinsun.com>
73064
73065         * config/srclist-update: Add copyright notice.
73066         (remove_id_lines, remove_trailing_blanks): New constants.
73067         (fixfile): Use them to normalize spacing a bit in copied files.
73068         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
73069         Normalize leading white space and remove trailing white space.
73070
73071         * config/texinfo.tex: Sync with texinfo.
73072
73073         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
73074         strtoul.c from libc, to merge coreutils whitespace changes.
73075
73076         * config/srclist.txt: Get the following m4 files from gettext:
73077         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
73078         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
73079         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
73080         wint_t.m4.
73081
73082 2003-08-12  Karl Berry  <karl@gnu.org>
73083
73084         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
73085         been made.
73086
73087 2003-08-11  Paul Eggert  <eggert@twinsun.com>
73088
73089         * modules/gnu-source, m4/gnu-source.m4:
73090         Remove; we're assuming Autoconf 2.54 or later now.
73091         Suggested by Bruno Haible.
73092         * MODULES.html.sh (func_all_modules): Remove gnu-source.
73093
73094 2003-08-11  Bruno Haible  <bruno@clisp.org>
73095
73096         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
73097
73098 2003-08-11  Bruno Haible  <bruno@clisp.org>
73099
73100         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
73101         (vasnprintf): Use it instead of wcslen.
73102
73103 2003-08-11  Bruno Haible  <bruno@clisp.org>
73104
73105         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
73106         value to ensure that _Bool promotes to int. Use #define for _Bool when
73107         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
73108
73109 2003-08-10  Karl Berry  <karl@gnu.org>
73110
73111         * lib/regex.h: update from libc (whitespace fix).
73112
73113 2003-08-09  Paul Eggert  <eggert@twinsun.com>
73114
73115         Merge some files from coreutils.  These changes were
73116         originally made by Jim Meyering.
73117         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
73118         many older Unixes require this.
73119         * lib/alloca.c (alloca): Remove cast to argument of free;
73120         no longer needed in C89.
73121         * lib/alloca_.h, regex.h: Fix white space to match
73122         what GNU indent does.
73123
73124 2003-08-09  Paul Eggert  <eggert@twinsun.com>
73125
73126         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
73127         apparently Emacs's Unicode mode got confused before my 2003-08-05
73128         checkin.
73129
73130 2003-08-08  Paul Eggert  <eggert@twinsun.com>
73131
73132         * m4/extensions.m4: New file.
73133         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
73134         Require gl_USE_SYSTEM_EXTENSIONS.
73135         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
73136         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
73137
73138 2003-08-08  Paul Eggert  <eggert@twinsun.com>
73139
73140         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
73141         * modules/extensions, modules/gnu-source: New files.
73142         * modules/timespec, modules/unlocked-io: Depend on extensions.
73143
73144 2003-08-07  Paul Eggert  <eggert@twinsun.com>
73145
73146         * modules/restrict: New file.
73147         * MODULES.html.sh (func_all_modules): Add restrict.
73148         * modules/regex: Depend on restrict.
73149
73150 2003-08-07  Paul Eggert  <eggert@twinsun.com>
73151
73152         * m4/restrict.m4: New file.
73153         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
73154
73155 2003-08-07  Bruno Haible  <bruno@clisp.org>
73156
73157         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
73158         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
73159
73160 2003-08-07  Bruno Haible  <bruno@clisp.org>
73161
73162         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
73163         makes the module 'getndelim2' compatible with the module 'getline'.
73164
73165 2003-08-05  Paul Eggert  <eggert@twinsun.com>
73166
73167         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
73168         byte with "\201" to avoid glitches when editing that source file
73169         with multi-gnome-terminal.
73170
73171 2003-08-05  Paul Eggert  <eggert@twinsun.com>
73172
73173         * lib/bumpalloc.h: Remove.
73174
73175 2003-08-05  Paul Eggert  <eggert@twinsun.com>
73176
73177         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
73178         * modules/bumpalloc: Remove.
73179
73180 2003-08-04  Paul Eggert  <eggert@twinsun.com>
73181
73182         * lib/getloadavg.c: Change copyright notice and spacing to conform to
73183         GNU coding style.
73184
73185         Merge from coreutils.
73186         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
73187         1. From glibc.
73188         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
73189         from Karl Berry, implemented by Jim Meyering.
73190         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
73191         from Dmitry V. Levin.
73192         Remove anachronistic cast of xrealloc.
73193         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
73194         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
73195         type. Otherwise, it wouldn't compile with at least /bin/cc on
73196         ymp-cray-unicos9.0.2.X.
73197         Combine two mostly-identical uses of alloca into one.
73198         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
73199
73200 2003-08-04  Dave Love  <d.love@dl.ac.uk>
73201
73202         [From Emacs.]
73203
73204         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
73205         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
73206         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
73207         obsolete NLIST_NAME_UNION.
73208         [__GNU__]: Undef BSD and FSCALE.
73209         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
73210
73211 2003-08-03  Paul Eggert  <eggert@twinsun.com>
73212
73213         * lib/stdbool_.h (_Bool): Make it signed char, instead of
73214         an enum type, so that it's guaranteed to promote to int.  See:
73215         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
73216
73217 2003-08-03  Karl Berry  <karl@gnu.org>
73218
73219         * config/depcomp: update from automake.
73220
73221 2003-07-31  Paul Eggert  <eggert@twinsun.com>
73222
73223         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
73224         (strerror): Don't assume that a printable int fits in 14 bytes.
73225
73226 2003-07-31  Bruno Haible  <bruno@clisp.org>
73227
73228         * modules/getpass-gnu: New file.
73229         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
73230
73231 2003-07-31  Bruno Haible  <bruno@clisp.org>
73232
73233         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
73234
73235 2003-07-24  Karl Berry  <karl@gnu.org>
73236
73237         * config/missing: update from automake.
73238
73239 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
73240             Bruno Haible  <bruno@clisp.org>
73241
73242         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
73243         * lib/getline.c (getline, getdelim): Likewise.
73244         Remove _GNU_SOURCE define; now it's defined in config.h through
73245         m4/getline.m4.
73246
73247 2003-07-23  Karl Berry  <karl@gnu.org>
73248
73249         * config/config.sub: update from prep.
73250
73251 2003-07-22  Paul Eggert  <eggert@twinsun.com>
73252
73253         * modules/xalloc (Depends-on): Add exitfail.
73254         * modules/xmemcoll: Likewise.
73255
73256 2003-07-22  Paul Eggert  <eggert@twinsun.com>
73257
73258         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
73259         over-parenthesization in macros.
73260
73261         Sync with coreutils.
73262
73263         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
73264         required by C99.
73265
73266         Use `exit_failure' for xalloc and xmemcoll instead of their own
73267         private exit-failure variables.
73268         * lib/xalloc.h (xalloc_exit_failure): Remove.
73269         * lib/xmalloc.c: Likewise.  Include exitfail.h.
73270         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
73271         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
73272         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
73273         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
73274
73275 2003-07-20  Jim Meyering  <jim@meyering.net>
73276
73277         * modules/closeout (Depends-on): Add exitfail.
73278         Suggestion from Bruno Haible.
73279
73280 2003-07-19  Karl Berry  <karl@gnu.org>
73281
73282         * config/config.sub: update from prep.
73283
73284 2003-07-18  Paul Eggert  <eggert@twinsun.com>
73285
73286         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
73287         Remove.
73288         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
73289         to test that it can stand by itself.  Include "exitfail.h".
73290         Clients should set exit_failure instead.
73291         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
73292
73293 2003-07-18  Bruno Haible  <bruno@clisp.org>
73294
73295         * modules/getndelim2: New file.
73296         * modules/getline: Share files with module getndelim2.
73297         * modules/getnline: Depend on getndelim2 instead of sharing files with
73298         it. Add getnline.c to lib_SOURCES.
73299         * MODULES.html.sh (func_all_modules): Add getndelim2.
73300
73301 2003-07-18  Bruno Haible  <bruno@clisp.org>
73302
73303         * m4/getndelim2.m4: New file.
73304         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
73305         invoke gl_PREREQ_GETNDELIM2.
73306         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
73307         gl_PREREQ_GETNDELIM2.
73308         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
73309         gl_GETNDELIM2.
73310
73311 2003-07-18  Bruno Haible  <bruno@clisp.org>
73312
73313         * lib/getndelim2.h: New file.
73314         * lib/getndelim2.c: Make into a module of its own. Include config.h,
73315         getndelim2.h.
73316         (getndelim2): Make non-static. Change return type to ssize_t.
73317         * lib/getline.h: Change argument names.
73318         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
73319         * lib/getnline.c: Include getndelim2.h.
73320
73321 2003-07-18  Andreas Schwab  <schwab@suse.de>
73322
73323         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
73324
73325 2003-07-17  Karl Berry  <karl@gnu.org>
73326
73327         * config/config.sub: update from prep.
73328
73329 2003-07-17  Bruno Haible  <bruno@clisp.org>
73330
73331         * modules/getnline: New file.
73332         * modules/getline: Add lib/getndelim2.c to source file list.
73333         * MODULES.html.sh (func_all_modules): Add getnline.
73334
73335 2003-07-17  Bruno Haible  <bruno@clisp.org>
73336
73337         * m4/getnline.m4: New file.
73338
73339 2003-07-17  Bruno Haible  <bruno@clisp.org>
73340
73341         * m4/Makefile.am.in: Remove file.
73342         * m4/Makefile.am: Remove file.
73343         * m4/Makefile.in: Remove file.
73344
73345 2003-07-17  Bruno Haible  <bruno@clisp.org>
73346
73347         * lib/getnline.h: New file.
73348         * lib/getnline.c: New file.
73349         * lib/getndelim2.c: New file, extracted from getline.c.
73350         (getndelim2): Renamed from getdelim2, with added nmax argument.
73351         * lib/getline.c: Include getndelim2.c.
73352         (getdelim2): Moved out to getndelim2.c.
73353         (getline, getdelim): Update.
73354
73355 2003-07-17  Bruno Haible  <bruno@clisp.org>
73356
73357         * lib/Makefile.am: Remove file.
73358         * lib/Makefile.in: Remove file.
73359
73360 2003-07-17  Bruno Haible  <bruno@clisp.org>
73361
73362         * configure.in: Remove file.
73363         * Makefile.in: Remove file.
73364
73365 2003-07-17  Bruno Haible  <bruno@clisp.org>
73366
73367         * MODULES.html.sh: Put the </BODY> right before </HTML>.
73368
73369 2003-07-16  Karl Berry  <karl@gnu.org>
73370
73371         * config/srclist-update: was running fixlicense twice, which caused
73372                 texinfo.tex to be nullified for some reason.  Simplify,
73373                 $gplsrc is no longer needed as far as I can see?
73374
73375 2003-07-16  Jim Meyering  <jim@meyering.net>
73376
73377         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
73378
73379 2003-07-15  Paul Eggert  <eggert@twinsun.com>
73380
73381         * config/srclist.txt: Get the following files from gettext-runtime/intl
73382         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
73383         ref-del.sin.  From Bruno Haible.
73384         * config/srclist-update (fixfile): Change grep pattern again, since the
73385         previous fix didn't work (there was another trailing $).  Use
73386         '[$]' to escape the $s.
73387
73388 2003-07-15  Karl Berry  <karl@gnu.org>
73389
73390         * lib/vasnprintf.c: update from gettext.
73391
73392 2003-07-15  Karl Berry  <karl@gnu.org>
73393
73394         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
73395         gets expanded when surrounded by '$'.
73396
73397 2003-07-15  Jim Meyering  <jim@meyering.net>
73398
73399         * modules/save-cwd: Don't depend on error.  From Derek Price.
73400
73401 2003-07-15  Jim Meyering  <jim@meyering.net>
73402
73403         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
73404
73405 2003-07-14  Simon Josefsson  <jas@extundo.com>
73406
73407         * modules/mempcpy: New file.
73408         * MODULES.html.sh (func_all_modules): Add mempcpy.
73409
73410 2003-07-14  Simon Josefsson  <jas@extundo.com>
73411
73412         * m4/mempcpy.m4: New file.
73413
73414 2003-07-14  Simon Josefsson  <jas@extundo.com>
73415
73416         * lib/mempcpy.h: New file.
73417         * lib/mempcpy.c: New file.
73418
73419 2003-07-14  Paul Eggert  <eggert@twinsun.com>
73420
73421         * modules/getdate, modules/posixtm: Depend on mktime.
73422
73423 2003-07-14  Paul Eggert  <eggert@twinsun.com>
73424
73425         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
73426         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
73427         unicodeio.c, unicodeio.h, unlocked-io.h:
73428         Switch from LGPL to GPL.
73429
73430 2003-07-14  Paul Eggert  <eggert@twinsun.com>
73431
73432         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
73433         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
73434         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
73435         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
73436         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
73437         updated automatically by ../config/srclist-update.  This changes
73438         their license from LPGL to GPL.
73439
73440 2003-07-14  Paul Eggert  <eggert@twinsun.com>
73441
73442         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
73443         assumed to refer to the root of the most recent stable gettext version.
73444         * config/srclistvars.sh: Add defaults for eggert.
73445         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
73446         Match "This program" as well as "The program".  This is needed
73447         for gettext.
73448
73449 2003-07-14  Jim Meyering  <jim@meyering.net>
73450
73451         Don't emit diagnostics.  Let callers do that.
73452         * lib/save-cwd.c: Don't include "error.h".
73453         (save_cwd): Don't call error.  Ensure that errno is valid
73454         when returning nonzero.
73455
73456         * lib/save-cwd.h (restore_cwd): Update prototype.
73457         * lib/save-cwd.c (restore_cwd): Remove two parameters.
73458         Simplify.  Don't call error upon failure.  Let callers do that.
73459         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
73460         when auditing is enabled.  But don't bother updating the #if.
73461
73462 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
73463
73464         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
73465         it breaks C++ compilation.
73466         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
73467
73468 2003-07-10  Simon Josefsson  <jas@extundo.com>
73469
73470         * modules/strchrnul (Makefile.am): Add strchrnul.h.
73471
73472 2003-07-10  Jim Meyering  <jim@meyering.net>
73473
73474         * m4/clock_time.m4: Remove trailing blank.
73475         * m4/intmax_t.m4: Likewise.
73476
73477 2003-07-10  Jim Meyering  <jim@meyering.net>
73478
73479         * lib/vasnprintf.c: Remove trailing blanks.
73480         Make cpp indentation consistent.
73481
73482 2003-07-09  Paul Eggert  <eggert@twinsun.com>
73483
73484         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
73485         posixver.c, strftime.c, strnlen.c, strverscmp.c:
73486         Switch from LGPL to GPL.
73487
73488 2003-07-09  Paul Eggert  <eggert@twinsun.com>
73489
73490         * config/srclist.txt: Sort sublists.  Add
73491         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
73492         that differ from gnulib for one reason or another; we'd like this list
73493         to be smaller but for now let's document what we have.
73494
73495 2003-07-08  Paul Eggert  <eggert@twinsun.com>
73496
73497         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
73498         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
73499         and sweeter "eval x=$x".
73500         * config/srclist.txt: Get lib/argp* from glibc.
73501
73502 2003-07-07  Paul Eggert  <eggert@twinsun.com>
73503
73504         * lib/mktime.c: Fix some boundary cases and remove need for floating
73505         point.
73506
73507         Issue a compile-time diagnostic if time_t is floating point, or if
73508         two's complement arithmetic is not in effect, or if arithmetic
73509         right shift does not propagate the sign.  These assumptions were
73510         all in the original code but they weren't checked.
73511
73512         (TIME_T_MIDPOINT, verify): New macros.
73513         (__isleap): Remove; it has integer overflow problems.
73514         (leapyear): New function, without those problems.
73515         (ydhms_tm_diff): Remove; splitting into two parts.
73516         (ydhms_diff): New function, containing the arithmetic part of
73517         the old ydhms_tm_diff function.  Issue a compile-time
73518         diagnostic if we are not using C99 integer division.
73519         Avoid casts when possible.
73520         (guess_time_tm): New function, containing the checking part of
73521         the old ydhms_tm_diff function.  Return the new value, rather than
73522         the difference between it and the old.  Accept a new argument T
73523         so that *T specifies the old value.  Check for overflow in the result.
73524
73525         (__mktime_internal): Use a time_t offset, not a long int offset.
73526         This undoes the 2003-06-04 change, which is no longer needed now
73527         that we have better overflow checking.
73528         (localtime_offset): Likewise.
73529
73530         (__mktime_internal): Avoid harmful overflow on hosts where time_t
73531         and long are 64-bit but int is only 32-bit.
73532         (ydhms_diff): Use long int to store year1 and yday1.
73533         Issue a compile-time diagnostic if long int is not wide enough.
73534
73535         (__mktime_internal): Use long int to store adjusted year and yday.
73536         Use plain C rather than preprocessor commands, if that doesn't
73537         affect efficiency.
73538         Check for overflow (and try to repair) after each probe
73539         rather than checking only at the very end.  This avoids some bugs
73540         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
73541         does not equal GMT offset at maximum time).
73542         Use integer to check for overflow rather than floating point; this
73543         is more portable to non-IEEE hosts, and is a tad faster.
73544         When we detect that we are oscillating between two values,
73545         don't check whether tm_isdst has the requested value, since
73546         we already know the answer.  When tm_isdst has the wrong value,
73547         use a different heuristic to find the right one, based on the
73548         extreme values actually observed in practice in tz2003a,
73549         rather than the (overly optimistic) "previous 3 calendar quarters".
73550
73551         (not_equal_tm, print_tm, check_result): Use "const T" rather than
73552         "T const" to accommodate glibc style.
73553         (check_result): Use less-confusing report format.  "long" -> "long int.
73554         (main): Likewise.
73555         Don't loop if the iteration overflows time_t.
73556         Allow a negative step in the iteration.
73557
73558 2003-07-06  Karl Berry  <karl@gnu.org>
73559
73560         * config/depcomp: update from automake.
73561         * config/config.sub: update from prep.
73562
73563 2003-07-03  Karl Berry  <karl@gnu.org>
73564
73565         * config/config.guess: update from prep.
73566
73567 2003-07-01  Paul Eggert  <eggert@twinsun.com>
73568
73569         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
73570         xreadlink.c now includes it unconditionally.
73571
73572 2003-07-01  Paul Eggert  <eggert@twinsun.com>
73573
73574         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
73575         having it depend on HAVE_SYS_TYPES_H.
73576
73577 2003-07-01  Bruno Haible  <bruno@clisp.org>
73578
73579         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
73580         <sys/types.h> should be sufficient.
73581         Reported by Paul Eggert.
73582
73583 2003-06-26  Karl Berry  <karl@gnu.org>
73584
73585         * config/depcomp: update from automake.
73586
73587 2003-06-26  Bruno Haible  <bruno@clisp.org>
73588
73589         * modules/human: Depend on module stdbool.
73590
73591 2003-06-25  Bruno Haible  <bruno@clisp.org>
73592
73593         * modules/readlink: New file.
73594         * modules/xreadlink: Depend on it.
73595         * MODULES.html.sh (func_all_modules): Add readlink.
73596
73597 2003-06-25  Bruno Haible  <bruno@clisp.org>
73598
73599         * m4/readlink.m4: New file.
73600
73601 2003-06-25  Bruno Haible  <bruno@clisp.org>
73602
73603         * lib/readlink.c: New file.
73604
73605 2003-06-22  Karl Berry  <karl@gnu.org>
73606
73607         * config/srclist.txt: update mkinstalldirs from automake.
73608         * config/mkinstalldirs: update.
73609
73610 2003-06-22  Bruno Haible  <bruno@clisp.org>
73611
73612         Portability to mingw32.
73613         * m4/ssize_t.m4: New file, from GNU gettext.
73614         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
73615         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
73616
73617 2003-06-22  Bruno Haible  <bruno@clisp.org>
73618
73619         * modules/safe-read: Add m4/ssize_t.m4.
73620         * modules/xreadlink: Add m4/ssize_t.m4.
73621
73622 2003-06-20  Bruno Haible  <bruno@clisp.org>
73623
73624         Assume C89, so PARAMS isn't needed.
73625         * lib/unicodeio.h (PARAMS): Remove.
73626         * lib/unicodeio.c: Don't use PARAMS.
73627
73628 2003-06-18  Karl Berry  <karl@gnu.org>
73629
73630         * config/config.{guess,sub}: update from prep.
73631
73632 2003-06-18  Jim Meyering  <jim@meyering.net>
73633
73634         Merge changes from coreutils.
73635         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
73636         Remove explicit declarations of xmalloc and realloc.
73637         Include xalloc.h.
73638         (read_utmp): Remove anachronistic cast of xmalloc.
73639
73640 2003-06-17  Paul Eggert  <eggert@twinsun.com>
73641
73642         Assume C89, so PARAMS isn't needed.
73643         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
73644         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
73645         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
73646         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
73647         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
73648         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
73649         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
73650         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
73651         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
73652         lib/xstrtod.h, lib/xstrtol.h: Likewise.
73653         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
73654         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
73655         no longer needed. Anyway, config.h should always be included before any
73656         other file.
73657
73658 2003-06-11  Simon Josefsson  <jas@extundo.com>
73659
73660         * modules/sysexits: New file.
73661         * MODULES.html.sh (func_all_modules): Add sysexits.
73662
73663 2003-06-11  Simon Josefsson  <jas@extundo.com>
73664
73665         * lib/sysexit_.h: New file.
73666
73667 2003-06-11  Derek Price  <derek@ximbiot.com>
73668
73669         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
73670         necessary.
73671
73672 2003-06-11  Bruno Haible  <bruno@clisp.org>
73673
73674         * m4/sysexits.m4: New file.
73675
73676 2003-06-10  Simon Josefsson  <jas@extundo.com>
73677
73678         * lib/argp.h: New file, from glibc.
73679         * lib/argp-ba.c: New file, from glibc.
73680         * lib/argp-eexst.c: New file, from glibc.
73681         * lib/argp-fmtstream.c: New file, from glibc.
73682         * lib/argp-fmtstream.h: New file, from glibc.
73683         * lib/argp-fs-xinl.c: New file, from glibc.
73684         * lib/argp-help.c: New file, from glibc.
73685         * lib/argp-namefrob.h: New file, from glibc.
73686         * lib/argp-parse.c: New file, from glibc.
73687         * lib/argp-pv.c: New file, from glibc.
73688         * lib/argp-pvh.c: New file, from glibc.
73689         * lib/argp-xinl.c: New file, from glibc.
73690
73691 2003-06-10  Simon Josefsson  <jas@extundo.com>
73692
73693         * modules/strchrnul: New file.
73694
73695 2003-06-10  Simon Josefsson  <jas@extundo.com>
73696
73697         * modules/argp: New file.
73698
73699 2003-06-10  Simon Josefsson  <jas@extundo.com>
73700
73701         * m4/strchrnul.m4: New file.
73702
73703 2003-06-10  Simon Josefsson  <jas@extundo.com>
73704
73705         * lib/strchrnul.h: New file.
73706         * lib/strchrnul.c: New file.
73707
73708 2003-06-10  Bruno Haible  <bruno@clisp.org>
73709
73710         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
73711
73712 2003-06-07  Karl Berry  <karl@gnu.org>
73713
73714         * config/config.{guess,sub}: update from prep.
73715
73716 2003-06-07  Jim Meyering  <jim@meyering.net>
73717
73718         * modules/strtod: Use $(...) notation, not @...@ for
73719         AC_REPLACE'd variables.
73720         * modules/localcharset: Likewise.
73721
73722 2003-06-07  Jim Meyering  <jim@meyering.net>
73723
73724         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
73725         in place of my name in the copyright comment.
73726         Remove definition and uses of __P.
73727
73728         From coreutils.
73729         * lib/stat.c: Don't declare xmalloc explicitly.
73730         Instead, include "xalloc.h".
73731         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
73732         xrealloc, and xcalloc return values.
73733         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
73734         Improve comment.
73735         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
73736
73737 2003-06-07  Bruno Haible  <bruno@clisp.org>
73738
73739         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
73740         avoid AC_CONFIG_LINKS.
73741         * modules/fnmatch (Makefile.am): Use explicit creation rule for
73742         fnmatch.h, to avoid AC_CONFIG_LINKS.
73743         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
73744
73745 2003-06-07  Bruno Haible  <bruno@clisp.org>
73746
73747         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
73748         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
73749         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
73750         directory.
73751         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
73752         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
73753         directory.
73754
73755 2003-06-06  Jim Meyering  <jim@meyering.net>
73756
73757         Merge from coreutils.
73758         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
73759         Consolidate declarations and initializations of *_base* locals.
73760
73761         Merge from coreutils.
73762         This avoids a core dump on systems without GNU putenv,
73763         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
73764         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
73765         (unsetenv): New static function, from GNU libc.
73766         (rpl_putenv): Use it.
73767
73768         * lib/modechange.c: Remove trailing blanks.
73769
73770         Merge from coreutils.
73771         * lib/fsusage.c: Remove declaration of statfs.
73772         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
73773
73774         * lib/posixtm.c: Include <stdbool.h> unconditionally.
73775
73776 2003-06-06  Jim Meyering  <jim@meyering.net>
73777
73778         * lib/stdbool_.h: Renamed from stdbool.h.in.
73779
73780 2003-06-06  Jim Meyering  <jim@meyering.net>
73781             Bruno Haible  <bruno@clisp.org>
73782
73783         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
73784         Adjust Makefile.am snippet not to redirect directly to target.
73785         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
73786
73787 2003-06-05  Paul Eggert  <eggert@twinsun.com>
73788
73789         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
73790         mismatch, look in future quarters as well as past.  This fixes a
73791         bug when processing fall-backwards gaps immediately after a long
73792         period of daylight-saving time.
73793
73794         * lib/mktime.c: Assume freestanding C89 or better.
73795         (HAVE_LIMITS_H): Remove.  Assume it's 1.
73796         (__P): Remove; not used.
73797         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
73798         (mktime, not_equal_tm, print_tm, check_result,
73799         main): Use prototypes.  Use const * where appropriate.
73800         (main): Fix typo in testing code that uncovered by above changes.
73801         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
73802
73803 2003-06-04  Paul Eggert  <eggert@twinsun.com>
73804
73805         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
73806         locale.h, localeconv.  This merges changes from coreutils.
73807
73808         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
73809         It can be removed after the next Autoconf is released.
73810         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
73811         needed.
73812
73813 2003-06-04  Paul Eggert  <eggert@twinsun.com>
73814
73815         * lib/mktime.c: Fix Debian bug 177940
73816         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
73817         (localtime_offset): Now long int, not time_t, because we want it
73818         to be guaranteed to be signed.  All uses changed.
73819         (__mktime_internal): If overflow would occur when adding offset,
73820         don't add it.
73821
73822         Merge 'human' changes from coreutils.  Rewrite to support
73823         locale-specific notations like thousands separators.
73824         * lib/human.c: Simplify authorship notice.
73825         Include human.h immediately after config.h.
73826         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
73827         <limits.h>: Do not include, since human.h does.
73828         (SIZE_MAX, UINTMAX_MAX): New macros.
73829         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
73830         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
73831         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
73832         (power_letter): Renamed from suffixes.
73833         (generate_suffix_backwards): Remove.
73834         (adjust_value): Now takes int style (because of human.h changes)
73835         and long double value (for greater precision on some platforms).
73836         (group_number): New function.
73837         (human_readable): Use it.  Use integer options, not enum.
73838         Put the options before the sizes in the arg list.
73839         Support all the new options.
73840         The old human_readable function has been removed;
73841         use inttostr.h instead.
73842         (human_readable, default_block_size, humblock):
73843         Use uintmax_t, not int, for block sizes.
73844         (human_readable_inexact, block_size_types): Remove.
73845         (block_size_opts): New constant.
73846         (human_options): Renamed from human_block_size, with new signature
73847         that allows block sizes up to UINTMAX_MAX.  All callers changed.
73848         * lib/human.h: Add copyright and authorship notice.
73849         Include <limits.h> and <stdbool.h> unconditionally.
73850         (PARAMS): Remove.  All uses removed.
73851         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
73852         (enum human_inexact_style): Remove tag; now a nameless enum.
73853         (human_floor, human_ceiling, human_round_to_even): Now have
73854         values 2, 0, 1 rather than -1, 1, 0.
73855         (human_group_digits, human_suppress_point_zero, human_autoscale,
73856         human_base_1024, human_SI, human_B): New constants.
73857         (human_readable_inexact, human_block_size): Remove.
73858         (human_readable): Size args are now uintmax_t, not int.
73859         (human_options): New decl.
73860
73861         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
73862         unnecessary now that we assume C89 or better.  This change
73863         imported from coreutils.
73864
73865         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
73866         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
73867         in the 2003-05-30 sync from glibc.
73868
73869         .h files should stand alone, but we shouldn't include <sys/types.h>
73870         if we can get away with just <stddef.h>.
73871
73872         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
73873         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
73874         rather than <sys/types.h>, as we merely need size_t.
73875         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
73876         to get size_t.
73877         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
73878         Include <stdio.h>, to get FILE.
73879         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
73880         memcasecmp.h has included <stddef.h> and all we need is size_t.
73881         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
73882         our interface, instead of including <sys/types.h>
73883
73884 2003-06-04  Paul Eggert  <eggert@twinsun.com>
73885
73886         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
73887         now, as glibc mktime is buggy on non-glibc systems.
73888
73889 2003-06-03  Karl Berry  <karl@gnu.org>
73890
73891         * config/config.sub: update from prep.
73892
73893 2003-06-02  Paul Eggert  <eggert@twinsun.com>
73894
73895         [from coreutils]
73896         Fix some minor time-related bugs with POSIX time arguments.
73897         Some valid time stamps were being rejected (notably -1, and
73898         time stamps before 1900 on 64-bit hosts).  And some invalid
73899         time stamps were being accepted, e.g. September 31.
73900
73901         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
73902         that we can return (time_t) -1 successfully.
73903         * lib/posixtm.c: Likewise.
73904         [HAVE_STDBOOL_H]: Include <stdbool.h>.
73905         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
73906         (t): Remove static var.
73907         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
73908         of static var.  All uses changed.
73909         (year): Do not reject years before 1900; they can occur with
73910         64-bit time_t.
73911         (posix_time_parse): Do not check for out-of-range components;
73912         that is now the caller's responsibility, since our checks were
73913         only approximations.
73914         (posixtime): Use mktime to check for out-of-range components,
73915         since it knows them exactly.
73916         If mktime returns (time_t) -1, check whether an error actually occurred
73917         by invoking localtime on -1.
73918         (main) [TEST_POSIXTIME]: Check for input data errors, and report
73919         posixtime failures better.
73920         Improve the test data (in comments only).
73921
73922 2003-06-02  Karl Berry  <karl@gnu.org>
73923
73924         * config/mkinstalldirs (version): new variable.
73925         (--version): new option.
73926         (usage): improve message.
73927
73928 2003-05-30  Karl Berry  <karl@gnu.org>
73929
73930         * lib/mktime.c: update from libc.
73931
73932 2003-05-30  Bruno Haible  <bruno@clisp.org>
73933
73934         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
73935         * config/config.rpath: Upgrade to gettext-0.12.1.
73936
73937 2003-05-30  Bruno Haible  <bruno@clisp.org>
73938
73939         * m4/gettext.m4: Upgrade to gettext-0.12.1.
73940         * m4/nls.m4: New file, from gettext-0.12.1.
73941         * m4/po.m4: New file, from gettext-0.12.1.
73942         * m4/progtest.m4: Upgrade to gettext-0.12.1.
73943
73944 2003-05-30  Bruno Haible  <bruno@clisp.org>
73945
73946         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
73947         * lib/localcharset.h: Likewise.
73948         * lib/localcharset.c: Likewise.
73949
73950 2003-05-29  Karl Berry  <karl@gnu.org>
73951
73952         * config/config.rpath: update from gettext.
73953
73954 2003-05-28  Paul Eggert  <eggert@twinsun.com>
73955
73956         Assume the headers required for C89 freestanding compilers.
73957         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
73958         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
73959         * m4/human.m4 (gl_HUMAN): Likewise.
73960         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
73961         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
73962         * m4/userspec.m4 (gl_USERSPEC): Likewise.
73963         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
73964         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
73965         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
73966
73967 2003-05-28  Paul Eggert  <eggert@twinsun.com>
73968
73969         Assume the headers required for C89 freestanding compilers.
73970         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
73971         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
73972         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
73973         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
73974         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
73975         define, since <limits.h> is guaranteed to do that.
73976         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
73977         * lib/exclude.c: Include <stdbool.h> unconditionally.
73978         * lib/tempname.c: Include <stddef.h> unconditionally.
73979         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
73980         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
73981         <stddef.h> does that.
73982         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
73983         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
73984         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
73985         needed.
73986         * lib/xstrtol.c: Likewise.
73987         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
73988         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
73989
73990         * lib/addext.c (addext): Use assignment rather than cast, to avoid
73991         warnings on some platforms.
73992
73993         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
73994         arbitrarily.
73995
73996 2003-05-26  Jim Meyering  <jim@meyering.net>
73997
73998         Merge in a change from coreutils:
73999         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
74000         that is guaranteed to be `no'.  Use `no_such_member' to indicate
74001         that condition, rather than `-1' which is slightly misleading.
74002         Change the name of the cache variable to have the gl_ prefix.
74003         Prompted by a patch from Richard Dawe for DJGPP.
74004
74005 2003-05-24  Karl Berry  <karl@gnu.org>
74006
74007         * config/config.guess: update from prep.
74008
74009 2003-05-22  Karl Berry  <karl@gnu.org>
74010
74011         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
74012
74013 2003-05-20  Karl Berry  <karl@gnu.org>
74014
74015         * config/config.guess: update from prep.
74016
74017 2003-05-18  Karl Berry  <karl@gnu.org>
74018
74019         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
74020         might actually be set by the user.
74021
74022         * config/depcomp, install-sh, mdate-sh: update from automake.
74023
74024 2003-05-17  Bruno Haible  <bruno@clisp.org>
74025
74026         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
74027         invalid expansion for AC_EGREP_CPP.
74028         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
74029         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
74030         Suggested by Akim Demaille <akim@epita.fr> in
74031         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
74032
74033 2003-05-12  Jim Meyering  <jim@meyering.net>
74034
74035         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
74036         the space-padded-by-default conversion specifiers, %e, %k, %l.
74037
74038 2003-05-12  Bruno Haible  <bruno@clisp.org>
74039
74040         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
74041         the string is longer than 4 KB.
74042
74043 2003-05-11  Karl Berry  <karl@gnu.org>
74044
74045         * config/config.{guess,sub}: update from prep.
74046
74047 2003-05-09  Bruno Haible  <bruno@clisp.org>
74048
74049         * modules/error: Add m4/strerror_r.m4 to file list.
74050
74051 2003-05-03  Bruno Haible  <bruno@clisp.org>
74052
74053         Upgrade to Unicode-4.0.
74054         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
74055         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
74056         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
74057         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
74058         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
74059         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
74060         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
74061         Change width of U+E0100..U+E01EF from 1 to 0.
74062
74063 2003-04-25  Jim Meyering  <jim@meyering.net>
74064
74065         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
74066         of type size_t, not int.
74067
74068 2003-04-25  Bruno Haible  <bruno@clisp.org>
74069
74070         * lib/copy-file.c: Include <stddef.h>, for size_t.
74071
74072 2003-04-21  Paul Eggert  <eggert@twinsun.com>
74073
74074         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
74075         code which expansion is under static control.  Patch imported from
74076         Akim Demaille's patch to Bison; see
74077         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
74078
74079 2003-04-14  Bruno Haible  <bruno@clisp.org>
74080
74081         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
74082
74083 2003-04-11  Jim Meyering  <jim@meyering.net>
74084
74085         Merge changes from Coreutils.
74086
74087         2003-03-22  Jim Meyering  <jim@meyering.net>
74088
74089         * lib/strftime.c (widen): Cast alloca return value to proper type.
74090
74091         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
74092
74093         From GNU libc.
74094         * lib/strftime.c (my_strftime): Handle very large width
74095         specifications for numeric values correctly.  Improve checks for
74096         overflow.
74097
74098         2003-01-19  Jim Meyering  <jim@meyering.net>
74099
74100         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
74101         definitions.
74102         (nl_get_alt_digit) [! defined my_strftime]: Define.
74103         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
74104         _nl_get_alt_digit and _nl_get_walt_digit.
74105
74106         * lib/strftime.c (my_strftime): Merge in locale-related changes from
74107         libc. These changes have no effect outside of _LIBC.
74108
74109 2003-04-10  Bruno Haible  <bruno@clisp.org>
74110
74111         * modules/findprog: New file.
74112         * MODULES.html.sh (func_all_modules): Add it.
74113
74114 2003-04-10  Bruno Haible  <bruno@clisp.org>
74115
74116         * m4/findprog.m4: New file.
74117         * m4/eaccess.m4: New file.
74118
74119 2003-04-10  Bruno Haible  <bruno@clisp.org>
74120
74121         * lib/findprog.h: New file, from GNU gettext.
74122         * lib/findprog.c: New file, from GNU gettext.
74123
74124 2003-04-05  Jim Meyering  <jim@meyering.net>
74125
74126         Merge changes from Coreutils.
74127
74128         * lib/exclude.h (PARAMS): Remove definition and uses.
74129         * lib/exclude.c: Remove uses of `PARAMS'.
74130
74131         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
74132         Add test-cases for DOS filenames. Declare program_name.
74133         (main): Set up program_name.  Patch by Rich Dawe.
74134
74135         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
74136         error from mntctl.
74137         Use mntctl's return value to drive the entry-processing loop, since
74138         we can't rely on the value of the vmt_length member in the last
74139         entry.  On some systems doing so could result in exhausting
74140         virtual memory.  Based in part on a patch from Mike Jetzer.
74141
74142 2003-04-04  Bruno Haible  <bruno@clisp.org>
74143
74144         * modules/linebreak: New file.
74145         * MODULES.html.sh (func_all_modules): Add it.
74146
74147 2003-04-04  Bruno Haible  <bruno@clisp.org>
74148
74149         * m4/linebreak.m4: New file.
74150
74151 2003-04-04  Bruno Haible  <bruno@clisp.org>
74152
74153         * lib/linebreak.h: New file, from GNU gettext.
74154         * lib/linebreak.c: New file, from GNU gettext with slight
74155         modifications.
74156         * lib/lbrkprop.h: New file, from GNU gettext.
74157
74158 2003-04-03  Bruno Haible  <bruno@clisp.org>
74159
74160         * modules/utf8-ucs4: New file.
74161         * modules/utf16-ucs4: New file.
74162         * modules/ucs4-utf8: New file.
74163         * modules/ucs4-utf16: New file.
74164         * MODULES.html.sh (func_all_modules): Add them.
74165
74166 2003-04-03  Bruno Haible  <bruno@clisp.org>
74167
74168         * m4/utf-ucs4.m4: New file.
74169         * m4/ucs4-utf.m4: New file.
74170
74171 2003-04-03  Bruno Haible  <bruno@clisp.org>
74172
74173         * lib/utf8-ucs4.h: New file, from GNU gettext.
74174         * lib/utf16-ucs4.h: New file, from GNU gettext.
74175         * lib/ucs4-utf8.h: New file, from GNU gettext.
74176         * lib/ucs4-utf16.h: New file, from GNU gettext.
74177
74178 2003-04-02  Bruno Haible  <bruno@clisp.org>
74179
74180         * modules/binary-io: New file.
74181         * MODULES.html.sh (func_all_modules): Add it.
74182
74183 2003-04-02  Bruno Haible  <bruno@clisp.org>
74184
74185         * lib/binary-io.h: New file, from GNU gettext.
74186
74187 2003-04-01  Bruno Haible  <bruno@clisp.org>
74188
74189         * modules/pathname: New file.
74190         * MODULES.html.sh (func_all_modules): Add it.
74191
74192 2003-04-01  Bruno Haible  <bruno@clisp.org>
74193
74194         * lib/pathname.h: New file, from GNU gettext.
74195         * lib/concatpath.c: New file, from GNU gettext.
74196
74197 2003-03-30  Bruno Haible  <bruno@clisp.org>
74198
74199         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
74200
74201 2003-03-30  Bruno Haible  <bruno@clisp.org>
74202
74203         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
74204         function chown() doesn't exist.
74205
74206 2003-03-28  Bruno Haible  <bruno@clisp.org>
74207
74208         * modules/copy-file: New file.
74209         * MODULES.html.sh (func_all_modules): Add it.
74210
74211 2003-03-28  Bruno Haible  <bruno@clisp.org>
74212
74213         * m4/copy-file.m4: New file.
74214
74215 2003-03-28  Bruno Haible  <bruno@clisp.org>
74216
74217         * lib/copy-file.h: New file, from GNU gettext.
74218         * lib/copy-file.c: New file, from GNU gettext.
74219
74220 2003-03-18  Jim Meyering  <jim@meyering.net>
74221
74222         * lib/quote.c (quote_n): Fix typo in comment.
74223
74224 2003-03-18  Bruno Haible  <bruno@clisp.org>
74225
74226         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
74227         checking.
74228         * m4/onceonly_2_57.m4: Likewise.
74229
74230 2003-03-17  Bruno Haible  <bruno@clisp.org>
74231
74232         * m4/onceonly.m4: Require autoconf 2.54 or newer.
74233         (m4_quote): Remove macro.
74234         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
74235
74236 2003-03-14  Jim Meyering  <jim@meyering.net>
74237
74238         Merge changes from Coreutils.
74239         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
74240         to be const, in order to avoid warnings.
74241         (obstack_room): Likewise.
74242         (obstack_empty_p): Likewise.
74243
74244 2003-03-14  Bruno Haible  <bruno@clisp.org>
74245
74246         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
74247         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
74248
74249 2003-03-13  Paul Eggert  <eggert@twinsun.com>
74250
74251         Merge changes from Bison.
74252         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
74253         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
74254         when compiling Bison 1.875's `bitset bset = obstack_alloc
74255         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
74256         * lib/hash.c: Include <stdbool.h> unconditionally.
74257
74258 2003-03-13  Paul Eggert  <eggert@twinsun.com>
74259
74260         * m4/onceonly.m4 (m4_quote): New macro.
74261         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
74262         Quote AC_FOREACH variable-expansions properly.
74263
74264 2003-03-13  Paul Eggert  <eggert@twinsun.com>
74265
74266         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
74267
74268 2003-03-09  Paul Eggert  <eggert@twinsun.com>
74269
74270         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
74271         Reported by Bruce Becker; see:
74272         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
74273
74274 2003-03-03  Paul Eggert  <eggert@twinsun.com>
74275             Bruno Haible  <bruno@clisp.org>
74276
74277         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
74278         Reported by John Hughes, see
74279         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
74280
74281 2003-02-20  Bruno Haible  <bruno@clisp.org>
74282
74283         * MODULES.html.sh (func_all_modules): Add poll.
74284
74285 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
74286
74287         * modules/poll: New file.
74288
74289 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
74290
74291         * lib/poll_.h: New file.
74292         * lib/poll.c: New file.
74293
74294 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
74295
74296         * m4/poll.m4: New file.
74297
74298 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
74299
74300         * modules/mathl: New file.
74301
74302 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
74303
74304         * lib/mathl.h: New file.
74305         * lib/acosl.c: New file.
74306         * lib/asinl.c: New file.
74307         * lib/atanl.c: New file.
74308         * lib/ceill.c: New file.
74309         * lib/cosl.c: New file.
74310         * lib/expl.c: New file.
74311         * lib/floorl.c: New file.
74312         * lib/frexpl.c: New file.
74313         * lib/ldexpl.c: New file.
74314         * lib/logl.c: New file.
74315         * lib/sincosl.c: New file.
74316         * lib/sinl.c: New file.
74317         * lib/sqrtl.c: New file.
74318         * lib/tanl.c: New file.
74319         * lib/trigl.c: New file.
74320         * lib/trigl.h: New file.
74321
74322 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
74323
74324         * m4/mathl.m4: New file.
74325
74326 2003-02-18  Bruno Haible  <bruno@clisp.org>
74327
74328         * MODULES.html.sh (func_all_modules): Add mathl.
74329
74330 2003-02-17  Bruno Haible  <bruno@clisp.org>
74331
74332         * modules/mkdtemp: New module.
74333         * MODULES.html.sh (func_all_modules): Add it.
74334
74335 2003-02-17  Bruno Haible  <bruno@clisp.org>
74336
74337         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
74338
74339 2003-02-17  Bruno Haible  <bruno@clisp.org>
74340
74341         * lib/mkdtemp.h: New file, from GNU gettext.
74342         * lib/mkdtemp.c: New file, from GNU gettext.
74343
74344 2003-02-02  Jim Meyering  <jim@meyering.net>
74345
74346         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
74347         e.g. glibc-2.2.93.
74348
74349 2003-01-31  Bruno Haible  <bruno@clisp.org>
74350
74351         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
74352         'rpl_rename'.
74353         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
74354         'rpl_strnlen'.
74355         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
74356         'rpl_strtod'.
74357         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
74358         'rpl_utime'.
74359
74360 2003-01-31  Bruno Haible  <bruno@clisp.org>
74361
74362         * lib/rename.c: #undef rename before defining rpl_rename.
74363         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
74364
74365 2003-01-30  Bruno Haible  <bruno@clisp.org>
74366
74367         * modules/vasnprintf, modules/vasprintf: New modules.
74368         * MODULES.html.sh (func_all_modules): Add them.
74369
74370 2003-01-30  Bruno Haible  <bruno@clisp.org>
74371
74372         * m4/signed.m4: New file, from GNU gettext.
74373         * m4/longdouble.m4: New file, from GNU gettext.
74374         * m4/wchar_t.m4: New file, from GNU gettext.
74375         * m4/wint_t.m4: New file, from GNU gettext.
74376         * m4/vasnprintf.m4: New file.
74377         * m4/vasprintf.m4: New file.
74378
74379 2003-01-30  Bruno Haible  <bruno@clisp.org>
74380
74381         * lib/printf-args.h: New file, from GNU gettext.
74382         * lib/printf-args.c: New file, from GNU gettext.
74383         * lib/printf-parse.h: New file, from GNU gettext.
74384         * lib/printf-parse.c: New file, from GNU gettext.
74385         * lib/vasnprintf.h: New file, from GNU gettext.
74386         * lib/vasnprintf.c: New file, from GNU gettext.
74387         * lib/asnprintf.c: New file, from GNU gettext.
74388         * lib/vasprintf.h: New file, from GNU gettext with modifications.
74389         * lib/vasprintf.c: New file, from GNU gettext.
74390         * lib/asprintf.c: New file, from GNU gettext.
74391
74392 2003-01-29  Bruno Haible  <bruno@clisp.org>
74393
74394         * modules/stpncpy: New module.
74395         * MODULES.html.sh (func_all_modules): Add it.
74396
74397 2003-01-29  Bruno Haible  <bruno@clisp.org>
74398
74399         * m4/stpncpy.m4: New file.
74400
74401 2003-01-29  Bruno Haible  <bruno@clisp.org>
74402
74403         * lib/stpncpy.h: New file, from GNU gettext with modifications.
74404         * lib/stpncpy.c: New file, from GNU gettext with modifications.
74405
74406 2003-01-28  Bruno Haible  <bruno@clisp.org>
74407
74408         * modules/c-ctype: New module.
74409         * MODULES.html.sh (func_all_modules): Add it.
74410
74411 2003-01-28  Bruno Haible  <bruno@clisp.org>
74412
74413         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
74414         Paul Eggert.
74415         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
74416         Paul Eggert.
74417
74418 2003-01-27  Bruno Haible  <bruno@clisp.org>
74419
74420         * modules/xsetenv: New module.
74421         * MODULES.html.sh (func_all_modules): Add it.
74422
74423 2003-01-27  Bruno Haible  <bruno@clisp.org>
74424
74425         * lib/xsetenv.h: New file, from GNU gettext.
74426         * lib/xsetenv.c: New file, from GNU gettext.
74427
74428 2003-01-23  Jim Meyering  <jim@meyering.net>
74429
74430         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
74431         from working on systems without dirfd (at least Irix and OSF1/Tru64).
74432
74433 2003-01-23  Bruno Haible  <bruno@clisp.org>
74434
74435         * modules/minmax: New module.
74436         * MODULES.html.sh (func_all_modules): Add it.
74437
74438 2003-01-23  Bruno Haible  <bruno@clisp.org>
74439
74440         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
74441         Eggert.
74442
74443 2003-01-22  Bruno Haible  <bruno@clisp.org>
74444
74445         * modules/exit: New module.
74446         * MODULES.html.sh (func_all_modules): Add it.
74447
74448 2003-01-22  Bruno Haible  <bruno@clisp.org>
74449
74450         * lib/exit.h: New file, from GNU gettext.
74451
74452 2003-01-19  Bruno Haible  <bruno@clisp.org>
74453
74454         * gnulib-tool: Recognize option --extract-maintainer.
74455         (func_get_maintainer): New function.
74456         * modules/*: Add Maintainer entry.
74457
74458 2003-01-16  Jim Meyering  <jim@meyering.net>
74459
74460         * m4/regex.m4: The `regex' struct is both input and output.
74461         Initialize it before each use.  Patch by Tim Waugh.
74462
74463 2003-01-16  Bruno Haible  <bruno@clisp.org>
74464
74465         * MODULES.html.sh: Add a table of contents. Add the module name as
74466         leftmost column. Add hyperlinks.
74467
74468 2003-01-15  Bruno Haible  <bruno@clisp.org>
74469
74470         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
74471
74472 2003-01-15  Bruno Haible  <bruno@clisp.org>
74473
74474         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
74475         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
74476         suffix.
74477
74478 2003-01-15  Bruno Haible  <bruno@clisp.org>
74479
74480         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
74481
74482 2003-01-15  Bruno Haible  <bruno@clisp.org>
74483
74484         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
74485         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
74486
74487 2003-01-14  Jim Meyering  <jim@meyering.net>
74488
74489         * lib/same.c (same_name): Tweak a comment.
74490
74491 2003-01-14  Bruno Haible  <bruno@clisp.org>
74492
74493         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
74494         when a string comparison is sufficient.
74495
74496 2003-01-14  Bruno Haible  <bruno@clisp.org>
74497
74498         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
74499         'unsigned int'.
74500
74501 2003-01-14  Bruno Haible  <bruno@clisp.org>
74502
74503         * lib/hash-pjw.c: Add comment about low quality of this function.
74504
74505 2003-01-13  Bruno Haible  <bruno@clisp.org>
74506
74507         * modules/stpcpy: Distribute lib/stpcpy.h.
74508         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
74509
74510 2003-01-13  Bruno Haible  <bruno@clisp.org>
74511
74512         * modules/*: Add a description.
74513         * modules/strpbrk: Fix Makefile.am snippet.
74514         * modules/strtoimax: Fix dependencies.
74515         * modules/strtoumax: Likewise.
74516
74517 2003-01-13  Bruno Haible  <bruno@clisp.org>
74518
74519         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
74520         * modules/alloca (Makefile.am): All object files depend on alloca.h.
74521         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
74522
74523 2003-01-13  Bruno Haible  <bruno@clisp.org>
74524
74525         * gnulib-tool (func_create_testdir): Store config/* files in the main
74526         directory.
74527         * config.rpath: Move to ...
74528         * config/config.rpath: ... here.
74529         * modules/gettext: Contains config/config.rpath, not config.rpath.
74530         * modules/iconv: Likewise.
74531
74532 2003-01-12  Paul Eggert  <eggert@twinsun.com>
74533
74534         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
74535         to avoid collisions with libcurses and libreadline.
74536
74537         * m4/getstr.m4: Remove.
74538         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
74539
74540 2003-01-12  Paul Eggert  <eggert@twinsun.com>
74541
74542         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
74543         to avoid collisions with libcurses and libreadline.
74544
74545         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
74546         * lib/getstr.h, getstr.c: Remove.
74547         * lib/getline.c: Include "getline.h", to check interface.
74548         Move body of old getstr.c here: this defines MIN_CHUNK and
74549         declares getdelim2, which is renamed from getstr.
74550         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
74551
74552         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
74553         All uses changed.
74554         * lib/linebuffer.h: Likewise.
74555         (readline): Remove backward-compatibility macro.
74556
74557 2003-01-12  Paul Eggert  <eggert@twinsun.com>
74558
74559         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
74560         to avoid collisions with libcurses and libreadline.
74561         * getstr: Remove.
74562         * MODULES.html.sh: Remove getstr.
74563         * modules/getline: Depend on unlocked-io, not getstr.
74564
74565 2003-01-12  Jim Meyering  <jim@meyering.net>
74566
74567         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
74568
74569 2003-01-10  Bruno Haible  <bruno@clisp.org>
74570
74571         * modules/alloca: Change Makefile.am requirements. Simplify Include
74572         requirements. Add lib/alloca_.h to file list.
74573
74574 2003-01-10  Bruno Haible  <bruno@clisp.org>
74575
74576         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
74577
74578 2003-01-10  Bruno Haible  <bruno@clisp.org>
74579
74580         * lib/alloca_.h: New file.
74581         * lib/getdate.y: Unconditionally include alloca.h.
74582         * lib/makepath.c: Likewise.
74583         * lib/setenv.c: Likewise.
74584         * lib/userspec.c: Likewise.
74585
74586 2003-01-09  Karl Berry  <karl@gnu.org>
74587
74588         * MODULES.html.sh: include `dirname $0` in PATH, to find
74589         gnulib-tool.
74590
74591 2003-01-09  Bruno Haible  <bruno@clisp.org>
74592
74593         * modules/stdbool: Change configure.ac, Makefile.am requirements.
74594         Simplify Include requirements. Add lib/stdbool.h.in to file list.
74595
74596 2003-01-09  Bruno Haible  <bruno@clisp.org>
74597
74598         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
74599
74600 2003-01-09  Bruno Haible  <bruno@clisp.org>
74601
74602         * lib/stdbool.h.in: New file.
74603
74604 2003-01-09  Bruno Haible  <bruno@clisp.org>
74605
74606         * gnulib-tool (func_all_modules): Ignore files ending in ~.
74607         * MODULES.html.sh: Likewise.
74608
74609 2003-01-08  Jim Meyering  <jim@meyering.net>
74610
74611         * lib/full-write.c: Undefine and define-away `const' after inclusion
74612         of errno.h, not before.  Suggestion from Bruno Haible.
74613
74614 2003-01-08  Bruno Haible  <bruno@clisp.org>
74615
74616         * modules/full-read: Depend on full-write.
74617
74618 2003-01-08  Bruno Haible  <bruno@clisp.org>
74619
74620         * lib/safe-read.c: Include specification header first, to ensure its
74621         selfcontainedness.
74622         * lib/full-write.c: Likewise.
74623
74624 2003-01-07  Jim Meyering  <jim@meyering.net>
74625
74626         * lib/full-write.c: Rework so that it may serve to define full_read,
74627         too.
74628         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
74629
74630 2003-01-07  Bruno Haible  <bruno@clisp.org>
74631
74632         * lib/strtoimax.c: Include <stdint.h> as an alternative to
74633         <inttypes.h>.
74634         * lib/xstrtol.h: Likewise.
74635         * lib/xstrtoimax.c: Likewise.
74636         * lib/xstrtoumax.c: Likewise.
74637         * lib/human.h: Likewise.
74638
74639         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
74640         on systems that have <inttypes.h> but not <stdint.h>.
74641
74642 2003-01-07  Bruno Haible  <bruno@clisp.org>
74643
74644         * MODULES.html.sh: Add copyright notice.
74645         (missed_files): Omit CVS directory entries.
74646         (func_module): Make it work with sed-3.02.
74647         * MODULES.txt: Remove file.
74648
74649 2003-01-06  Jim Meyering  <jim@meyering.net>
74650
74651         * lib/version-etc.c: Update year in translatable copyright string.
74652
74653 2003-01-03  Karl Berry  <karl@gnu.org>
74654
74655         * config/config.{guess,sub}: update from prep.
74656
74657 2003-01-02  Karl Berry  <karl@gnu.org>
74658
74659         * doc/COPYING.DOC: belatedly updated to 1.2.
74660
74661 2003-01-01  Karl Berry  <karl@gnu.org>
74662
74663         * gnulib-tool (func_verify_module): report module name $module in
74664         error message, not $1.
74665         * gnulib-tool (create-testdir): don't complain if destdir couldn't
74666         be created, only if it doesn't exist.
74667         * gnulib-tool (last_checkin_date): don't expand the $Date here.
74668
74669 2002-12-31  Paul Eggert  <eggert@twinsun.com>
74670
74671         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
74672
74673 2002-12-31  Paul Eggert  <eggert@twinsun.com>
74674
74675         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
74676         memcmp if strcoll doesn't work.
74677
74678 2002-12-31  Bruno Haible  <bruno@clisp.org>
74679
74680         * lib/utime.c (utime_null): No need to call ftruncate if the file was
74681         nonempty.
74682
74683 2002-12-31  Bruno Haible  <bruno@clisp.org>
74684
74685         * lib/memcoll.c (STRCOLL): New macro.
74686         (memcoll): Use it.
74687
74688 2002-12-31  Bruno Haible  <bruno@clisp.org>
74689
74690         * lib/localcharset.h: New file.
74691         * lib/localcharset.c: Include it.
74692         * lib/unicodeio.c: Likewise.
74693
74694 2002-12-31  Bruno Haible  <bruno@clisp.org>
74695
74696         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
74697         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
74698
74699 2002-12-31  Bruno Haible  <bruno@clisp.org>
74700
74701         * lib/getline.h: Include <stddef.h>, for size_t.
74702
74703         * lib/unicodeio.h: Include <stddef.h>, for size_t.
74704         * lib/unicodeio.c: Don't include <stddef.h>.
74705
74706 2002-12-31  Bruno Haible  <bruno@clisp.org>
74707
74708         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
74709         HAVE_TM_ZONE.
74710
74711 2002-12-24  Karl Berry  <karl@gnu.org>
74712
74713         * config/config.guess: update from prep.
74714
74715 2002-12-24  Bruno Haible  <bruno@clisp.org>
74716
74717         General infrasructure.
74718         * m4/README: Rewritten.
74719         * m4/onceonly.m4: New file.
74720         * m4/onceonly_2_57.m4: New file.
74721
74722         Module atexit.
74723         * m4/atexit.m4: New file.
74724
74725         Module strtod.
74726         * m4/strtod.m4: New file.
74727
74728         Module strtol.
74729         * m4/strtol.m4: New file.
74730
74731         Module strtoul.
74732         * m4/strtoul.m4: New file.
74733
74734         Module memchr.
74735         * m4/memchr.m4: New file.
74736
74737         Module memcmp.
74738         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
74739         (jm_FUNC_MEMCMP): Invoke it.
74740
74741         Module memcpy.
74742         * m4/memcpy.m4: New file.
74743
74744         Module memmove.
74745         * m4/memmove.m4: New file.
74746
74747         Module memset.
74748         * m4/memset.m4: New file.
74749
74750         Module strcspn.
74751         * m4/strcspn.m4: New file.
74752
74753         Module strpbrk.
74754         * m4/strpbrk.m4: New file.
74755
74756         Module strstr.
74757         * m4/strstr.m4: New file.
74758
74759         Module strerror.
74760         * m4/strerror.m4: New file.
74761
74762         Module mktime.
74763         * m4/mktime.m4: Renamed from jm-mktime.m4.
74764         (gl_PREREQ_MKTIME): New macro.
74765         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
74766
74767         Module malloc.
74768         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
74769         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
74770         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
74771
74772         Module realloc.
74773         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
74774         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
74775         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
74776
74777         Module strftime.
74778         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
74779         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
74780         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
74781         gl_TM_GMTOFF.
74782         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
74783
74784         Module xalloc.
74785         * m4/xalloc.m4: New file.
74786
74787         Module alloca.
74788         * m4/alloca.m4: New file.
74789
74790         Module putenv.
74791         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
74792         (jm_FUNC_PUTENV): Invoke it.
74793
74794         Module setenv.
74795         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
74796         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
74797         when invoked twice.
74798         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
74799         gt_FUNC_SETENV.
74800
74801         Module memrchr.
74802         * m4/memrchr.m4: New file.
74803
74804         Module stpcpy.
74805         * m4/stpcpy.m4: New file.
74806
74807         Module strcase.
74808         * m4/strcase.m4: New file.
74809
74810         Module strdup.
74811         * m4/strdup.m4: New file.
74812
74813         Module strnlen.
74814         * m4/strnlen.m4: New file.
74815
74816         Module strndup.
74817         * m4/strndup.m4: New file.
74818
74819         Module xstrtod.
74820         * m4/xstrtod.m4: New file.
74821
74822         Module xstrtol.
74823         * m4/xstrtol.m4: New file.
74824
74825         Module getdate.
74826         * m4/getdate.m4: New file.
74827
74828         Module unlocked-io.
74829         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
74830         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
74831         * m4/jm-glibc-io.m4n: Remove file.
74832
74833         Module long-options.
74834         * m4/long-options.m4: New file.
74835
74836         Module md5.
74837         * m4/md5.m4: New file.
74838
74839         Module sha.
74840         * m4/sha.m4: New file.
74841
74842         Module getstr.
74843         * m4/getstr.m4: New file.
74844
74845         Module getline.
74846         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
74847         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
74848         <sys/types.h>, for size_t. Use the function name gnu_getline, not
74849         simply getline. Infoke gl_PREREQ_GETLINE.
74850
74851         Module obstack.
74852         * m4/obstack.m4: New file.
74853
74854         Module hash.
74855         * m4/hash.m4: New file.
74856
74857         Module readtokens.
74858         * m4/readtokens.m4: New file.
74859
74860         Module strverscmp.
74861         * m4/strverscmp.m4: New file.
74862
74863         Module stdbool.
74864         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
74865         OSF/1.
74866
74867         Module strtoll.
74868         * m4/strtoll.m4: New file.
74869
74870         Module strtoull.
74871         * m4/strtoull.m4: New file.
74872
74873         Module strtoimax.
74874         * m4/strtoimax.m4: New file.
74875
74876         Module strtoumax.
74877         * m4/strtoumax.m4: New file.
74878
74879         Module xstrtoimax.
74880         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
74881         jm_AC_PREREQ_XSTRTOIMAX.
74882         Moved the strtol prerequisites to strtol.m4.
74883         Moved the strtoll prerequisites to strtoll.m4.
74884         Moved the strtoimax prerequisites to strtoimax.m4.
74885
74886         Module xstrtoumax.
74887         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
74888         jm_AC_PREREQ_XSTRTOUMAX.
74889         Moved the strtoul prerequisites to strtoul.m4.
74890         Moved the strtoull prerequisites to strtoull.m4.
74891         Moved the strtoumax prerequisites to strtoumax.m4.
74892
74893         Module chown.
74894         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
74895         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
74896
74897         Module dup2.
74898         * m4/dup2.m4: New file.
74899
74900         Module ftruncate.
74901         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
74902         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
74903
74904         Module getgroups.
74905         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
74906         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
74907
74908         Module gettimeofday.
74909         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
74910         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
74911         gl_PREREQ_GETTIMEOFDAY.
74912
74913         Module mkdir.
74914         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
74915         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
74916
74917         Module mkstemp.
74918         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
74919         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
74920         jm_AC_TYPE_UINTMAX_T.
74921         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
74922
74923         Module stat.
74924         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
74925         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
74926
74927         Module lstat.
74928         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
74929         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
74930
74931         Module timespec.
74932         * m4/timespec.m4 (gl_TIMESPEC): New macro.
74933         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
74934         * m4/st_mtim.m4: Indentation.
74935
74936         Module nanosleep.
74937         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
74938         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
74939         gl_PREREQ_NANOSLEEP.
74940
74941         Module regex.
74942         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
74943         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
74944         (gl_REGEX): New macro.
74945
74946         Module rename.
74947         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
74948         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
74949
74950         Module rmdir.
74951         * m4/rmdir.m4: New file.
74952
74953         Module utime.
74954         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
74955         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
74956         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
74957
74958         Module dirname.
74959         * m4/dirname.m4: New file.
74960
74961         Module getopt.
74962         * m4/getopt.m4: New file.
74963
74964         Module unistd-safer.
74965         * m4/unistd-safer.m4: New file.
74966
74967         Module fnmatch.
74968         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
74969         declaration.
74970         (gl_PREREQ_FNMATCH_EXTRA): New macro.
74971         (gl_FUNC_FNMATCH_POSIX): New macro.
74972         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
74973         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
74974         simply fnmatch.
74975
74976         Module exclude.
74977         * m4/exclude.m4: New file.
74978
74979         Module human.
74980         * m4/human.m4: New file.
74981
74982         Module acl.
74983         * m4/acl.m4: Nop.
74984
74985         Module backupfile.
74986         * m4/backupfile.m4: New file.
74987         * m4/d-ino.m4: Indentation.
74988
74989         Module fsusage.
74990         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
74991         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
74992         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
74993
74994         Module dirfd.
74995         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
74996         requirements.
74997
74998         Module euidaccess.
74999         * m4/euidaccess.m4: New file.
75000
75001         Module file-type.
75002         * m4/file-type.m4: New file.
75003
75004         Module fileblocks.
75005         * m4/fileblocks.m4: New file.
75006
75007         Module filemode.
75008         * m4/filemode.m4: New file.
75009
75010         Module isdir.
75011         * m4/isdir.m4: New file.
75012
75013         Module lchown.
75014         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
75015         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
75016
75017         Module makepath.
75018         * m4/makepath.m4: New file.
75019
75020         Module modechange.
75021         * m4/modechange.m4: New file.
75022
75023         Module mountlist.
75024         * m4/mountlist.m4: New file.
75025         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
75026         Indentation.
75027
75028         Module path-concat.
75029         * m4/path-concat.m4: New file.
75030
75031         Module pathmax.
75032         * m4/pathmax.m4: New file.
75033
75034         Module same.
75035         * m4/same.m4: New file.
75036
75037         Module save-cwd.
75038         * m4/save-cwd.m4: New file.
75039
75040         Module savedir.
75041         * m4/savedir.m4: New file.
75042
75043         Module xgetcwd.
75044         * m4/xgetcwd.m4: New file.
75045         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
75046
75047         Module xreadlink.
75048         * m4/xreadlink.m4: New file.
75049
75050         Module safe-read.
75051         * m4/safe-read.m4: New file.
75052
75053         Module safe-write.
75054         * m4/safe-write.m4: New file.
75055
75056         Module closeout.
75057         * m4/closeout.m4: New file.
75058
75059         Module stdio-safer.
75060         * m4/stdio-safer.m4: New file.
75061
75062         Module getpass.
75063         * m4/getpass.m4: New file.
75064
75065         Module getugroups.
75066         * m4/getugroups.m4: New file.
75067
75068         Module group-member.
75069         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
75070         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
75071
75072         Module idcache.
75073         * m4/idcache.m4: New file.
75074
75075         Module userspec.
75076         * m4/userspec.m4: New file.
75077
75078         Module gettime.
75079         * m4/clock_time.m4: New file.
75080         * m4/gettime.m4: New file.
75081
75082         Module settime.
75083         * m4/settime.m4: New file.
75084
75085         Module posixtm.
75086         * m4/posixtm.m4: New file.
75087
75088         Module gethostname.
75089         * m4/gethostname.m4: New file.
75090
75091         Module canon-host.
75092         * m4/canon-host.m4: New file.
75093
75094         Module gettext.
75095         * m4/codeset.m4: New file, from gettext-0.11.5.
75096         * m4/gettext.m4: New file, from gettext-0.11.5.
75097         * m4/glibc21.m4: New file, from gettext-0.11.5.
75098         * m4/iconv.m4: New file, from gettext-0.11.5.
75099         * m4/intdiv0.m4: New file, from gettext-0.11.5.
75100         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
75101         * m4/inttypes.m4: New file, from gettext-0.11.5.
75102         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
75103         * m4/isc-posix.m4: New file, from gettext-0.11.5.
75104         * m4/lcmessage.m4: New file, from gettext-0.11.5.
75105         * m4/lib-ld.m4: New file, from gettext-0.11.5.
75106         * m4/lib-link.m4: New file, from gettext-0.11.5.
75107         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
75108         * m4/progtest.m4: New file, from gettext-0.11.5.
75109         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
75110         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
75111         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
75112
75113         Module localcharset.
75114         * m4/localcharset.m4: New file.
75115
75116         Module hard-locale.
75117         * m4/hard-locale.m4: New file.
75118
75119         Module mbswidth.
75120         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
75121         onceonly macros.
75122         * m4/mbrtowc.m4: Add comment.
75123
75124         Module memcasecmp.
75125         * m4/memcasecmp.m4: New file.
75126
75127         Module memcoll.
75128         * m4/memcoll.m4: New file.
75129
75130         Module unicodeio.
75131         * m4/unicodeio.m4: New file.
75132
75133         Module rpmatch.
75134         * m4/rpmatch.m4: New file.
75135
75136         Module yesno.
75137         * m4/yesno.m4: New file.
75138
75139         Module exitfail.
75140         * m4/exitfail.m4: New file.
75141
75142         Module c-stack.
75143         * m4/c-stack.m4 (gl_C_STACK): New macro.
75144         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
75145
75146         Module error.
75147         * m4/error.m4 (gl_ERROR): New macro.
75148         (jm_PREREQ_ERROR): Use onceonly macros.
75149
75150         Module fatal.
75151         * m4/fatal.m4: New file.
75152
75153         Module getloadavg.
75154         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
75155         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
75156
75157         Module getpagesize.
75158         * m4/getpagesize.m4: New file.
75159
75160         Module getusershell.
75161         * m4/getusershell.m4: New file.
75162
75163         Module physmem.
75164         * m4/physmem.m4: New file.
75165
75166         Module posixver.
75167         * m4/posixver.m4: New file.
75168
75169         Module quotearg.
75170         * m4/quotearg.m4: New file.
75171
75172         Module quote.
75173         * m4/quote.m4: New file.
75174
75175         Module readutmp.
75176         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
75177
75178         Module sig2str.
75179         * m4/sig2str.m4: New file.
75180
75181         Other.
75182         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
75183         ulonglong.m4.
75184         * m4/intmax_t.m4: New file.
75185         * m4/d-type.m4: Indentation.
75186         * m4/jm-macros.m4: Update.
75187         * m4/prereq.m4 (jm_PREREQ): Update.
75188         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
75189         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
75190         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
75191         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
75192         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
75193         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
75194         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
75195         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
75196         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
75197         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
75198         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
75199         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
75200         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
75201         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
75202         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
75203         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
75204         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
75205         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
75206         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
75207
75208 2002-12-24  Bruno Haible  <bruno@clisp.org>
75209
75210         * MODULES.txt: Update according to m4/ changes.
75211
75212         Module gettext.
75213         * config.rpath: New file, from gettext-0.11.5.
75214
75215         * modules/*: New module descriptions.
75216         * gnulib-tool: New file.
75217         * MODULES.html.sh: New file.
75218
75219 2002-12-21  Karl Berry  <karl@gnu.org>
75220
75221         * doc/fdl.texi: update to version 1.2.
75222
75223 2002-12-19  Karl Berry  <karl@gnu.org>
75224
75225         * config/config.guess: update from prep.
75226
75227 2002-12-18  Bruno Haible  <bruno@clisp.org>
75228
75229         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
75230         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
75231
75232 2002-12-17  Bruno Haible  <bruno@clisp.org>
75233
75234         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
75235         stdlib.h, string.h.
75236
75237 2002-12-17  Bruno Haible  <bruno@clisp.org>
75238
75239         * lib/canon-host.c (strdup): Remove unused declaration.
75240
75241         * lib/fsusage.c: Include full_read.h.
75242         (get_fs_usage): Use full_read instead of safe_read.
75243
75244         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
75245
75246 2002-12-12  Karl Berry  <karl@gnu.org>
75247
75248         * config/config.guess: update from prep.
75249
75250 2002-12-11  Bruno Haible  <bruno@clisp.org>
75251
75252         * m4/setenv.m4: New file, from gettext-0.11.5.
75253
75254 2002-12-11  Bruno Haible  <bruno@clisp.org>
75255
75256         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
75257         not unsetenv().
75258         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
75259         modifications:
75260
75261         2002-12-11  Bruno Haible  <bruno@clisp.org>
75262
75263                 * setenv.c (alloca): Fall back to malloc.
75264                 (freea): New macro.
75265                 (setenv): Use freea() to free memory allocated with alloca().
75266
75267         2002-11-13  Bruno Haible  <bruno@clisp.org>
75268
75269                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
75270                 function declarations.
75271                 * unsetenv.c (unsetenv): Likewise.
75272
75273         2002-03-04  Bruno Haible  <bruno@clisp.org>
75274
75275                 Portability to AIX 4.3.3.
75276                 * unsetenv.c: New file, extracted from setenv.c.
75277                 * setenv.c: Move the unsetenv() function to unsetenv.c.
75278
75279         2001-12-20  Bruno Haible  <bruno@clisp.org>
75280
75281                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
75282                 use malloc instead. For SunOS 4.
75283
75284         2001-12-11  Bruno Haible  <bruno@clisp.org>
75285
75286                 * setenv.c: Declare alloca.
75287                 (compar_fn_t): New typedef.
75288                 (KNOWN_VALUE, STORE_VALUE): Use it.
75289
75290         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
75291         setenv.h.
75292
75293 2002-12-10  Paul Eggert  <eggert@twinsun.com>
75294
75295         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
75296         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
75297         Choose values that are less likely to collide with system fnmatch
75298         options.
75299         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
75300         defined (e.g., a pure POSIX system).
75301         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
75302         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
75303
75304 2002-12-06  Paul Eggert  <eggert@twinsun.com>
75305
75306         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
75307         a pain in practice to deal with generated m4 files.  This change
75308         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
75309
75310         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
75311         and jm-glibc-io.m4, as they are no longer a special case.
75312         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
75313         kludge and the auto-generation stuff.  Check only whether the
75314         functions are declared, not whether they exist, since older hosts
75315         that don't declare the functions can't use the optimization anyway.
75316
75317 2002-12-06  Jim Meyering  <jim@meyering.net>
75318
75319         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
75320
75321         Merge in changes from libc's misc/error.c, in preparation
75322         for the merge of gnulib's changes back into libc.
75323
75324         * lib/error.c (_): Define only if not already defined.
75325         Move definition to follow all #include directives.
75326         Include unlocked-io.h only if !_LIBC.
75327         [_LIBC]: Include <libio/libioP.h>.
75328         [USE_IN_LIBIO]: Include <libio/iolibio.h>
75329         (fflush): Tweak definition to use INTUSE.
75330         (putc): Define.
75331
75332 2002-12-05  Paul Eggert  <eggert@twinsun.com>
75333
75334         * lib/alloca.c [defined emacs]: Include "lisp.h".
75335         (xalloc_die) [defined emacs]: New macro.
75336         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
75337         [! defined emacs]: Include <xalloc.h>.
75338         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
75339         (pointer): Typedef to POINTER_TYPE *.
75340         (malloc): Remove decl; we now always use xmalloc.
75341         (alloca): Use old-style definition, since Emacs needs this.
75342         Check for arithmetic overflow when computing combined size.
75343
75344 2002-12-04  Paul Eggert  <eggert@twinsun.com>
75345
75346         Do not generate unlocked-io.h automatically, since it's easier to
75347         maintain it by hand.
75348
75349         * lib/unlocked-io.h: New file, from GNU diffutils,
75350         but with proper copyright notice and attribution.
75351         * lib/gen-uio: Remove.
75352         * lib/Makefile.am: Add copyright notice.
75353         (libfetish_a_SOURCES): Add unlocked-io.h.
75354         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
75355         (DISTCLEANFILES, io_functions): Remove macros.
75356         (EXTRA_DIST): Remove gen_uio.
75357         (unlocked-io.h): Remove rule.
75358
75359 2002-12-04  Jim Meyering  <jim@meyering.net>
75360
75361         Reflect the fact that stat.c and lstat.c are no longer generated.
75362         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
75363         (DISTCLEANFILES): Likewise.
75364         (EXTRA_DIST): Likewise.
75365         (all_local): Don't depend on stat.c or lstat.c.
75366         (stat.c, lstat.c): Remove rules.
75367         (EXTRA_DIST): Remove xstat.in.
75368
75369         * lib/xstat.in: Remove file.  Contents moved into stat.c.
75370         * lib/stat.c: New file.  Contents mostly from xstat.in.
75371         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
75372         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
75373
75374         * lib/safe-read.c: Rework so that it may serve to define safe_write,
75375         too.
75376         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
75377
75378 2002-12-03  Jim Meyering  <jim@meyering.net>
75379
75380         * lib/safe-read.c, safe-write.c: Change variable names and comments,
75381         but not semantics, to minimize the differences between these two files.
75382         (safe_read): Change comment to mention SAFE_READ_ERROR.
75383
75384         * lib/safe-read.c (IS_EINTR): Define.
75385         (safe_read): Use IS_EINTR in place of in-function cpp directives.
75386
75387 2002-12-02  Jim Meyering  <jim@meyering.net>
75388
75389         * lib/safe-read.c (EINTR): Define.
75390         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
75391         (INT_MAX): Provide fallback.
75392         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
75393
75394         * lib/safe-read.h (SAFE_READ_ERROR): Define.
75395
75396 2002-12-02  Bruno Haible  <bruno@clisp.org>
75397
75398         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
75399         Define, taken from safe-read.c.
75400         (INT_MAX): Provide fallback.
75401         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
75402         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
75403
75404         * lib/safe-read.c (EINTR): Remove definition.
75405         (safe_read): Don't use EINTR if it is absent.
75406
75407 2002-12-01  Jim Meyering  <jim@meyering.net>
75408
75409         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
75410         zero.
75411         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
75412
75413 2002-11-27  Paul Eggert  <eggert@twinsun.com>
75414
75415         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
75416         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
75417         with `if (! (value < limit)) abort ();', for readability.
75418
75419 2002-11-26  Karl Berry  <karl@gnu.org>
75420
75421         * lib/strdup.c: copy from libc again, with jim's ok.
75422         * lib/.cppi-disable: re-add strdup.c
75423
75424 2002-11-25  Karl Berry  <karl@gnu.org>
75425
75426         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
75427         instead of "strtol.c".
75428
75429 2002-11-25  Karl Berry  <karl@gnu.org>
75430
75431         * config/install-sh: update from automake for variable quoting, $0 in
75432         error msgs, etc.
75433
75434         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
75435         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
75436         entry.
75437
75438 2002-11-25  Jim Meyering  <jim@meyering.net>
75439
75440         * lib/mktime.c: Sync from libc, now that it has the latest fix.
75441
75442 2002-11-24  Karl Berry  <karl@gnu.org>
75443
75444         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
75445         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
75446
75447 2002-11-24  Jim Meyering  <jim@meyering.net>
75448
75449         Update from coreutils:
75450
75451         * lib/mktime.c: Merge in changes from libc.
75452
75453         Avoid a link-time failure on some Linux systems.
75454         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
75455         (otherwise).
75456         (__mon_yday): Declare with the STATIC attribute.
75457         (__mktime_internal): Likewise.
75458         Based on a report from Greg Schafer.
75459
75460 2002-11-23  Jim Meyering  <jim@meyering.net>
75461
75462         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
75463         Use `unsigned', not `int', as type of index.
75464
75465         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
75466
75467         * lib/fsusage.c: Remove unneeded parentheses around operands of
75468         `defined'.
75469
75470 2002-11-22  Paul Eggert  <eggert@twinsun.com>
75471
75472         * lib/quotearg.h: Allow multiple inclusion by surrounding with
75473         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
75474         so that we can be included first.
75475         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
75476         * lib/quotearg.c: Include quotearg.h immediately after config.h.
75477         No need to include stddef.h or sys/types.h any more.
75478         Surround local include files with "", not "<>".
75479         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
75480         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
75481         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
75482         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
75483         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
75484         (ISPRINT): Remove; no longer needed now that we assume C89.
75485
75486         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
75487         Preserve errno.
75488
75489         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
75490         quotearg_char): Use SIZE_MAX rather than
75491         (size_t) -1 when we are talking about "infinity".
75492
75493         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
75494
75495 2002-11-22  Paul Eggert  <eggert@twinsun.com>
75496
75497         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
75498         hint that one should use `if (! x) abort ();' rather than `assert
75499         (x);', and anyway it's one less thing to worry about configuring.
75500         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
75501         hash_rehash, hash_insert): Use abort rather than assert.
75502
75503 2002-11-22  Bruno Haible  <bruno@clisp.org>
75504
75505         * lib/safe-read.h: Assume C89. Add comments.
75506         (safe_read): Change return type to size_t.
75507         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
75508         byte counts > SSIZE_MAX correctly.
75509         * lib/safe-write.h: New file.
75510         * lib/safe-write.c: New file.
75511         * lib/full-read.h: New file.
75512         * lib/full-read.c: New file.
75513         * lib/full-write.h: Assume C89. Add comments.
75514         * lib/full-write.c: Include safe-write.h.
75515         (full_write): Rewritten to use safe_write.
75516         Suggested by Jim Meyering and Paul Eggert.
75517
75518 2002-11-21  Jim Meyering  <jim@meyering.net>
75519
75520         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
75521
75522         Merge in changes from the coreutils.
75523
75524         2002-09-25  Paul Eggert  <eggert@twinsun.com>
75525         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
75526         <stdint.h>.
75527         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
75528         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
75529         int.  Work more efficiently if X is the same width as uintmax_t.
75530         Do not compare X to -1, to avoid bogus compiler warning.
75531         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
75532         Don't assume that f_frsize and f_bsize are the same type.
75533
75534         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
75535         warning on FreeBSD.
75536
75537         * lib/makepath.c (make_path): Restore umask *before* creating the final
75538         component.
75539         (make_path): Minor reformatting.
75540
75541         * lib/xmalloc.c: Adjust to work with new autoconf macros,
75542         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
75543         HAVE_MALLOC/HAVE_REALLOC.
75544
75545         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
75546         dummy ones.  At least on GNU/Linux systems, `auto' means something
75547         else.
75548         From Michael Stone.
75549
75550 2002-11-21  Bruno Haible  <bruno@clisp.org>
75551
75552         Remove case insensitive option matching.
75553         * lib/argmatch.h (argcasematch): Remove declaration.
75554         (ARGCASEMATCH): Remove macro.
75555         (__xargmatch_internal): Remove case_sensitive argument.
75556         (XARGMATCH): Update.
75557         (XARGCASEMATCH): Remove macro.
75558         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
75559         case_sensitive argument.
75560         (argcasematch): Remove function.
75561         (__xargmatch_internal): Remove case_sensitive argument.
75562         (main): Use XARGMATCH instead of XARGCASEMATCH.
75563
75564         * lib/xmalloc.c: Change compile-time error message. Add comment about
75565         required autoconf version.
75566
75567 2002-11-20  Paul Eggert  <eggert@twinsun.com>
75568
75569         Merge argmatch cleanups from Bison.  Assume C89.
75570
75571         * lib/argmatch.c: Include config.h here, not in argmatch.h.
75572         Include stdlib.h, for EXIT_FAILURE.
75573         Always include <string.h>, since we assume C89.
75574         (EXIT_FAILURE): Remove pre-C89 bug workaround.
75575         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
75576         Include <stddef.h> instead, since it's all we need for size_t.
75577         (PARAMS): Remove.  All uses removed.
75578         (ARRAY_CARDINALITY): Do not bother to #undef.
75579         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
75580         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
75581         Remove unnecessary parentheses.
75582         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
75583         Insert necessary parentheses.
75584         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
75585         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
75586
75587 2002-11-19  Bruno Haible  <bruno@clisp.org>
75588
75589         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
75590         * lib/mbswidth.h: Include <stddef.h>, for size_t.
75591
75592         * lib/mbswidth.h (PARAMS): Remove macro.
75593         (mbswidth, mbsnwidth): Use ANSI C function declarations.
75594         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
75595
75596         * lib/gcd.h (PARAMS): Remove macro.
75597         (gcd): Use ANSI C function declarations.
75598         * lib/gcd.c (gcd): Likewise.
75599
75600 2002-11-15  Bruno Haible  <bruno@clisp.org>
75601
75602         * lib/strcspn.c: Include <stddef.h>.
75603         (strcspn): Use ANSI C function declaration. Change return type to
75604         size_t. Use NULL.
75605         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
75606         (strpbrk): Use NULL.
75607         * lib/strpbrk.h (PARAMS): Remove macro.
75608         (strpbrk): Use ANSI C function declaration.
75609         * lib/strstr.c: Don't include <sys/types.h>.
75610         * lib/strstr.h (PARAMS): Remove macro.
75611         (strstr): Use ANSI C function declarations.
75612
75613 2002-11-14  Karl Berry  <karl@gnu.org>
75614
75615         * config/mkinstalldirs: `do' on separate line, instead of
75616         `for var; do'.
75617
75618 2002-11-06  Bruno Haible  <bruno@clisp.org>
75619
75620         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
75621         * lib/gcd.c (gcd): Likewise.
75622
75623 2002-11-05  Bruno Haible  <bruno@clisp.org>
75624
75625         * lib/gcd.h: New file, from gettext-0.11.5.
75626         * lib/gcd.c: New file, from gettext-0.11.5.
75627
75628 2002-11-05  Bruno Haible  <bruno@clisp.org>
75629
75630         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
75631         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
75632         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
75633         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
75634
75635         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
75636         <libintl.h>.
75637         * lib/makepath.c: Include gettext.h instead of <locale.h> and
75638         <libintl.h>.
75639
75640         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
75641         * lib/human.c: Include gettext.h instead of <libintl.h>.
75642         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
75643         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
75644         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
75645         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
75646         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
75647         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
75648         (textdomain): Remove definition.
75649         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
75650
75651         * lib/long-options.c: Remove include of <libintl.h> and definition of
75652         _.
75653         * lib/same.c: Remove include of <libintl.h> and definition of _.
75654
75655 2002-11-04  Owen Taylor  <otaylor@redhat.com>
75656
75657         * lib/config.charset: A few additions for Solaris.
75658
75659 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
75660
75661         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
75662         * lib/localcharset.c (locale_charset): Declare as extern "C".
75663
75664 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
75665
75666         * lib/config.charset: msdos in uk_UA uses CP1125.
75667
75668 2002-11-04  Bruno Haible  <bruno@clisp.org>
75669
75670         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
75671         * lib/strcase.h: New file, from GNU gettext-0.11.5.
75672         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
75673         * lib/strstr.h: New file, from GNU gettext-0.11.5.
75674         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
75675
75676 2002-11-04  Bruno Haible  <bruno@clisp.org>
75677
75678         * lib/localcharset.c (locale_charset): Don't return an empty string.
75679
75680 2002-11-04  Bruno Haible  <bruno@clisp.org>
75681
75682         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
75683         aliases.
75684
75685 2002-11-04  Bruno Haible  <bruno@clisp.org>
75686
75687         * lib/config.charset: Update for newest glibc. Add canonical names
75688         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
75689
75690 2002-11-04  Bruno Haible  <bruno@clisp.org>
75691
75692         * lib/config.charset: Add support for NetBSD.
75693
75694 2002-11-04  Bruno Haible  <bruno@clisp.org>
75695
75696         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
75697
75698 2002-11-01  Bruno Haible  <bruno@clisp.org>
75699
75700         * configure.in: Add AC_CONFIG_AUX_DIR call.
75701         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
75702         test/Makefile.
75703         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
75704
75705 2002-09-28  Karl Berry  <karl@gnu.org>
75706
75707         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
75708         installed automake until the next release, since changes have been
75709         made.
75710
75711 2002-09-25  Karl Berry  <karl@gnu.org>
75712
75713         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
75714         * lib/getopt*: copy from libc/posix.
75715         * lib/gettext.h: copy from gettext.
75716         * lib/.cppi-disable: add strdup.c, gettext.h.
75717
75718 2002-09-25  Karl Berry  <karl@gnu.org>
75719
75720         * config/srclist.txt: enable gettext.h check.
75721         * config/config.{guess,sub}: update from prep.
75722         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
75723                 from automake 1.6.3.
75724         See srclist*.
75725
75726 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
75727
75728         * regex.c (PATFETCH): Remove the translating fetch.
75729         (PATFETCH_RAW): Rename to PATFETCH.
75730         (set_image_of_range): New fun.
75731         (SET_RANGE_TABLE_WORK_AREA): Use it.
75732         (regex_compile): Don't translate the pattern chars so eagerly.
75733         Only do it when inserting an `exactn' bytecode or when handling
75734         a char-range.
75735         (mutually_exclusive_p): Avoid empty statement.
75736
75737 2002-07-06  Jim Meyering  <meyering@lucent.com>
75738
75739         * m4/README: Don't mention Makefile.am.in.
75740         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
75741
75742 2002-07-01  Jim Meyering  <meyering@lucent.com>
75743
75744         * lib/c-stack.c: Include sys/time.h.
75745         From Volker Borchert.
75746
75747 2002-06-26  Paul Eggert  <eggert@twinsun.com>
75748
75749         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
75750
75751 2002-06-26  Paul Eggert  <eggert@twinsun.com>
75752
75753         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
75754         New macro.  Use it uniformly instead of
75755         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
75756         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
75757         reported by Vin Shelton.
75758
75759 2002-06-22  Paul Eggert  <eggert@twinsun.com>
75760
75761         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
75762         Do not assume SA_SIGINFO behavior.
75763         Bug reported by Jim Meyering on NetBSD 1.5.2.
75764
75765 2002-06-22  Jim Meyering  <meyering@lucent.com>
75766
75767         * m4/c-stack.m4: New file, from diffutils-2.8.2.
75768         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
75769
75770         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
75771         now that configure.ac uses AC_GNU_SOURCE.
75772         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
75773         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
75774
75775         Update to latest tools.  Suggestions from Paul Eggert.
75776         * m4/stdbool.m4: New file, from diffutils-2.8.2.
75777         * m4/gnu-source.m4: Update from diffutils-2.8.2.
75778         * m4/fnmatch.m4: Likewise.
75779         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
75780         to AC_HEADER_STDBOOL
75781
75782 2002-06-22  Jim Meyering  <meyering@lucent.com>
75783
75784         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
75785         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
75786
75787 2002-06-22  Jim Meyering  <meyering@lucent.com>
75788
75789         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
75790
75791         * lib/exitfail.c, exitfail.h: Likewise.
75792         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
75793
75794         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
75795         of fnmatch.h.
75796         (EXTRA_DIST): Add fnmatch_loop.c.
75797         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
75798
75799         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
75800         * lib/fnmatch.c: Update from diffutils-2.8.2.
75801         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
75802         * lib/fnmatch.h: Remove file.
75803
75804 2002-06-21  Jim Meyering  <meyering@lucent.com>
75805
75806         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
75807         * m4/mbrtowc.m4: Likewise.
75808
75809         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
75810         * m4/mbswidth.m4: Reflect name change:
75811         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
75812         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
75813
75814         * m4/lib-link.m4: Update from gettext-0.11.2.
75815         * m4/gettext.m4: Likewise.
75816
75817         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
75818         From Alfred M. Szmidt.
75819
75820 2002-06-18  Paul Eggert  <eggert@twinsun.com>
75821
75822         * lib/file-type.h: Report an error if neither S_ISREG nor
75823         S_IFREG is defined, instead of using a test specific to glibc
75824         2.2.  This should be safe, since POSIX requires S_ISREG and
75825         Unix Version 7 had S_IFREG.  We don't need to check for
75826         <sys/types.h> since we don't use any symbols that it defines.
75827
75828 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
75829
75830         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
75831         $@-t, so that each temporary file name is unique and valid in the first
75832         8 characters, for operation under DOS.
75833
75834 2002-06-15  Paul Eggert  <eggert@twinsun.com>
75835
75836         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
75837
75838 2002-06-15  Jim Meyering  <meyering@lucent.com>
75839
75840         Work even with DJGPP 2.03, which lacks support for symlinks.
75841         From Richard Dawe.
75842         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
75843         is defined.
75844         * lib/lchown.c (S_ISLNK): Likewise.
75845
75846 2002-06-15  Jim Meyering  <meyering@lucent.com>
75847
75848         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
75849         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
75850         have been included before this file.
75851
75852 2002-06-14  Jim Meyering  <meyering@lucent.com>
75853
75854         * lib/file-type.h: Use the version from diffutils-2.8.2.
75855         * lib/file-type.c: Likewise.
75856
75857 2002-06-07  Jim Meyering  <meyering@lucent.com>
75858
75859         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
75860         They're needed at least for NetBSD 1.5.2.
75861         ($statxfs_includes): Include those same headers.
75862         ($statxfs_includes): Include sys/vfs.h if available.
75863         ($statxfs_includes): Likewise for sys/statvfs.h.
75864         Check for the following members in both structs statfs and statvfs:
75865         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
75866
75867 2002-06-01  Jim Meyering  <meyering@lucent.com>
75868
75869         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
75870         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
75871
75872 2002-05-28  Jim Meyering  <meyering@lucent.com>
75873
75874         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
75875         Reported by Volker Borchert.
75876
75877 2002-05-27  Jim Meyering  <meyering@lucent.com>
75878
75879         Fix a problem seen only on nonconforming systems whereby ls.c's
75880         use of localtime, and then of gettimeofday would cause trouble:
75881         the localtime call used to initialize rpl_gettimeofday's save
75882         mechanism would clobber ls's current local time information so
75883         that in any long listing the first file would always be listed
75884         with date 1970-01-01.  Analysis by Volker Borchert.
75885
75886         * lib/gettimeofday.c (localtime): Undefine.
75887         (rpl_localtime): New function.
75888
75889 2002-05-27  Jim Meyering  <meyering@lucent.com>
75890
75891         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
75892         localtime.
75893
75894         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
75895         use the replacement function; it wouldn't resolve at link time.
75896         Reported by Volker Borchert.
75897
75898 2002-05-22  Jim Meyering  <meyering@lucent.com>
75899
75900         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
75901         file-type.h.
75902         * lib/file-type.h: New file.
75903         * lib/file-type.c (file_type): New file/function.  Extracted from
75904         diffutils.
75905
75906 2002-04-30  Jim Meyering  <meyering@lucent.com>
75907
75908         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
75909
75910 2002-04-29  Paul Eggert  <eggert@twinsun.com>
75911
75912         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
75913
75914 2002-04-29  Paul Eggert  <eggert@twinsun.com>
75915
75916         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
75917         Do not check for alloca.h (no longer used) or stdbool.h (was never
75918         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
75919
75920 2002-04-29  Paul Eggert  <eggert@twinsun.com>
75921
75922         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
75923
75924 2002-04-29  Jim Meyering  <meyering@lucent.com>
75925
75926         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
75927         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
75928         Use AC_FUNC_STRNLEN here instead.
75929
75930         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
75931         With autoconf-2.53a, it's part of AC_PROG_CC.
75932
75933 2002-04-28  Paul Eggert  <eggert@twinsun.com>
75934
75935         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
75936         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
75937
75938 2002-04-28  Paul Eggert  <eggert@twinsun.com>
75939
75940         * lib/sig2str.h, lib/sig2str.c: New files.
75941         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
75942
75943 2002-04-28  Paul Eggert  <eggert@twinsun.com>
75944
75945         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
75946         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
75947         of 127, since 64 is the largest conceivable number for ancient
75948         nonstandard hosts.
75949         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
75950
75951 2002-04-28  Jim Meyering  <meyering@lucent.com>
75952
75953         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
75954
75955 2002-04-24  Jim Meyering  <meyering@lucent.com>
75956
75957         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
75958         (jm_PREREQ): Use it.
75959
75960         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
75961         mach/mach.h fcntl.h.
75962         Check for this function: setlocale.
75963
75964 2002-04-24  Jim Meyering  <meyering@lucent.com>
75965
75966         * lib/gettext.h: New file, from Gettext.
75967         * lib/Makefile.am (INCLUDES): Remove -I../intl.
75968         (libfetish_a_SOURCES): Add gettext.h.
75969
75970 2002-04-16  Jim Meyering  <meyering@lucent.com>
75971
75972         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
75973         ut_pid, ut_id, ut_exit.
75974
75975 2002-04-16  Jim Meyering  <meyering@lucent.com>
75976
75977         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
75978         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
75979         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
75980
75981 2002-04-12  Jim Meyering  <meyering@lucent.com>
75982
75983         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
75984         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
75985         existence of the getmntinfo function.  Needed for Darwin 5.3.
75986
75987         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
75988         This is necessary at least on Darwin 5.3.
75989
75990         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
75991         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
75992         strnlen.o in the library, and that makes some versions of ranlib
75993         object.
75994
75995 2002-04-12  Jim Meyering  <meyering@lucent.com>
75996
75997         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
75998
75999 2002-04-09  Jim Meyering  <meyering@lucent.com>
76000
76001         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
76002         to be more precise.  Rather than saying we're checking whether the
76003         function `works', say what we're testing.
76004         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
76005         Reported by Bruno Haible.
76006
76007 2002-03-10  Jim Meyering  <meyering@lucent.com>
76008
76009         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
76010         Suggestion from Santiago Vila.
76011
76012 2002-03-08  Jim Meyering  <meyering@lucent.com>
76013
76014         * lib/rename.c: Mention that this wrapper is needed also on
76015         mips-dec-ultrix4.4 systems.
76016
76017 2002-03-02  Jim Meyering  <meyering@lucent.com>
76018
76019         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
76020         not HAVE_CLOCK_SETTIME.
76021
76022 2002-02-27  Paul Eggert  <eggert@twinsun.com>
76023
76024         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
76025         Check for clock_settime.
76026
76027 2002-02-27  Paul Eggert  <eggert@twinsun.com>
76028
76029         * lib/nanosleep.h: Rename to....
76030         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
76031
76032         * lib/gettime.c: New file.
76033         * lib/settime.c: New file.
76034         * lib/stime.c: Remove.
76035
76036         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
76037         timespec.h.  Remove nanosleep.h.
76038
76039 2002-02-25  Paul Eggert  <eggert@twinsun.com>
76040
76041         * m4/acl.m4: New file.
76042         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
76043         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
76044
76045 2002-02-25  Paul Eggert  <eggert@twinsun.com>
76046
76047         * lib/acl.c, lib/acl.h: New files.
76048         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
76049
76050 2002-02-24  Jim Meyering  <meyering@lucent.com>
76051
76052         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
76053         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
76054         cause trouble.  Reported by Nelson Beebe.
76055
76056 2002-02-23  Paul Eggert  <eggert@twinsun.com>
76057
76058         * lib/path-concat.c (xpath_concat): Reorder code to pacify
76059         compilers that don't know that xalloc_die never returns.
76060
76061 2002-02-20  Jim Meyering  <meyering@lucent.com>
76062
76063         * lib/getdate.c: Regenerate using bison-1.33.
76064
76065 2002-02-17  Jim Meyering  <meyering@lucent.com>
76066
76067         * config/config.guess (main): Don't use `head -1'; it's no longer
76068         portable. Use `sed 1q' instead.
76069
76070 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
76071
76072         * m4/codeset.m4: Upgrade to gettext-0.11.
76073         * m4/gettext.m4: Upgrade to gettext-0.11.
76074         * m4/glibc21.m4: Upgrade to gettext-0.11.
76075         * m4/iconv.m4: Upgrade to gettext-0.11.
76076         * m4/isc-posix.m4: Upgrade to gettext-0.11.
76077         * m4/lcmessage.m4: Upgrade to gettext-0.11.
76078         * m4/lib-ld.m4: New file, from gettext-0.11.
76079         * m4/lib-link.m4: New file, from gettext-0.11.
76080         * m4/lib-prefix.m4: New file, from gettext-0.11.
76081         * m4/progtest.m4: Upgrade to gettext-0.11.
76082
76083 2002-02-15  Paul Eggert  <eggert@twinsun.com>
76084
76085         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
76086         (jm_PREREQ): Use it.
76087
76088 2002-02-15  Paul Eggert  <eggert@twinsun.com>
76089
76090         * lib/posixver.c, lib/posixver.h: New files.
76091         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
76092
76093 2002-02-02  Paul Eggert  <eggert@twinsun.com>
76094             Bruno Haible  <bruno@clisp.org>
76095
76096         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
76097         (fwrite_success_callback): New declaration.
76098         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
76099         print_unicode_char. Call failure callback instead of error.
76100         (fwrite_success_callback): New function.
76101         (exit_failure_callback): New function.
76102         (fallback_failure_callback): New function.
76103         (print_unicode_char): Call unicode_to_mb.
76104
76105 2002-01-26  Jim Meyering  <meyering@lucent.com>
76106
76107         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
76108         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
76109
76110 2002-01-26  Jim Meyering  <meyering@lucent.com>
76111
76112         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
76113
76114 2002-01-22  Paul Eggert  <eggert@twinsun.com>
76115
76116         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
76117
76118 2002-01-22  Jim Meyering  <meyering@lucent.com>
76119
76120         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
76121         Otherwise, some versions of automake would omit the rule that makes
76122         Makefile from Makefile.in.
76123
76124 2002-01-21  Paul Eggert  <eggert@twinsun.com>
76125
76126         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
76127         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
76128         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
76129         (memcoll): Set errno to zero if there is no error.
76130
76131         * lib/quotearg.c (quotearg_buffer_restyled):
76132         Fix bug with quoting buffers containing NUL when backslashing escapes.
76133         This bug was exposed by the other changes in this patch.
76134         (quotearg_n_options): New arg ARGSIZE.
76135         All callers changed.
76136         (quoting_options_from_style): New function.
76137         (quotearg_n_style): Use it.
76138         (quotearg_n_style_mem): New function.
76139
76140         * lib/quotearg.h (quotearg_n_style_mem): New function.
76141
76142 2002-01-19  Jim Meyering  <meyering@lucent.com>
76143
76144         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
76145         Remove useless quotes: DF_PROG="df".
76146         * m4/strnlen.m4: New file.
76147
76148 2002-01-16  Paul Eggert  <eggert@twinsun.com>
76149
76150         * lib/backupfile.c (ISDIGIT): Comment fix.
76151         * lib/getdate.y (ISDIGIT): Likewise.
76152         * lib/posixtm.c (ISDIGIT, year): Likewise.
76153         * lib/strverscmp.c (ISDIGIT): Likewise.
76154         * lib/userspec.c (ISDIGIT): Likewise.
76155
76156 2002-01-16  Jim Meyering  <meyering@lucent.com>
76157
76158         * lib/getdate.y: Add three semicolons, each just before a closing
76159         brace. Bison (as of version 1.31) no longer papers over that mistake.
76160
76161 2002-01-05  Jim Meyering  <meyering@lucent.com>
76162
76163         * lib/version-etc.c (version_etc_copyright): Update copyright year.
76164
76165 2001-12-19  Paul Eggert  <eggert@twinsun.com>
76166
76167         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
76168         not silently exit merely because the output buffer happens to
76169         have nothing pending.
76170
76171 2001-12-18  Paul Eggert  <eggert@twinsun.com>
76172
76173         See the big note in ../ChangeLog.
76174         * lib/human.c (suffixes): Prefer K to k for 1024.
76175         (generate_suffix_backwards): New function.
76176         (human_readable_inexact): Use it.
76177         * lib/xstrtol.c (__xstrtol): If there is no number but there
76178         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
76179         Accept 'K' as well as 'k'.
76180
76181 2001-12-15  Jim Meyering  <meyering@lucent.com>
76182
76183         * lib/regex.h (__restrict_arr): Update from libc.
76184
76185         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
76186         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
76187         (STREQ): Define.
76188
76189 2001-12-14  Jim Meyering  <meyering@lucent.com>
76190
76191         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
76192         Suggestion from Bruno Haible.
76193
76194 2001-12-10  Jim Meyering  <meyering@lucent.com>
76195
76196         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
76197         xrealloc, Instead, include "xalloc.h".
76198         (initbuffer): Don't cast xmalloc return value to char*.
76199         (readline): Reword comment.
76200         Don't cast xrealloc return value to char*
76201         Return NULL, not 0.
76202
76203 2001-12-09  Jim Meyering  <meyering@lucent.com>
76204
76205         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
76206         about `signed and unsigned type in conditional expression'.
76207         * lib/posixtm.c (posix_time_parse): Likewise.
76208
76209         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
76210
76211         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
76212         to avoid a pedantic warning.
76213
76214         * lib/getstr.c: Don't include assert.h.
76215         (getstr): Remove warning-evoking assertions.
76216         Return -1 if offset parameter is out of bounds.
76217         Change the type of a local from int to size_t.
76218
76219         * lib/strftime.c (my_strftime_localtime_r): Include this function
76220         definition in the `#if ! HAVE_TM_GMTOFF' block.
76221
76222         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
76223         Include xalloc.h instead.
76224
76225 2001-12-02  Jim Meyering  <meyering@lucent.com>
76226
76227         * lib/tempname.c: Don't declare getenv, thus reverting the change of
76228         2001-11-18.  It's no longer necessary, now that stdlib.h is always
76229         included.
76230
76231         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
76232         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
76233
76234 2001-11-30  Akim Demaille  <akim@epita.fr>
76235
76236         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
76237         before being defined.
76238
76239 2001-11-27  Paul Eggert  <eggert@twinsun.com>
76240
76241         * lib/quotearg.h (quotearg_n, quotearg_n_style):
76242         First arg is int, not unsigned.
76243         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
76244         (SIZE_MAX, UINT_MAX): New macros.
76245         (quotearg_n_options): Abort if N is negative.
76246         Avoid overflow check on hosts where size_t is 64 bits and int
76247         is 32 bits, as overflow is impossible there.
76248         Fix off-by-one typo that caused unnecessary reallocation.
76249
76250 2001-11-27  Jim Meyering  <meyering@lucent.com>
76251
76252         * lib/tempname.c: Merge with version from libc.
76253         * lib/regex.c: Likewise.
76254
76255         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
76256         systems for which STDC_HEADERS is 0, it was not included, resulting in
76257         a warning about an integer-to-pointer conversion problem with getenv.
76258         Reported by Volker Borchert.
76259
76260 2001-11-26  Jim Meyering  <meyering@lucent.com>
76261
76262         * lib/gtod.h: Remove file.
76263         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
76264         * lib/gettimeofday.c: Don't include gtod.h.
76265         (GTOD_init): Remove function.
76266         (rpl_gettimeofday): Do its job here instead, rather than aborting.
76267         Suggestion from Volker Borchert.
76268
76269 2001-11-23  Jim Meyering  <meyering@lucent.com>
76270
76271         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
76272         it.
76273         * lib/hash.c (struct hash_table): Define it here instead.
76274
76275 2001-11-22  Jim Meyering  <meyering@lucent.com>
76276
76277         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
76278
76279 2001-11-20  Jim Meyering  <meyering@lucent.com>
76280
76281         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
76282         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
76283
76284 2001-11-19  Jim Meyering  <meyering@lucent.com>
76285
76286         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
76287         directory.  Use "conftestXXXXXX" as the template.
76288         Suggestion from Paul Eggert.
76289
76290         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
76291         immediately, so the test doesn't mistakenly hit the max-open-files
76292         limit.
76293
76294 2001-11-18  Paul Eggert  <eggert@twinsun.com>
76295
76296         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
76297         (TEMPORARIES): New macro.
76298         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
76299         removes an artificial limitation (e.g. HP-UX 10.20, where
76300         TMP_MAX is 17576).
76301
76302 2001-11-18  Jim Meyering  <meyering@lucent.com>
76303
76304         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
76305
76306 2001-11-18  Jim Meyering  <meyering@lucent.com>
76307
76308         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
76309         on SunOS 4.
76310
76311         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
76312         files will be created before anything else.
76313
76314 2001-11-17  Paul Eggert  <eggert@twinsun.com>
76315
76316         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
76317         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
76318
76319 2001-11-17  Jim Meyering  <meyering@lucent.com>
76320
76321         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
76322         Prompted by a report from Bob Proulx.
76323
76324         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
76325         Instead, require UTILS_FUNC_MKSTEMP.
76326
76327 2001-11-17  Jim Meyering  <meyering@lucent.com>
76328
76329         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
76330         Now, that's done as part of AC_FUNC_STRTOD.
76331
76332 2001-11-17  Jim Meyering  <meyering@lucent.com>
76333
76334         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
76335         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
76336         rather than group writable.  Patch by Juan F. Codagnone.
76337
76338         * lib/readtokens.c: Remove explicit declarations of xmalloc and
76339         xrealloc, Instead, include "xalloc.h".
76340
76341         * lib/mountlist.c: Include unlocked-io.h after all system headers.
76342         Remove explicit declarations of xmalloc, xrealloc,
76343         and xstrdup.  Instead, include "xalloc.h".
76344
76345         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
76346         unlocked-io.h.
76347         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
76348         Likewise.
76349         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
76350
76351         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
76352         Reported by Padraig Brady.
76353
76354         * lib/mkstemp.c: #undef mkstemp.
76355         Include config.h.
76356         (rpl_mkstemp): Rename from mkstemp.
76357         Protoize.
76358
76359 2001-11-16  Jim Meyering  <meyering@lucent.com>
76360
76361         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
76362         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
76363         determine the amount of total physical memory, use pstat_getstatic.
76364         HPUX-11 doesn't define _SC_PHYS_PAGES.
76365         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
76366         If sysconf couldn't be used to determine the amount of available
76367         physical memory, use both pstat_getstatic and pstat_getdynamic.
76368         Based on a patch from Bob Proulx.
76369
76370 2001-11-10  Jim Meyering  <meyering@lucent.com>
76371
76372         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
76373         (jm_PREREQ): Use it.
76374
76375 2001-11-09  Jim Meyering  <meyering@lucent.com>
76376
76377         * m4/jm-macros.m4: Require autoconf-2.52f.
76378         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
76379         Use these AC_-prefixed names, not the AM_-prefixed ones.
76380
76381         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
76382
76383 2001-11-05  Jim Meyering  <meyering@lucent.com>
76384
76385         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
76386
76387 2001-11-04  Jim Meyering  <meyering@lucent.com>
76388
76389         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
76390         $DEFS.
76391
76392 2001-11-03  Jim Meyering  <meyering@lucent.com>
76393
76394         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
76395         of AC_DEFUN.
76396
76397         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
76398         know the name of the variable in the macro definition.
76399
76400 2001-11-03  Jim Meyering  <meyering@lucent.com>
76401
76402         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
76403         in argmatch_to_argument call.
76404
76405         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
76406         argument.
76407
76408         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
76409         e.g., a fault due to an attempt to free a NULL pointer.
76410
76411 2001-11-01  Jim Meyering  <meyering@lucent.com>
76412
76413         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
76414         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
76415
76416 2001-11-01  Jim Meyering  <meyering@lucent.com>
76417
76418         * lib/dirfd.c, lib/dirfd.h: New files.
76419         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
76420
76421         * lib/hash.c (hash_print) [TESTING]: Clean up.
76422
76423 2001-10-22  Paul Eggert  <eggert@twinsun.com>
76424
76425         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
76426         to avoid a warning if -Wall.
76427
76428 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
76429
76430         * README: New file
76431         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
76432         (per RMS's instructions, this is now the canonical source)
76433         * lgpl/, gpl/: New directories.
76434
76435 2001-10-21  Paul Eggert  <eggert@twinsun.com>
76436
76437         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
76438
76439 2001-10-21  Jim Meyering  <meyering@lucent.com>
76440
76441         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
76442         this code would end up calling gettext even in packages built
76443         with --disable-nls.
76444         * lib/getopt.c (_): Likewise.
76445         * lib/regex.c (_): Likewise.
76446
76447 2001-10-20  Paul Eggert  <eggert@twinsun.com>
76448
76449         * m4/error.m4 (jm_PREREQ_ERROR):
76450         Do not invoke AC_CHECK_FUNCS with strerror_r, as
76451         AC_FUNC_STRERROR_R does that.
76452         Check for strerror declaration.
76453
76454         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
76455         are supposed to have them these days.
76456         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
76457         Merge changes from latest Autoconf CVS.
76458         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
76459         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
76460         POSIX decided to standardize on the int flavor of strerror_r.
76461
76462 2001-10-20  Paul Eggert  <eggert@twinsun.com>
76463
76464         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
76465         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
76466         Use strerror_r that is only a macro, even if it is not a function.
76467         (strerror): Check for HAVE_DECL_STRERROR before declaring.
76468         (private_strerror): Use prototypes, not old-style function definition.
76469         (print_errno_message): New function.
76470         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
76471         char*-flavored one.
76472         (error_tail, error, error_at_line): Use it.
76473
76474 2001-10-11  Jim Meyering  <meyering@lucent.com>
76475
76476         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
76477         and quote_n (1, ... to avoid clobbering a buffer.
76478
76479 2001-10-05  Jim Meyering  <meyering@lucent.com>
76480
76481         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
76482         hash-pjw.h.
76483         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
76484         * lib/hash-pjw.h: New file.
76485
76486 2001-09-30  Jim Meyering  <meyering@lucent.com>
76487
76488         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
76489         `struct fsstat' has the `f_fstypename' member.
76490         Use that to define FS_TYPE, which is now used to make
76491         the getfsstat link test tighter.
76492
76493 2001-09-30  Jim Meyering  <meyering@lucent.com>
76494
76495         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
76496         Include <sys/ucred.h>, for Apple Darwin.
76497         Include sys/mount.h and sys/fs_types.h only if available.
76498         (FS_TYPE): Define.
76499         (read_filesystem_list): Use FS_TYPE.
76500
76501 2001-09-29  Paul Eggert  <eggert@twinsun.com>
76502
76503         * lib/exclude.c (excluded_filename): 0 -> false, since it's
76504         a boolean context.
76505
76506 2001-09-29  Jim Meyering  <meyering@lucent.com>
76507
76508         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
76509         [one-argument getmntent function]): Include stdio.h before mntent.h.
76510         SunOS 4.1.x needs it for the declaration of `FILE'.
76511         Patch by Volker Borchert.
76512
76513         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
76514         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
76515         sys/fs_types.h, and make the link-test for getfsstat guard #include
76516         directives with appropriate #if HAVE_*_H tests so that we can
76517         detect getfsstat on Apple Darwin1.3.7 systems.
76518         Reported by Nelson Beebe.
76519         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
76520
76521 2001-09-28  Paul Eggert  <eggert@twinsun.com>
76522
76523         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
76524         #defines strtoimax.  Also treat the other strto* functions
76525         like strtoimax.
76526
76527         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
76528         Check for strtoul and strtoumax,
76529         as those declarations are made even in the signed case.
76530         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
76531         Likewise, for strtol and strtoimax.
76532
76533 2001-09-28  Paul Eggert  <eggert@twinsun.com>
76534
76535         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
76536         #defines strtoimax.  Also treat the other strto* functions
76537         like strtoimax.
76538
76539         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
76540         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
76541         (strtoimax, strtoumax): Do not declare if already defined as a macro.
76542
76543 2001-09-26  Jim Meyering  <meyering@lucent.com>
76544
76545         Most macros in unlocked-io.h had the wrong number of arguments.
76546         * lib/gen-uio: New script.
76547         (USE_UNLOCKED_IO): Define to 1 if not already defined.
76548         * lib/unlocked-io.hin: Remove file.
76549         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
76550         rather than trying to embed it here.
76551         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
76552         Reported by Padraig Brady.
76553
76554 2001-09-25  Volker Borchert  <bt@teknon.de>
76555
76556         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
76557         `result'.
76558
76559 2001-09-24  Jim Meyering  <meyering@lucent.com>
76560
76561         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
76562
76563 2001-09-23  Jim Meyering  <meyering@lucent.com>
76564
76565         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
76566         instead of the mere test for existence of mntent.h.  The latter
76567         would get a false-positive on AIX 3.4 systems.
76568         In the outer getmntent if-block, don't die if neither of the getmntent
76569         tests succeeds.  Instead, just fall through and continue with the
76570         remaining tests.
76571
76572 2001-09-23  Jim Meyering  <meyering@lucent.com>
76573
76574         * lib/mountlist.c: Remove useless parentheses in #if directives.
76575         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
76576         the deprecated MOUNTED symbol is no longer defined in mntent.h.
76577
76578 2001-09-22  Jim Meyering  <meyering@lucent.com>
76579
76580         * m4/gettext.m4: New file.  From gettext.
76581         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
76582         * m4/progtest.m4: Likewise
76583         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
76584         * m4/glibc21.m4: Likewise.
76585
76586         * m4/libintl.m4: Remove.  No longer used.
76587
76588 2001-09-22  Jim Meyering  <meyering@lucent.com>
76589
76590         * lib/localcharset.c: Update from latest gettext.
76591         * lib/config.charset: Likewise.
76592
76593 2001-09-20  Jim Meyering  <meyering@lucent.com>
76594
76595         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
76596         strtoimax.
76597         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
76598         strtoumax.
76599
76600 2001-09-20  Jim Meyering  <meyering@lucent.com>
76601
76602         * lib/xstrtol.c (strtoimax): Guard declaration with
76603         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
76604         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
76605         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
76606         (strtoumax): Likewise, for completeness (it wasn't necessary).
76607
76608 2001-09-17  Paul Eggert  <eggert@twinsun.com>
76609
76610         * lib/strtoimax.c (HAVE_LONG_LONG):
76611         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
76612         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
76613         to work around bug in IBM C compiler.
76614
76615 2001-09-17  Jim Meyering  <meyering@lucent.com>
76616
76617         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
76618         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
76619         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
76620         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
76621         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
76622         whenever the right hand side need not be expanded by the shell.
76623
76624 2001-09-16  Paul Eggert  <eggert@twinsun.com>
76625
76626         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
76627         library.  It's not correct, as some older glibcs are buggy.
76628         fnmatch wasn't fixed until glibc 2.2.
76629
76630         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
76631         special shell magic here.
76632
76633 2001-09-16  Jim Meyering  <meyering@lucent.com>
76634
76635         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
76636         * m4/jm-macros.m4: Require it.
76637
76638 2001-09-16  Jim Meyering  <meyering@lucent.com>
76639
76640         * lib/mkdir.c: New file.
76641
76642 2001-09-15  Jim Meyering  <meyering@lucent.com>
76643
76644         * m4/jm-macros.m4: Check for help2man.
76645
76646 2001-09-11  Jim Meyering  <meyering@lucent.com>
76647
76648         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
76649         The body, by Paul Eggert, was moved here from configure.in.
76650         * m4/jm-macros.m4: Require UTILS_HOST_OS.
76651
76652 2001-09-04  Paul Eggert  <eggert@twinsun.com>
76653
76654         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
76655         (jm_PREREQ): Use it.
76656
76657 2001-09-04  Paul Eggert  <eggert@twinsun.com>
76658
76659         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
76660         Use ssize_t, not int, to store result of readlink.
76661         Check for ssize_t overflow as well as size_t overflow,
76662         as POSIX says the result of readlink is implementation-defined
76663         when ssize_t overflows.
76664         Remove unnecessary cast to char*.
76665         Use free+malloc instead of realloc, as the storage doesn't need
76666         to be preserved and it's clearer and can be more efficient that way.
76667         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
76668         * lib/xreadlink.h (xreadlink): Update prototype.
76669
76670 2001-09-04  Paul Eggert  <eggert@twinsun.com>
76671
76672         * lib/xgetcwd.c: Revert some of the previous change; intead,
76673         fix the HAVE_GETCWD_NULL code to behave more like the
76674         !HAVE_GETCWD_NULL code used to.
76675
76676         Include "xalloc.h".
76677         (xgetcwd): Do not return NULL when memory is exhausted; instead,
76678         invoke xalloc_die.
76679
76680 2001-09-03  Paul Eggert  <eggert@twinsun.com>
76681
76682         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
76683         sys/param.h, as pathmax.h includes them.
76684
76685 2001-09-03  Paul Eggert  <eggert@twinsun.com>
76686
76687         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
76688         (jm_PREREQ_XGETCWD): New macro.
76689
76690         * m4/getcwd.m4: New file.
76691
76692 2001-09-03  Paul Eggert  <eggert@twinsun.com>
76693
76694         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
76695         like the HAVE_GETCWD_NULL code.
76696         Include pathmax.h if not HAVE_GETCWD.
76697         Do not include xalloc.h.
76698         (INITIAL_BUFFER_SIZE): New symbol.
76699         Do not use xmalloc / xrealloc, since the caller is responsible for
76700         handling errors.  Preserve errno around `free' during failure.
76701         Do not overrun buffer when using getwd.
76702
76703 2001-09-03  Paul Eggert  <eggert@twinsun.com>
76704
76705         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
76706         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
76707         getcwd (NULL, 0).
76708
76709 2001-09-03  Paul Eggert  <eggert@twinsun.com>
76710
76711         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
76712         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
76713         spotted by Jim Meyering.
76714
76715 2001-09-03  Jim Meyering  <meyering@lucent.com>
76716
76717         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
76718         failure.
76719
76720 2001-09-02  Jim Meyering  <meyering@lucent.com>
76721
76722         * lib/error.c: Update from GNU libc.
76723
76724 2001-09-01  Jim Meyering  <meyering@lucent.com>
76725
76726         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
76727         Used by df.
76728
76729 2001-09-01  Jim Meyering  <meyering@lucent.com>
76730
76731         * lib/xreadlink.c: New file.
76732         * lib/xreadlink.h: New file.
76733         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
76734         xreadlink.h.
76735
76736         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
76737         doesn't conflict with sparc Solaris 7's definition in
76738         /usr/include/sys/int_types.h.
76739
76740         * lib/exclude.c: Use `""', not `<>' to #include non-system header
76741         files.
76742         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
76743         and strncasecmp as r-values.  Unixware didn't have declarations.
76744
76745 2001-08-31  Paul Eggert  <eggert@twinsun.com>
76746
76747         * lib/xstrtol.h: Add copyright notice.
76748         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
76749         LONGINT_INVALID_SUFFIX_CHAR.
76750
76751 2001-08-31  Paul Eggert  <eggert@twinsun.com>
76752
76753         * lib/xstrtol.c (strtoimax): New decl.
76754
76755 2001-08-31  Paul Eggert  <eggert@twinsun.com>
76756
76757         * lib/xgetcwd.c: Don't include pathmax.h.
76758         Include stdlib.h and unistd.h if available.
76759         Include xalloc.h.
76760         (xmalloc, xstrdup, free): Remove decls.
76761         (xgetcwd): Don't assume sizes fit in unsigned.
76762         Check for overflow when computing sizes.
76763         Simplify reallocation code.
76764
76765 2001-08-31  Paul Eggert  <eggert@twinsun.com>
76766
76767         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
76768         a directory's st_size can have an arbitrary value, so the old
76769         usage could waste an arbitrary amount of memory.  All uses
76770         changed.
76771         * lib/savedir.h: Update prototype.
76772
76773 2001-08-31  Paul Eggert  <eggert@twinsun.com>
76774
76775         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
76776
76777         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
76778         old strtoimax.c.
76779
76780         Also, make the following further changes to make this file's
76781         configuration more similar to that of strtol.c:
76782         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
76783         (strtoumax, uintmax_t, strtoull, strtol): Remove.
76784         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
76785         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
76786         changed to signed values.
76787
76788         And make the following changes as well:
76789         Fix copyright notice, as 1999 was missing.
76790         (verify): New macro.
76791         (strtoimax): Check sizes at compile-time, not run-time.
76792         Prefer strtol to strtoll if both work.
76793         (main): Remove; it was not that useful and was a pain to maintain.
76794
76795         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
76796
76797 2001-08-31  Jim Meyering  <meyering@lucent.com>
76798
76799         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
76800         Use an initial, malloc'd, buffer of length 128 rather than
76801         a statically allocated one of length 1024.
76802
76803 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76804
76805         Simplify code, partly by assuming autoconf 2.52 semantics.
76806
76807         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
76808
76809         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
76810         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
76811         All uses removed.
76812         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
76813         Move AC_REQUIRE to next-to-top level, to avoid confusion.
76814         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
76815         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
76816         jm_AC_HEADER_INTTYPES_H.
76817         * m4/jm-macros.m4 (jm_MACROS): Likewise.
76818
76819         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
76820
76821         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
76822         Quote first arg of AC_DEFUN.
76823         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
76824         since they are needed to parse the include file even if we need
76825         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
76826         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
76827         but with opposite signedness.
76828
76829 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76830
76831         Merge 'exclude' changes from tar 1.13.22.
76832         This fixes one or two unlikely storage allocation overflow bugs,
76833         but doesn't change user-visible behavior otherwise.
76834
76835 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76836
76837         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
76838         (jm_PREREQ_EXCLUDE): New macro.
76839
76840 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76841
76842         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
76843         tm to be declared.
76844
76845 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76846
76847         * lib/hash.c: Remove '2001' from copyright notice.
76848
76849 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76850
76851         * lib/full-write.h: New file.
76852         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
76853         * lib/full-write.c: Correct credits, as cccp.c no longer
76854         exists and anyway it was so heavily changed from the old cccp
76855         code as to be unrecognizable.  Include full-write.h.
76856         (full_write): Return size_t, with short writes meaning failure.
76857         All callers changed.  This fixes a bug with large buffers
76858         on 64-bit hosts.
76859         * lib/utime.c: Include full-write.h.
76860
76861 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76862
76863         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
76864         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
76865         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
76866         Include if available.
76867         (<xalloc.h>): Include
76868         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
76869         (verify): New macro.  Use it to verify that EXCLUDE macros do not
76870         collide with FNM macros.
76871         (struct patopts): New struct.
76872         (struct exclude): Use it, as exclude patterns now come with options.
76873         (new_exclude): Support above changes.
76874         (new_exclude, add_exclude_file):
76875         Initial size must now be a power of two to simplify overflow checking.
76876         (free_exclude, fnmatch_no_wildcards): New function.
76877         (excluded_filename): No longer requires options arg, as the options
76878         are determined by add_exclude.  Now returns bool, not int.
76879         (excluded_filename, add_exclude):
76880         Add support for the fancy new exclusion options.
76881         (add_exclude, add_exclude_file): Now takes int options arg.
76882         Check for arithmetic overflow when computing sizes.
76883         (add_exclude_file): xrealloc might modify errno, so don't
76884         realloc until after errno might be used.
76885
76886         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
76887         New macros.
76888         (free_exclude): New decl.
76889         (add_exclude, add_exclude_file): Now takes int options arg.
76890         (excluded_filename): No longer requires options arg, as the options
76891         are determined by add_exclude.  Now returns bool, not int.
76892
76893 2001-08-30  Paul Eggert  <eggert@twinsun.com>
76894
76895         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
76896
76897 2001-08-27  Jim Meyering  <meyering@lucent.com>
76898
76899         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
76900
76901         * lib/version-etc.c (N_): Remove definition.
76902         Revert most of last change.
76903         Instead, simply don't mark the `Copyright...' string for translation.
76904         Based on advice from Paul Eggert.
76905
76906         * lib/strtoxmax.c: Tweak comment.
76907
76908 2001-08-26  Jim Meyering  <meyering@lucent.com>
76909
76910         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
76911
76912         * m4/xstrtoimax.m4: New file.
76913         * m4/xstrtoumax.m4: Add comments explaining why we
76914         AC_REPLACE_FUNCS(strtol).
76915
76916 2001-08-26  Jim Meyering  <meyering@lucent.com>
76917
76918         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
76919         of copyright with `%s' so translators don't get an untranslated
76920         message in 2002.
76921         (COPYRIGHT_YEAR): Define.
76922         (version_etc): Use fprintf rather than fputs.
76923         Suggestion from Ulrich Drepper.
76924
76925         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
76926
76927         * lib/strtoll.c: New file, from GNU libc.
76928         * lib/xstrtoimax.c: New file.
76929
76930         * lib/xstrtol.h: Add xstrtoimax.
76931         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
76932         * lib/strtoimax.c: New file.  Likewise, but first define
76933         STRTOUXMAX_SIGNED.
76934
76935         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
76936         ...
76937         * lib/strtoxmax.c: ... then renamed to this.
76938
76939 2001-08-18  Paul Eggert  <eggert@twinsun.com>
76940
76941         * m4/inttypes.m4: Add AC_PREREQ(2.13).
76942         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
76943         (jm_AC_TYPE_INTMAX_T): New macro.
76944         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
76945
76946         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
76947
76948         * m4/longlong.m4: Renamed from ulonglong.m4.
76949         * m4/inttypes.m4: Renamed from inttypes_h.m4.
76950         * m4/uintmax_t.m4: Removed.
76951
76952 2001-08-13  Paul Eggert  <eggert@twinsun.com>
76953
76954         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
76955         Port to Solaris 8, where 'sed' requires a space after the 'r'
76956         command, and where sh dislikes "$/".  Clean up the spacing a bit.
76957         Redirect output to $tmp just once.
76958
76959 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
76960
76961         * lib/addext.c (<errno.h>): Include.
76962         (errno): Declare if not defined.
76963         (addext): Work correctly when pathconf returns -1 and leaves
76964         errno alone because there is no limit.  Also, work even if
76965         pathconf returns a value greater than SIZE_MAX.
76966
76967 2001-08-12  Jim Meyering  <meyering@lucent.com>
76968
76969         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
76970         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
76971         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
76972         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
76973         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
76974         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
76975         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
76976         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
76977         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
76978         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
76979         utime.m4, utimes.m4, xstrtoumax.m4:
76980         Quote the first argument in each use of AC_DEFUN.
76981
76982 2001-08-12  Jim Meyering  <meyering@lucent.com>
76983
76984         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
76985         Simply `return getcwd (NULL, 0);'.
76986         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
76987         Use 1300 as initial value for length, not PATH_MAX.
76988
76989         * lib/pathmax.h: Clean up cpp syntax.
76990
76991 2001-08-12  Jim Meyering  <meyering@lucent.com>
76992
76993         * lib/gettimeofday.c: New file.
76994         * lib/gtod.h: New file.
76995         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
76996
76997 2001-08-05  Jim Meyering  <meyering@lucent.com>
76998
76999         * m4/jm-macros.m4: Require autoconf-2.52.
77000
77001 2001-08-04  Jim Meyering  <meyering@lucent.com>
77002
77003         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
77004         stmt, to get in sync with glibc.
77005
77006 2001-08-03  Paul Eggert  <eggert@twinsun.com>
77007
77008         The following changes are from gettext 0.10.39 as maintained by
77009         Bruno Haible.
77010
77011         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
77012         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
77013         with inverted sense.  All uses changed.
77014
77015         * lib/mbswidth.c: Don't include <limits.h>.
77016         Include <stdlib.h> and <string.h> unconditionally.
77017         (iswcntrl, mbsinit, ISCNTRL): New macros.
77018         (mbsnwidth): Use K&R style function declarations.
77019         Don't bother checking for MB_LEN_MAX == 1, since the compiler
77020         can optimize it when MB_CUR_MAX == 1.
77021         The width of control characters is zero, not 1.
77022
77023 2001-08-03  Paul Eggert  <eggert@twinsun.com>
77024
77025         The following changes are from gettext 0.10.39 as maintained by
77026         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
77027
77028         * m4/codeset.m4: Upgrade to serial AM1.
77029         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
77030         all uses changed.  Quote first arg of AC_DEFUN.
77031         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
77032
77033         * m4/iconv.m4: Upgrade to serial AM2.
77034         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
77035         Add --with-libconv-prefix.
77036         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
77037         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
77038         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
77039         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
77040         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
77041
77042         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
77043         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
77044         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
77045         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
77046         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
77047         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
77048         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
77049         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
77050         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
77051
77052         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
77053         string.h any more.
77054
77055         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
77056         not the default value.
77057
77058         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
77059         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
77060         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
77061         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
77062         Also check for iswcntrl, used for wcwidth fallback.
77063         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
77064         to Autoconf 2.13.
77065
77066 2001-08-03  Jim Meyering  <meyering@lucent.com>
77067
77068         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
77069         as it was in the original.  Reported by Paul Eggert.
77070
77071 2001-07-16  Jim Meyering  <meyering@lucent.com>
77072
77073         * m4/gettimeofday.m4: New file.
77074         Prompted by a report from Bernhard Baehr.
77075
77076 2001-07-15  Jim Meyering  <meyering@lucent.com>
77077
77078         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
77079         stuff. Now it's in ../Makefile.cfg.
77080
77081 2001-07-15  Jim Meyering  <meyering@lucent.com>
77082
77083         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
77084         (BUILT_SOURCES): Add unlocked-io.h.
77085         (io_functions): Define.
77086         (unlocked-io.h): New rule.
77087         (DISTCLEANFILES): Add unlocked-io.h.
77088         (all-local): Depend on unlocked-io.h, to ensure it is created.
77089
77090         * lib/unlocked-io.hin: New file
77091
77092         * lib/regex.c: Update from glibc.
77093
77094 2001-07-05  Jim Meyering  <meyering@lucent.com>
77095
77096         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
77097         recommendation.
77098         (libfetish_a_SOURCES): Put all .h files here instead.
77099         Remove a thus-exposed (better checks in automake) duplicate and
77100         two unnecessary .h files.
77101
77102 2001-07-04  Jim Meyering  <meyering@lucent.com>
77103
77104         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
77105         that generates jm-glibc-io.m4 so that it doesn't trigger any make
77106         distcheck failure.
77107
77108 2001-07-02  Jim Meyering  <meyering@lucent.com>
77109
77110         The following changes were prompted by suggestions from Bruno Haible.
77111
77112         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
77113         is now generated.
77114         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
77115         definition of EXTRA_DIST.
77116         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
77117         ensure that the generated file is created/updated whenever the list
77118         of $(unlocked_functions) is changed.
77119         (jm-glibc-io.m4): New rule.
77120         (unlocked-io.h): New rule -- currently unused.
77121
77122 2001-06-24  Jim Meyering  <meyering@lucent.com>
77123
77124         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
77125         unmatched right bracket, rather than kludging it with an extra,
77126         falsely-matching quote in a comment.  Patch by Akim Demaille.
77127
77128 2001-06-11  Jim Meyering  <meyering@lucent.com>
77129
77130         * lib/regex.c: Update from GNU libc.
77131
77132 2001-05-27  Jim Meyering  <meyering@lucent.com>
77133
77134         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
77135         Check for ut_type in struct utmp.
77136
77137 2001-05-27  Jim Meyering  <meyering@lucent.com>
77138
77139         * lib/readutmp.h (UT_TYPE): Define.
77140
77141 2001-05-24  Jim Meyering  <meyering@lucent.com>
77142
77143         * lib/argmatch.c: Include "quote.h".
77144         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
77145         quote function.  Reported by Göran Uddeborg.
77146
77147 2001-05-22  Jim Meyering  <meyering@lucent.com>
77148
77149         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
77150         now that we use the package-supplied version unconditionally.
77151         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
77152
77153 2001-05-21  Jim Meyering  <meyering@lucent.com>
77154
77155         * m4/regex.m4: Change a couple backticks to single quotes to avoid
77156         shell syntax errors.
77157
77158 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
77159
77160         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
77161
77162 2001-05-20  Paul Eggert  <eggert@twinsun.com>
77163
77164         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
77165         Don't bother to check library strftime, since
77166         we'll be using our own my_strftime function anyway.
77167         Define my_strftime instead of strftime.
77168
77169 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
77170
77171         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
77172         which is not yet declared.
77173
77174 2001-05-15  Jim Meyering  <meyering@lucent.com>
77175
77176         * m4/regex.m4: Use proper quoting so brackets appear in the test
77177         program.
77178         Reported by, and with help from, Bruno Haible.
77179
77180 2001-05-13  Jim Meyering  <meyering@lucent.com>
77181
77182         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
77183         undefined.
77184
77185 2001-05-11  Paul Eggert  <eggert@twinsun.com>
77186
77187         dirname code cleanup.  base_name now behaves more compatibly
77188         with POSIX basename when given file names that have trailing
77189         slashes, and similarly for dir_name.  Add new primitives
77190         base_len and dir_len.  Put the directory-name-related decls
77191         into dirname.h.
77192
77193         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
77194         * lib/backupfile.c (base_name): Likewise.
77195         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
77196         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
77197         * lib/makepath.c (strip_trailing_slashes): Likewise.
77198         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
77199         ISSLASH): Likewise.
77200         * lib/rename.c (strip_trailing_slashes): Likewise.
77201         * lib/same.c (base_name): Likewise.
77202         * lib/stripslash.c (ISSLASH): Likewise.
77203
77204         * lib/addext.c: Include <dirname.h> after size_t is defined.
77205         * lib/backupfile.c: Likewise.
77206
77207         * lib/addext.c (addext): Use base_len to trim redundant
77208         trailing slashes instead of doing it ourselves.
77209         But do not trim the last slash if it is not redundant.
77210
77211         * lib/backupfile.c (find_backup_file_name,
77212         max_backup_version): Use base_len instead of rolling it ourselves.
77213         Handle the case of "" and (on DOS) "C:" correctly.
77214
77215         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
77216         needed. Include <string.h>, <dirname.h>.
77217         (base_name): Allow file names ending in slashes, other than names
77218         that are all slashes.  In this case, return the basename followed
77219         by the slashes.  This is more general, and can be used in places
77220         where the original base_name purposely had an assertion failure.
77221         (base_len): New function.
77222
77223         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
77224         Do not include <assert.h>; no longer needed.
77225         Include xalloc.h.
77226         (memrchr): Remove decl.
77227         (dir_name_r): Remove.
77228         (dir_len): Renamed from dirlen.  All callers changed.
77229         Rewrite in terms of base_name, for simplicity and consistency.
77230         (dir_name): Never return NULL.  All callers changed.
77231         Do not include <stdlib.h> in test program; no longer needed.
77232         return 0; is fine for test program.
77233
77234         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
77235         New macros.
77236         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
77237
77238         * lib/path-concat.c (path_concat): Use base_len to compute
77239         base length, not strlen; this means we cannot rely on memcpy
77240         to null-terminate.
77241
77242         * lib/same.c (STREQ): Remove.
77243         (same_name): Handle the case where the basename ends in trailing '/'.
77244
77245         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
77246         a slash was stripped.  Do not strip the last slash after a
77247         file system prefix.
77248
77249 2001-05-11  Paul Eggert  <eggert@twinsun.com>
77250
77251         * lib/Makefile.am (libfetish_a_SOURCES):
77252         Add strftime.c, since we now compile it on all hosts.
77253
77254         * lib/strftime.c (my_strftime):
77255         Define to nstrftime if emacs, but only if my_strftime is not defined.
77256         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
77257         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
77258         Add one more extra argument: a nanoseconds value.
77259         All uses changed.
77260         (ns): New macro.
77261         (my_strftime function): Add %N format.
77262         (emacs_strftimeu): Renamed from emacs_strftime,
77263         with extra ut argument.
77264
77265 2001-05-09  Paul Eggert  <eggert@twinsun.com>
77266
77267         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
77268
77269 2001-04-21  Jim Meyering  <meyering@lucent.com>
77270
77271         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
77272         doesn't interfere.
77273
77274 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
77275
77276         * m4/ftruncate.m4: Check for chsize.
77277         Link with ftruncate.o unconditionally if ftruncate is missing.
77278         This was required when cross-compiling to i586-mingw32msvc.
77279
77280 2001-04-08  Jim Meyering  <meyering@lucent.com>
77281
77282         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
77283         recomputed; that's necessary when the offset spans a DST transition.
77284         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
77285
77286 2001-04-02  Jim Meyering  <meyering@lucent.com>
77287
77288         * lib/regex.h, regex.c: Update from GNU libc.
77289
77290 2001-03-24  Jim Meyering  <meyering@lucent.com>
77291
77292         * m4/jm-macros.m4: Require autoconf-2.49d.
77293
77294 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
77295
77296         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
77297
77298 2001-03-19  Paul Eggert  <eggert@twinsun.com>
77299
77300         * lib/version-etc.c (version_etc_copyright): Update to 2001.
77301
77302 2001-03-17  Jim Meyering  <meyering@lucent.com>
77303
77304         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
77305         now that the version in autoconf is equivalent.
77306         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
77307
77308         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
77309         Suggestion from Akim Demaille.
77310
77311         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
77312         (jm_PREREQ_TEMPNAME): New function.
77313
77314 2001-03-16  Paul Eggert  <eggert@twinsun.com>
77315
77316         * lib/tempname.c (uint64_t): Define to uintmax_t if
77317         not defined, and if UINT64_MAX is not defined.
77318         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
77319         Reported by John David Anglin.
77320
77321 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
77322
77323         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
77324         resolve alias if codeset is empty.
77325         * lib/config.charset (BeOS): Use wildcard syntax.
77326
77327 2001-03-13  Jim Meyering  <meyering@lucent.com>
77328
77329         * lib/path-concat.c (path_concat)
77330         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
77331         concatenating e.g., `C:' and `foo'.
77332         From Bruno Haible.
77333
77334 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
77335
77336         * lib/localcharset.c (locale_charset): Don't use
77337         setlocale(LC_CTYPE,NULL). Don't return NULL.
77338         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
77339
77340 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
77341
77342         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
77343         support for DOS/DJGPP.
77344
77345 2001-03-01  Paul Eggert  <eggert@twinsun.com>
77346
77347         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
77348         lacks mkstemp.  Compile our own tempname.c if we compile our own
77349         mkstemp.c, as mkstemp relies on tempname.
77350
77351 2001-03-01  Jim Meyering  <meyering@lucent.com>
77352
77353         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
77354         AH_VERBATIM really does output its argument verbatim.
77355
77356 2001-02-28  Paul Eggert  <eggert@twinsun.com>
77357
77358         * lib/Makefile.am (libfetish_a_SOURCES):
77359         Add dup-safer.c, fopen-safer.c.
77360         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
77361
77362         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
77363         * lib/unistd-safer.h: New files.
77364
77365 2001-02-25  Paul Eggert  <eggert@twinsun.com>
77366
77367         The mkstemp replacement is taken from glibc 2.2.2, with some
77368         portability fixes for use outside glibc, as follows:
77369
77370         * lib/tempname.c (struct_stat64): New macro.
77371         (direxists, __gen_tempname): Use it.
77372         This avoids a portability problem with Solaris 8.
77373
77374         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
77375         (<stddef.h>, <stdint.h>, <string.h>):
77376         Include only if STDC_HEADERS || _LIBC.
77377         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
77378         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
77379         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
77380         (__set_errno): Define this macro if <errno.h> doesn't.
77381         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
77382         Define these macros if <stdio.h> doesn't.
77383         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
77384         Define these macros if <sys/stat.h>
77385         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
77386         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
77387         __xstat64): Define if not _LIBC.
77388         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
77389         (__gen_tempname): Invoke gettimeofday only if
77390         HAVE_GETTIMEOFDAY || _LIBC;
77391         otherwise, fall back on plain "time".
77392         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
77393
77394         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
77395
77396         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
77397
77398 2001-02-18  Paul Eggert  <eggert@twinsun.com>
77399
77400         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
77401
77402 2001-02-17  Paul Eggert  <eggert@twinsun.com>
77403
77404         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
77405         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
77406         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
77407         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
77408
77409 2001-02-17  Paul Eggert  <eggert@twinsun.com>
77410
77411         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
77412         Remove workaround macros for hosts that have mbrtowc but not
77413         mbstate_t, as we now insist on proper declarations for both
77414         before using mbrtowc.
77415
77416 2001-02-17  Jim Meyering  <meyering@lucent.com>
77417
77418         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
77419         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
77420         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
77421         UnixWare 7.1.1.
77422
77423         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
77424         rather than AC_CACHE_VAL.
77425
77426 2001-02-17  Jim Meyering  <meyering@lucent.com>
77427
77428         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
77429         around included file name.
77430
77431         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
77432
77433         * lib/strftime.c: Update from GNU libc (the only changes were to
77434         comments).
77435
77436 2001-02-17  Jim Meyering  <meyering@lucent.com>
77437
77438         * lib/regex.c: Update from libc.
77439
77440 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
77441
77442         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
77443         clash.
77444
77445 2001-02-16  Paul Eggert  <eggert@twinsun.com>
77446
77447         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
77448         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
77449         Reported by Mark Hounschell via Paul Eggert.
77450
77451 2001-02-07  Jim Meyering  <meyering@lucent.com>
77452
77453         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
77454
77455 2001-02-05  Jim Meyering  <meyering@lucent.com>
77456
77457         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
77458         it includes the patch required for `large file' support with at least
77459         HP-UX's 10.20 /bin/cc.
77460
77461 2001-02-03  Jim Meyering  <meyering@lucent.com>
77462
77463         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
77464         AS_IF, now that it works once again (mysteriously).
77465         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
77466
77467 2001-01-30  Jim Meyering  <meyering@lucent.com>
77468
77469         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
77470         * m4/chown.m4: Rename conftestchown to conftest.chown.
77471         * m4/rename.m4: s/conftestdir/conftest.d1/ and
77472         s/conftestdir2/conftest.d2/.
77473         * m4/utimes.m4: s/conftestdata/conftest.data/
77474         Inspired by Pavel Roskin's change in autoconf.
77475
77476 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
77477
77478         * lib/config.charset: Update for FreeBSD 4.2.
77479
77480 2001-01-27  Jim Meyering  <meyering@lucent.com>
77481
77482         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
77483         a use of AS_IF.
77484         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
77485
77486 2001-01-26  Jim Meyering  <meyering@lucent.com>
77487
77488         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
77489         quotearg.c includes it.
77490
77491 2001-01-26  Jim Meyering  <meyering@lucent.com>
77492
77493         * lib/quotearg.c: Include stddef.h.
77494         * lib/quote.c: Include stddef.h.
77495         Reported by Axel Kittenberger.
77496
77497         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
77498         line in double quotes so that it evokes a better diagnostic.
77499         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
77500         Reported by Axel Kittenberger.
77501
77502 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
77503
77504         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
77505         as if it was a `charset'.
77506
77507 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
77508
77509         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
77510         has const.
77511
77512 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
77513
77514         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
77515         to avoid a warning.  Add back 'const' to inptr.
77516
77517 2001-01-20  Jim Meyering  <meyering@lucent.com>
77518
77519         Be sure that headers are checked before used in code compiled
77520         for the type checks.
77521         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
77522         In place of that, invoke jm_CHECK_ALL_TYPES.
77523         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
77524         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
77525         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
77526         The check for ssize_t was mistakenly run before the test for unistd.h.
77527
77528         The configure-time check for stdbool.h was missing.
77529         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
77530         (jm_PREREQ_HASH): New function.
77531
77532 2001-01-17  Jim Meyering  <meyering@lucent.com>
77533
77534         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
77535         for autoconf-2.49c.
77536         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
77537
77538 2001-01-16  Jim Meyering  <meyering@lucent.com>
77539
77540         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
77541         From Bruno Haible.
77542
77543 2001-01-14  Jim Meyering  <meyering@lucent.com>
77544
77545         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
77546         foo and bar.  Create conftestdir/ in the script, not in the C code.
77547         Remove directories in the script, not in the C code.
77548         Remove conftestdir{,2} before trying to create the directory.
77549         Make the entire configure script fail if the mkdir fails.
77550
77551 2001-01-14  Jim Meyering  <meyering@lucent.com>
77552
77553         * lib/rename.c: New file.  From Volker Borchert.
77554         Include stdlib.h, string.h or strings.h, and xalloc.h.
77555         Use strip_trailing_slashes rather than open-coding it.
77556
77557 2001-01-03  Paul Eggert  <eggert@twinsun.com>
77558
77559         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
77560
77561 2001-01-03  Jim Meyering  <meyering@lucent.com>
77562
77563         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
77564         of local `inptr' to avoid warning with some system declarations of
77565         iconv.
77566
77567 2001-01-02  Volker Borchert  <bt@teknon.de>
77568
77569         * m4/rename.m4: New file.
77570         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
77571
77572 2001-01-01  Jim Meyering  <meyering@lucent.com>
77573
77574         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
77575         even on systems with utmpx.h.  It's necessary for the declaration of
77576         utmp's ut_user member.  Reported by Andreas Jaeger.
77577
77578         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
77579         available. They are required for the declarations of getgrgid and
77580         getpwuid resp.
77581         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
77582         Reported by Andreas Jaeger.
77583
77584 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
77585
77586         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
77587         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
77588         so `make install' also works in VPATH builds.
77589
77590 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
77591
77592         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
77593         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
77594         can be used in subdirectories.
77595
77596 2000-12-29  Paul Eggert  <eggert@twinsun.com>
77597
77598         * lib/modechange.c: Do not assume that mode_t uses the
77599         traditional octal encoding.  E.g. "chmod 1 FOO" should set
77600         the other-execute bit of FOO even if S_IXOTH != 1.
77601
77602         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
77603         WOTH, XOTH, ALLM): New macros.
77604         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
77605          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
77606         Use them.
77607         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
77608         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
77609         (mode_compile):
77610         No need to use uintmax_t; unsigned long is long enough.
77611         Don't bother to get suffix since we don't use it.
77612
77613 2000-12-26  Jim Meyering  <meyering@lucent.com>
77614
77615         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
77616         better with autoheader.
77617
77618 2000-12-24  Jim Meyering  <meyering@lucent.com>
77619
77620         * lib/hash.c (is_prime): Return explicit boolean values.
77621         (hash_get_first): Return NULL to appease Irix5.6's 89.
77622         Reported by Nelson Beebe.
77623
77624 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
77625
77626         * lib/localcharset.c (locale_charset): Add support for Win32.
77627
77628 2000-12-18  Paul Eggert  <eggert@twinsun.com>
77629
77630         * lib/physmem.h, lib/physmem.c: New files.
77631
77632         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
77633         (noinst_HEADERS): Add physmem.h.
77634
77635         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
77636         't' for compatibility with Solaris 8 sort.
77637
77638 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
77639
77640         * lib/config.charset: Add support for BeOS.
77641
77642 2000-12-17  Jim Meyering  <meyering@lucent.com>
77643
77644         * m4/dos.m4 (jm_AC_DOS): New file and macro.
77645         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
77646
77647 2000-12-16  Jim Meyering  <meyering@lucent.com>
77648
77649         This bug had a serious impact on chown: `chown N:M FILE' (for integer
77650         N and M) would have treated it like `chown N:N FILE'.
77651
77652         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
77653
77654 2000-12-16  Jim Meyering  <meyering@lucent.com>
77655
77656         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
77657         SHELLS_FILE to a file name that's useful on djgpp systems.
77658         Include stdlib.h.
77659         (ADDITIONAL_DEFAULT_SHELLS): Define.
77660         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
77661         Based mostly on a patch from Prashant TR.
77662
77663 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
77664
77665         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
77666         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
77667         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
77668
77669 2000-12-08  Andreas Schwab  <schwab@suse.de>
77670
77671         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
77672         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
77673
77674 2000-12-07  Jim Meyering  <meyering@lucent.com>
77675
77676         * lib/stripslash.c (ISSLASH): Define.
77677         (strip_trailing_slashes): Use ISSLASH rather than comparing against
77678         `/'.
77679         From Prashant TR.
77680
77681         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
77682         (dir_name_r): Declare this function as static.
77683         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
77684         manifest itself on a name containing a mix of slashes and
77685         backslashes.
77686         Make this function work with names starting with a DOS-style
77687         drive letter and colon prefix.
77688         (dir_name): Append `.' if necessary.
77689         Based mostly on patches from Prashant TR and Eli Zaretskii.
77690
77691         * lib/dirname.h (dir_name_r): Remove prototype.
77692
77693 2000-12-06  Paul Eggert  <eggert@twinsun.com>
77694
77695         * m4/off_t-format.m4: Remove this file.
77696         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
77697
77698 2000-12-06  Jim Meyering  <meyering@lucent.com>
77699
77700         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
77701         replacement strtoull, we may well need the replacement strtoul, too.
77702         Check for declarations of strtoul and strtoull.
77703         Check for strtol.  Mainly as a cue to cause automake to include
77704         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
77705         Check for limits.h -- strtol.c needs it.
77706
77707 2000-12-05  Jim Meyering  <meyering@lucent.com>
77708
77709         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
77710
77711 2000-12-04  Jim Meyering  <meyering@lucent.com>
77712
77713         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
77714         Also include memory.h, stdlib.h, unistd.h if appropriate.
77715         Reported by Andreas Jaeger (conflicting declaration of malloc).
77716
77717 2000-12-02  Jim Meyering  <meyering@lucent.com>
77718
77719         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
77720         * m4/jm-macros.m4 (jm_MACROS): require it.
77721
77722 2000-12-02  Jim Meyering  <meyering@lucent.com>
77723
77724         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
77725
77726 2000-12-01  Paul Eggert  <eggert@twinsun.com>
77727
77728         * lib/memrchr.c: Include <config.h> before any system include file.
77729
77730 2000-11-30  Jim Meyering  <meyering@lucent.com>
77731
77732         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
77733
77734 2000-11-30  Jim Meyering  <meyering@lucent.com>
77735
77736         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
77737
77738 2000-11-29  Paul Eggert  <eggert@twinsun.com>
77739
77740         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
77741
77742 2000-11-26  Jim Meyering  <meyering@lucent.com>
77743
77744         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
77745
77746 2000-11-22  Paul Eggert  <eggert@twinsun.com>
77747
77748         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
77749         size of (size_t) -1; it's not portable.
77750
77751 2000-11-17  Jim Meyering  <meyering@lucent.com>
77752
77753         * lib/strstr.c: Update from GNU libc.
77754
77755 2000-11-17  Akim Demaille  <akim@epita.fr>
77756
77757         * lib/obstack.h: Formatting changes.
77758         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
77759         prevent type checking.
77760         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
77761         cast the value to (void *): assigning a `foo *' to a `void *'
77762         variable is valid.
77763         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
77764
77765 2000-11-16  Jim Meyering  <meyering@lucent.com>
77766
77767         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
77768
77769 2000-11-11  Jim Meyering  <meyering@lucent.com>
77770
77771         * lib/error.c: Add a couple #includes, merging from GNU libc version.
77772
77773 2000-11-10  Jim Meyering  <meyering@lucent.com>
77774
77775         * lib/obstack.h: Update from GNU libc.
77776         * lib/obstack.c: Likewise.
77777
77778 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
77779
77780         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
77781
77782 2000-11-06  Paul Eggert  <eggert@twinsun.com>
77783
77784         * lib/getusershell.c (setusershell): Use rewind rather than
77785         fseek/fseeko, to avoid configuration hassles with fseeko.
77786         Don't bother opening SHELLS_FILE if shellstream is NULL;
77787         it's not necessary.
77788
77789 2000-11-05  Jim Meyering  <meyering@lucent.com>
77790
77791         * lib/makepath.h (make_dir): Declare.
77792         * lib/makepath.c (make_dir): Remove `static' attribute.
77793         Tweak a comment.
77794
77795 2000-11-04  Jim Meyering  <meyering@lucent.com>
77796
77797         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
77798
77799 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
77800
77801         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
77802         last one in a bucket, advance to the next bucket.
77803
77804 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
77805
77806         * lib/fnmatch.c: Do not comment out all the code if we are using
77807         the GNU C library, because in some cases we are replacing buggy
77808         code in the GNU C library itself.
77809
77810 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
77811
77812         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
77813         (regex_compile): Catch bogus \(\1\).
77814
77815 2000-10-30  Paul Eggert  <eggert@twinsun.com>
77816
77817         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
77818         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
77819         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
77820
77821 2000-10-30  Paul Eggert  <eggert@twinsun.com>
77822
77823         * lib/error.h, getline.h, modechange.h:
77824         Remove "2000" from Copyright line, as the file hasn't been
77825         changed this year other than in the copyright notice.
77826
77827         * lib/xalloc.h: Add "2000" to Copyright line, as this file
77828         was changed this year.
77829
77830 2000-10-29  Jim Meyering  <meyering@lucent.com>
77831
77832         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
77833         renaming.
77834         * m4/ls-mntd-fs.m4: Likewise
77835
77836 2000-10-29  Jim Meyering  <meyering@lucent.com>
77837
77838         * lib/xstat.in: Fix grammar in comment.
77839
77840 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
77841
77842         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
77843         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
77844         doesn't define __restrict_arr.
77845
77846 2000-10-28  Jim Meyering  <meyering@lucent.com>
77847
77848         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
77849         (jm_PREREQ_MEMCHR): New function.
77850
77851 2000-10-28  Jim Meyering  <meyering@lucent.com>
77852
77853         * lib/memchr.c: Update from libc.
77854         Adjust for portability:
77855         [HAVE_STDLIB_H]: Include stdlib.h.
77856         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
77857         Undef __memchr, too.
77858         [!weak_alias]: Define __memchr to memchr.
77859
77860         * lib/regex.c: Update from libc.
77861         * lib/regex.h: Likewise.
77862         * lib/getopt1.c: Likewise.
77863         * lib/memcmp.c: Likewise.
77864
77865         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
77866         Avoid using fseek, when possible -- it's broken by design.
77867         Patch by Ulrich Drepper.
77868
77869 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
77870
77871         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
77872         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
77873         Giving in to popular pressure to shut up the compiler with casts.
77874
77875 2000-10-26  Jim Meyering  <meyering@lucent.com>
77876
77877         * lib/strftime.c: Update from libc.
77878
77879 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
77880
77881         * regex.c: More `unsigned char' -> `re_char' changes.
77882         Also change several `int' into `re_wchar_t'.
77883         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
77884         (PUSH_FAILURE_POINTER): Don't cast any more.
77885         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
77886         We want GCC to complain, since this piece of code makes
77887         re_match non-reentrant, which *should* be fixed.
77888         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
77889         (EXTEND_BUFFER): Use RETALLOC.
77890         (SET_LIST_BIT): Don't cast.
77891         (re_wchar_t): New type.
77892         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
77893         that those two functions will always properly return.
77894         (IMMEDIATE_QUIT_CHECK): Cast to void.
77895         (analyse_first): Use recursion rather than an explicit stack.
77896         (re_compile_fastmap): Can't fail anymore.
77897         (re_search_2): Don't check re_compile_fastmap for failure.
77898         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
77899         Now also sets the new value (passed in a new argument).
77900         (re_match_2_internal): Use it.
77901         Also, use a new var `reg' of type size_t when looping through regs
77902         rather than reuse the inappropriate `mcnt'.
77903
77904 2000-10-25  Jim Meyering  <meyering@lucent.com>
77905
77906         * lib/obstack.c: Update from libc.
77907
77908 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
77909
77910         * regex.c (regex_compile): Change the way of handling a range from
77911         a char less than 256 to a char not less than 256.
77912
77913 2000-10-24  Andrew Innes  <andrewi@gnu.org>
77914
77915         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
77916         NT-Emacs only.
77917         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
77918         so that re_search functions only quit when callers expect them to.
77919
77920 2000-10-23  Jim Meyering  <meyering@lucent.com>
77921
77922         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
77923         wrong.  That set_locale call must not have any side effects.
77924         From Paul Eggert.
77925
77926 2000-10-22  Jim Meyering  <meyering@lucent.com>
77927
77928         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
77929         [CYCLIC]: Remove now-unused definition.
77930
77931         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
77932         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
77933         Suggestion from Ulrich Drepper.
77934
77935 2000-10-21  Jim Meyering  <meyering@lucent.com>
77936
77937         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
77938         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
77939         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
77940
77941 2000-10-21  Jim Meyering  <meyering@lucent.com>
77942
77943         * lib/dirname.c (memrchr): Declare if necessary.
77944         (dir_name): Remove the restriction that there be no
77945         trailing slashes.  Now, this code skips past them, effectively
77946         ignoring them.
77947         [TEST_DIRNAME] (main): New unit tests.
77948
77949         * lib/memrchr.c: New file from GNU libc.
77950         Undef __memrchr, too.
77951         [!weak_alias]: Define __memrchr to memrchr.
77952         Guard weak_alias use with `#ifdef weak_alias'.
77953
77954 2000-10-21  Jim Meyering  <meyering@lucent.com>
77955
77956         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
77957         (dir_name): Use dir_name_r.
77958         * lib/dirname.h (dir_name_r): Declare it.
77959
77960 2000-10-17  Jim Meyering  <meyering@lucent.com>
77961
77962         * lib/quote.h (PARAMS): Define and use.
77963         Reported by Akim Demaille.
77964
77965         * lib/getopt.c: Update from libc.
77966
77967 2000-10-16  Jim Meyering  <meyering@lucent.com>
77968
77969         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
77970         setlocale.
77971         From Jan Fedak.
77972
77973 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
77974
77975         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
77976
77977 2000-09-25  Jim Meyering  <meyering@lucent.com>
77978
77979         * lib/md5.h (rol): Define (from GnuPG).
77980
77981         * lib/sha.c: Give credit (GnuPG) where due.
77982         (M): Use rol rather than open-coding it.
77983         Add a FIXME comment.
77984
77985 2000-09-21  Jim Meyering  <meyering@lucent.com>
77986
77987         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
77988         Reported by Michael Stone.
77989
77990 2000-09-20  Jim Meyering  <meyering@lucent.com>
77991
77992         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
77993         (noinst_HEADERS): Add sha.h.
77994         Based on code from Scott G. Miller and from GnuPG.
77995
77996 2000-09-18  Jim Meyering  <meyering@lucent.com>
77997
77998         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
77999         LIBS. Otherwise, everyone ends up linking with -lelf for some
78000         configurations.
78001         Reported by Mike Stone.
78002
78003 2000-09-15  Jim Meyering  <meyering@lucent.com>
78004
78005         * lib/regex.c: Update from libc.
78006
78007 2000-09-10  Jim Meyering  <meyering@lucent.com>
78008
78009         * lib/getopt.c (_getopt_internal): Update from glibc.
78010
78011 2000-09-09  Jim Meyering  <meyering@lucent.com>
78012
78013         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
78014         think it should be used as a general replacement for isascii.
78015         * lib/fnmatch.c: Likewise.
78016         * lib/mbswidth.c: Likewise
78017         * lib/regex.c: Likewise.
78018
78019         Don't use atoi.
78020         * lib/userspec.c: Include sys/param.h and limits.h.
78021         Include xstrtol.h.
78022         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
78023         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
78024         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
78025         UID, GID.  Check range.
78026
78027 2000-09-06  Jim Meyering  <meyering@lucent.com>
78028
78029         * lib/getopt.c (_getopt_internal): Update from glibc.
78030
78031 2000-08-30  Jim Meyering  <meyering@lucent.com>
78032
78033         * lib/strftime.c: Merge in changes from GNU libc.
78034
78035 2000-08-26  Jim Meyering  <meyering@lucent.com>
78036
78037         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
78038         * m4/fpending.m4: New file.
78039
78040 2000-08-26  Jim Meyering  <meyering@lucent.com>
78041
78042         * lib/closeout.c: Include "__fpending.h".
78043         (close_stdout_status): Return right away if there's nothing to flush.
78044
78045         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
78046         * lib/__fpending.c: New file.
78047         * lib/__fpending.h: New file.
78048
78049 2000-08-20  Jim Meyering  <meyering@lucent.com>
78050
78051         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
78052         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
78053         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
78054
78055 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
78056
78057         Improve fileutils installation on systems where running
78058         programs (like install) can't be unlinked.
78059         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
78060         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
78061
78062 2000-08-07  Paul Eggert  <eggert@twinsun.com>
78063
78064         Standardize on "memory exhausted" instead of "Memory exhausted"
78065         or "virtual memory exhausted".
78066         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
78067         "virtual memory exhausted".
78068         * lib/same.c (same_name): Invoke xalloc_die instead of printing
78069         our own message.
78070         * lib/userspec.c (parse_user_spec): Likewise.
78071         * lib/bumpalloc.h: comment fix
78072         * lib/same.c, userspec.c: Include xalloc.h.
78073
78074         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
78075         not char *const and pointing to a constant array.
78076         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
78077         (xrealloc): Comment fix.
78078
78079         * lib/userspec.c (parse_user_spec):
78080         Don't translate a message until just before returning,
78081         to avoid unnecessary translation.
78082
78083 2000-08-07  Jim Meyering  <meyering@lucent.com>
78084
78085         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
78086         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
78087         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
78088         getgroups.c, gethostname.c, getopt.h, group-member.c,
78089         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
78090         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
78091         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
78092         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
78093         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
78094         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
78095         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
78096         yesno.c: Back out Copyright date changes for each file with no change
78097         this year.  This eases coordination with other programs using the same
78098         source code modules.  From Paul Eggert.
78099
78100 2000-08-06  Paul Eggert  <eggert@twinsun.com>
78101
78102         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
78103         not char, for compatibility with glibc 2.1.3 strftime.c.
78104
78105 2000-08-03  Greg McGary  <greg@mcgary.org>
78106
78107         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
78108         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
78109         (EXTEND_BUFFER): Use them.
78110
78111 2000-08-01  Jim Meyering  <meyering@lucent.com>
78112
78113         * lib/dirname.c (ISSLASH): Define.
78114         (BACKSLASH_IS_PATH_SEPARATOR): Define.
78115         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
78116         both `\' and `/' may be use as path separators.
78117         Based on a patch from Prashant TR.
78118
78119 2000-07-31  Paul Eggert  <eggert@twinsun.com>
78120
78121         * lib/quotearg.c (quotearg_n_options): Don't make the initial
78122         slot vector a constant, since it might get modified.
78123
78124 2000-07-31  Jim Meyering  <meyering@lucent.com>
78125
78126         * lib/xmalloc.c: Use `virtual memory exhausted', not
78127         `Memory exhausted'.
78128         * lib/obstack.c (print_and_abort): Likewise.
78129
78130 2000-07-30  Paul Eggert  <eggert@twinsun.com>
78131
78132         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
78133         buffer, so that the caller can always quote one small
78134         component of a "memory exhausted" message in slot 0.
78135         From a suggestion by Jim Meyering.
78136
78137 2000-07-30  Jim Meyering  <meyering@lucent.com>
78138
78139         * lib/makepath.c (make_path): Quote the other instance, too.
78140
78141         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
78142         (STATIC_BUF_SIZE): Define.
78143         (quotearg_n_options): Use only statically allocated storage when
78144         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
78145         than STATIC_BUF_SIZE.
78146
78147 2000-07-29  Jim Meyering  <meyering@lucent.com>
78148
78149         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
78150         * lib/dirname.c (dir_name): Likewise.
78151
78152         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
78153         `/'.
78154
78155         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
78156         (dir_name): Assert that there are no trailing slashes.
78157
78158 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
78159
78160         * lib/mbswidth.h (mbswidth): Add a flags argument.
78161         (mbswidth): New declaration.
78162         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
78163         * lib/mbswidth.c (mbswidth): Add a flags argument.
78164         (mbsnwidth): New function.
78165
78166 2000-07-24  Jim Meyering  <meyering@lucent.com>
78167
78168         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
78169
78170 2000-07-23  Paul Eggert  <eggert@twinsun.com>
78171
78172         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
78173
78174 2000-07-23  Paul Eggert  <eggert@twinsun.com>
78175
78176         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
78177         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
78178         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
78179         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
78180         invoke multibyte primitives.
78181
78182 2000-07-23  Paul Eggert  <eggert@twinsun.com>
78183
78184         * lib/quotearg.c:
78185         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
78186         so that mbstate_t is always defined.
78187
78188         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
78189         be 1 in at least one GCC installation, and this configuration
78190         error is likely to be common.  Ignoring MB_LEN_MAX hurts
78191         performance on hosts that have mbrtowc but have only unibyte
78192         locales, but I assume these hosts are rare.
78193
78194 2000-07-23  Paul Eggert  <eggert@twinsun.com>
78195
78196         * lib/mbswidth.c (_XOPEN_SOURCE):
78197         Don't define; this causes problems on Solaris 7.
78198         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
78199
78200 2000-07-23  Jim Meyering  <meyering@lucent.com>
78201
78202         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
78203         too: getgrgid, getpwuid, getuid.
78204
78205 2000-07-23  Jim Meyering  <meyering@lucent.com>
78206
78207         * lib/basename.c (base_name): Add an assertion.
78208
78209 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
78210
78211         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
78212         shadow its mbsinit function.
78213
78214 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
78215
78216         * lib/mbswidth.h: New file.
78217         * lib/mbswidth.c: New file.
78218         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
78219         (noinst_HEADERS): Add mbswidth.h.
78220
78221 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
78222
78223         * lib/config.charset: Add support for FreeBSD. Improve support for
78224         HP-UX and IRIX 6.
78225
78226 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
78227
78228         * m4/mbswidth.m4: New file.
78229         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
78230
78231 2000-07-15  Jim Meyering  <meyering@lucent.com>
78232
78233         * lib/makepath.c: Include quote.h.
78234         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
78235         corresponding argument in a `quote (...)' call.
78236         Give better diagnostics.
78237
78238         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
78239         (noinst_HEADERS): Add quote.h.
78240
78241         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
78242         from tar's src/misc.c.
78243         * lib/quote.h: New file.  Prototypes for same.
78244
78245 2000-07-14  Paul Eggert  <eggert@twinsun.com>
78246
78247         From a suggestion by Bruno Haible.
78248         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
78249         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
78250         to decide whether to define the BeOS workaround macro;
78251         this adjusts to the change to AC_MBSTATE_T.
78252
78253 2000-07-14  Jim Meyering  <meyering@lucent.com>
78254
78255         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
78256         jm_AC_TYPE_UINTMAX_T.
78257
78258 2000-07-13  Paul Eggert  <eggert@twinsun.com>
78259
78260         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
78261
78262         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
78263         quotearg_buffer_restyled): Add support for
78264         clocale_quoting_style.  Undo previous change to
78265         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
78266         and "{RIGHT QUOTATION MARK}" msgids.
78267
78268 2000-07-10  Paul Eggert  <eggert@twinsun.com>
78269
78270         From a suggestion by Bruno Haible.
78271         * m4/mbstate_t.m4 (AC_MBSTATE_T):
78272         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
78273         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
78274         and mbstate_t, to a single-part test that simply defines mbstate_t.
78275         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
78276         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
78277
78278 2000-07-10  Jim Meyering  <meyering@lucent.com>
78279
78280         * m4/strerror_r.m4: Mirror the correction made in autoconf.
78281
78282         * m4/gnu-source.m4: Output to confdefs.h directly.
78283         Suggestion from Akim Demaille.
78284
78285 2000-07-09  Paul Eggert  <eggert@twinsun.com>
78286
78287         The old behavior of quoting `like this' doesn't look good with
78288         newer, ISO-style fonts.  See:
78289         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
78290
78291         Instead, quote "like this" by default.  Let the translator
78292         tailor the locale-specific quoting behavior by providing
78293         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
78294
78295         * lib/quotearg.c (N_): New macro.
78296         (gettext_default): New function.
78297         (quotearg_buffer_restyled): Use
78298         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
78299         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
78300
78301 2000-07-09  Jim Meyering  <meyering@lucent.com>
78302
78303         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
78304         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
78305
78306         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
78307         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
78308
78309 2000-07-09  Jim Meyering  <meyering@lucent.com>
78310
78311         * lib/Most files: Update copyright dates to include 2000.
78312
78313 2000-07-08  Jim Meyering  <meyering@lucent.com>
78314
78315         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
78316         if not defined.
78317         (xgethostname): Remove now-unnecessary #ifdef.
78318         Move declaration of `err' into loop where it's used.
78319
78320 2000-07-05  Paul Eggert  <eggert@twinsun.com>
78321         and Bruno Haible  <haible@clisp.cons.org>
78322
78323         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
78324         only if the test for an object-type mbstate_t fails.  This
78325         prevents us from mistakenly reporting that mbstate_t is a
78326         system object type after we "#define mbstate_t int" to work
78327         around its lack.
78328
78329 2000-07-05  Paul Eggert  <eggert@twinsun.com>
78330         and Bruno Haible  <haible@clisp.cons.org>
78331
78332         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
78333
78334 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
78335
78336         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
78337         to strerror_r.
78338         Include <ctype.h> for use of isalpha.
78339
78340 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
78341
78342         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
78343         by allocating a larger buffer. Test the gethostname return value for
78344         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
78345         returns an error and ENAMETOOLONG isn't defined.
78346
78347 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
78348
78349         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
78350         dimension.
78351
78352 2000-07-04  Jim Meyering  <meyering@lucent.com>
78353
78354         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
78355         of the deprecated AC_CHECKING.
78356
78357 2000-07-04  Jim Meyering  <meyering@lucent.com>
78358
78359         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
78360         Reported by Bruno Haible.
78361
78362 2000-07-04  Jim Meyering  <meyering@lucent.com>
78363
78364         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
78365         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
78366         lacks mbrtowc.
78367
78368 2000-07-03  Paul Eggert  <eggert@twinsun.com>
78369
78370         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
78371         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
78372
78373 2000-07-03  Paul Eggert  <eggert@twinsun.com>
78374         and Bruno Haible  <haible@clisp.cons.org>
78375
78376         * lib/quotearg.c (mbrtowc):
78377         Assign to *pwc, and return 1 only if result is nonzero.
78378         (iswprint): Use ISPRINT when substituting our own mbrtowc.
78379
78380 2000-07-03  Jim Meyering  <meyering@lucent.com>
78381
78382         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
78383
78384 2000-07-03  Jim Meyering  <meyering@lucent.com>
78385
78386         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
78387         This is necessary to get a definition of e.g., UTMP_FILE on
78388         HP-UX 10.20.
78389         From Bob Proulx.
78390
78391 2000-07-02  Jim Meyering  <meyering@lucent.com>
78392
78393         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
78394
78395         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
78396         AC_LIBOBJ(function_name).
78397         * m4/chown.m4: Likewise.
78398         * m4/fnmatch.m4: Likewise.
78399         * m4/ftruncate.m4: Likewise.
78400         * m4/getgroups.m4: Likewise.
78401         * m4/getline.m4: Likewise.
78402         * m4/group-member.m4: Likewise.
78403         * m4/jm-macros.m4: Likewise.
78404         * m4/lstat.m4: Likewise.
78405         * m4/malloc.m4: Likewise.
78406         * m4/memcmp.m4: Likewise.
78407         * m4/nanosleep.m4: Likewise.
78408         * m4/putenv.m4: Likewise.
78409         * m4/realloc.m4: Likewise.
78410         * m4/regex.m4: Likewise.
78411         * m4/stat.m4: Likewise.
78412         * m4/strftime.m4: Likewise.
78413
78414 2000-07-02  Jim Meyering  <meyering@lucent.com>
78415
78416         * lib/quotearg.c (mbstate_t): Don't define here.
78417
78418 2000-07-02  Jim Meyering  <meyering@lucent.com>
78419
78420         * lib/nanosleep.c (SIGCONT): Define if not already defined.
78421
78422 2000-07-01  Jim Meyering  <meyering@lucent.com>
78423
78424         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
78425
78426 2000-07-01  Jim Meyering  <meyering@lucent.com>
78427
78428         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
78429         problem.
78430
78431 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
78432
78433         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
78434         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
78435
78436 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
78437
78438         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
78439         per change in ../m4/ls-mntd-fs.m4.
78440         (read_filesystem_list): Ignore symbolic links.
78441
78442 2000-06-29  Jim Meyering  <meyering@lucent.com>
78443
78444         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
78445         for declaration of strcmp.
78446
78447         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
78448
78449         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
78450         Avoid warning by casting result to `char *' to remove `const'.
78451
78452 2000-06-28  Jim Meyering  <meyering@lucent.com>
78453
78454         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
78455         included by quotearg.c, for which we perform this test.  From
78456         Bruno Haible.
78457
78458 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
78459
78460         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
78461         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
78462         <utmpx.h> exists, put readutmp.o into LIBOBJS.
78463
78464 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
78465
78466         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
78467
78468 2000-06-26  Paul Eggert  <eggert@twinsun.com>
78469
78470         savedir now sets errno on failure and invokes xmalloc to get memory.
78471         Fix a couple of other minor bugs while we're at it.
78472
78473         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
78474         (NAMLEN): Remove macro.
78475         (malloc, realloc): Remove decls.
78476         (stpcpy): Likewise.
78477         ("xalloc.h"): Include.
78478         (NAME_SIZE_DEFAULT): New macro.
78479         (savedir): Use xmalloc / xrealloc to allocate memory.
78480         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
78481         Skip "" directory entries.
78482         Use strlen to calculate directory entry length, since the old method
78483         is rarely used these days and isn't worth supporting.
78484         Don't use a pointer after freeing it.
78485         Check for integer overflow when calculating allocation size.
78486         Use memcpy to copy entries, instead of stpcpy.
78487         Set errno properly when returning NULL.
78488         Check for readdir error.
78489
78490 2000-06-26  Jim Meyering  <meyering@lucent.com>
78491
78492         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
78493
78494 2000-06-25  Jim Meyering  <meyering@lucent.com>
78495
78496         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
78497         Linux header bug when _XOPEN_SOURCE is defined to 500.
78498
78499 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
78500
78501         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
78502         deficiency.
78503
78504 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
78505
78506         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
78507         Include xalloc.h.
78508         Don't include <stdlib.h>.  Don't declare malloc, realloc.
78509
78510 2000-06-24  Jim Meyering  <meyering@lucent.com>
78511
78512         * m4/strerror_r.m4: Revive this file -- to try out an experimental
78513         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
78514         for which strerror does return char*, but which lacks a conveniently
78515         accessible declaration of the function.  If the compile-test says
78516         strerror_r doesn't work, then resort to a `run'-test that works on
78517         BeOS and segfaults on DEC Unix.
78518
78519 2000-06-24  Jim Meyering  <meyering@lucent.com>
78520
78521         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
78522
78523 2000-06-23  Paul Eggert  <eggert@twinsun.com>
78524
78525         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
78526         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
78527
78528 2000-06-23  Paul Eggert  <eggert@twinsun.com>
78529
78530         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
78531         (mbrtowc, mbstate_t): Define substitutes if
78532         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
78533         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
78534         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
78535
78536 2000-06-23  Jim Meyering  <meyering@lucent.com>
78537
78538         * m4/afs.m4: Add missing AC_MSG_RESULT.
78539         Reported by Bruno Haible.
78540
78541         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
78542         Suggestion from Bruno Haible.
78543
78544 2000-06-23  Jim Meyering  <meyering@lucent.com>
78545
78546         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
78547
78548 2000-06-21  Jim Meyering  <meyering@lucent.com>
78549
78550         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
78551
78552 2000-06-21  Jim Meyering  <meyering@lucent.com>
78553
78554         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
78555         (noinst_HEADERS): Add getstr.h.
78556
78557         * lib/getline.c (getstr): Move into a separate file.
78558         * lib/getstr.c (getstr): New file, extracted from getline.c, with
78559         the following changes: new parameter, delim2; both delim[12]
78560         parameters have type `int', not `char'.  The latter would lose
78561         with 8-bit delimiters.
78562         * lib/getstr.h: New file.
78563
78564 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
78565
78566         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
78567         than 1024, return a memory chunk of least possible size, instead
78568         of size PATH_MAX + 2. In the loop, increment the size proportionally.
78569         Use free/xmalloc instead of xrealloc to avoid copying for very long
78570         paths.
78571
78572 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
78573
78574         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
78575         the empty string.
78576
78577 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
78578
78579         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
78580         address, not strdup.  Include <stdlib.h> and don't declare free().
78581
78582 2000-06-19  Jim Meyering  <meyering@lucent.com>
78583
78584         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
78585
78586 2000-06-18  Jim Meyering  <meyering@lucent.com>
78587
78588         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
78589
78590         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
78591         `checking whether...' message to be consistent with that of the
78592         lstat test.
78593
78594 2000-06-18  Jim Meyering  <meyering@lucent.com>
78595
78596         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
78597         Besides, these days every porting target provides a mkdir function.
78598
78599         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
78600         needed. (this snippet comes from src/system.h).
78601
78602 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
78603
78604         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
78605
78606 2000-06-15  Paul Eggert  <eggert@twinsun.com>
78607
78608         * lib/human.c (adjust_value): New function.
78609         (human_readable_inexact): Apply rounding style even when
78610         printing approximate values.
78611
78612 2000-06-14  Paul Eggert  <eggert@twinsun.com>
78613
78614         * lib/human.c (human_readable_inexact): Allow an input block
78615         size that is not a multiple of the output block size, and vice versa.
78616         Reported by Piergiorgio Sartor.
78617
78618 2000-06-14  Paul Eggert  <eggert@twinsun.com>
78619
78620         * lib/getdate.y (get_date): Apply relative times after time
78621         zone indicator, not before.  Reported by Todd A. Jacobs.
78622
78623 2000-06-13  Jim Meyering  <meyering@lucent.com>
78624
78625         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
78626
78627         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
78628
78629 2000-06-12  Paul Eggert  <eggert@twinsun.com>
78630
78631         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
78632
78633 2000-06-12  Jim Meyering  <meyering@lucent.com>
78634
78635         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
78636         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
78637         optional argument.
78638         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
78639         the optional argument, `lib'.
78640
78641 2000-06-08  Jim Meyering  <meyering@lucent.com>
78642
78643         * m4/largefile.m4: Remove file (now that it's part of autoconf).
78644
78645 2000-06-04  Paul Eggert  <eggert@twinsun.com>
78646
78647         Rewrite largefile configuration so that we don't need to run
78648         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
78649         AC_CANONICAL_HOST in configure.in -- jmm]
78650
78651         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
78652         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
78653         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
78654         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
78655         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
78656         All uses changed.
78657         Instead of inspecting the output of getconf, try to compile the
78658         test program without and with the macro definition.
78659         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
78660         for getconf.  Instead, check for the needed flags by compiling
78661         test programs.
78662
78663 2000-06-04  Paul Eggert  <eggert@twinsun.com>
78664
78665         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
78666
78667 2000-06-04  Jim Meyering  <meyering@lucent.com>
78668
78669         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
78670         SunOS 4.1.4 for which gid_t is an unsigned type.
78671
78672 2000-06-03  Jim Meyering  <meyering@lucent.com>
78673
78674         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
78675         now that autoconf requires that.
78676
78677         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
78678         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
78679         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
78680
78681 2000-06-03  Jim Meyering  <meyering@lucent.com>
78682
78683         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
78684
78685 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
78686
78687         * m4/glibc21.m4: New file.
78688         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
78689
78690 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
78691
78692         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
78693         newer, don't install charset.alias.
78694         * lib/config.charset: Change the Linux/glibc rules so they become empty
78695         on glibc-2.1 or newer.
78696
78697 2000-06-02  Jim Meyering  <meyering@lucent.com>
78698
78699         * lib/mountlist.c: Back out last change.  Instead, do this...
78700         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
78701         me_dummy member using the same `ignore'-testing code.
78702         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
78703         fs_type strings.
78704         From Mark D. Roth.
78705
78706 2000-05-29  Jim Meyering  <meyering@lucent.com>
78707
78708         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
78709         mounts with the `ignore' attribute.  Based on a patch from
78710         Mark D. Roth.
78711
78712 2000-05-28  Jim Meyering  <meyering@lucent.com>
78713
78714         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
78715         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
78716         * m4/stat.m4: Likewise.
78717         * m4/lstat.m4: Likewise.
78718         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
78719
78720         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
78721         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
78722
78723 2000-05-26  Jim Meyering  <meyering@lucent.com>
78724
78725         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
78726
78727 2000-05-24  Jim Meyering  <meyering@lucent.com>
78728
78729         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
78730         autoconf requires that.
78731         * m4/lib-check.m4: Likewise.
78732         * m4/jm-macros.m4: Likewise.
78733         * m4/strftime.m4: Likewise.
78734
78735         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
78736         AC_CHECK_DECLS, now that autoconf requires that.
78737
78738 2000-05-22  Jim Meyering  <meyering@lucent.com>
78739
78740         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
78741         * m4/lstat.m4: Likewise.
78742
78743 2000-05-22  Jim Meyering  <meyering@lucent.com>
78744
78745         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
78746
78747 2000-05-20  Jim Meyering  <meyering@lucent.com>
78748
78749         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
78750         (jm_PREREQ): Use it.
78751
78752 2000-05-18  Jim Meyering  <meyering@lucent.com>
78753
78754         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
78755         back, too, since it may have been modified by allocate_entry.
78756         (hash_delete): Rewrite to use neither the assignment operator
78757         nor the comma operator in an if-expression.
78758
78759 2000-05-15  Paul Eggert  <eggert@twinsun.com>
78760
78761         * lib/closeout.c:
78762         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
78763         Remove; no longer needed.
78764         "quotearg.h": Add include.
78765         (file_name): Do not bother to explicitly initialize to NULL; it's less
78766         efficient on some hosts.
78767         (close_stdout_status): Remove test as to whether stdout was already
78768         closed; it breaks for the case "echo x | sort >&-".
78769         Quote file name colons.
78770         Do not assume that _("write error") lacks format strings.
78771
78772 2000-05-15  Jim Meyering  <meyering@lucent.com>
78773
78774         * lib/version-etc.c (version_etc_copyright): Update the copyright
78775         string used in all --version output.
78776
78777 2000-05-14  Jim Meyering  <meyering@lucent.com>
78778
78779         * lib/closeout.c (close_stdout_set_file_name): New function.
78780         (close_stdout_status): Use new file-scoped global.
78781         Return right away if fstat says the stdout file descriptor is invalid.
78782         * lib/closeout.h (close_stdout_set_file_name): Declare.
78783
78784 2000-05-10  Jim Meyering  <meyering@lucent.com>
78785
78786         * lib/closeout.c [default_exit_status]: New file-scoped variable.
78787         (close_stdout_set_status): New function.
78788         * lib/closeout.h (close_stdout_set_status): Declare.
78789
78790 2000-05-09  Jim Meyering  <meyering@lucent.com>
78791
78792         * m4/gettext.m4: Rename this...
78793         * m4/libintl.m4: ...to this.
78794
78795 2000-05-08  Jim Meyering  <meyering@lucent.com>
78796
78797         * lib/long-options.c: Don't include closeout.h.
78798         (parse_long_options): Don't call close_stdout for --version.
78799
78800 2000-05-06  Paul Eggert  <eggert@twinsun.com>
78801
78802         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
78803         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
78804         2.1.3 bug.  This avoids a clash when files like regex.c define
78805         _GNU_SOURCE.
78806
78807 2000-05-06  Jim Meyering  <meyering@lucent.com>
78808
78809         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
78810         (AC_REPLACE_FUNCS): Add strnlen.
78811
78812         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
78813         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
78814
78815         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
78816         AC_SEARCH_LIBS call for nanosleep.
78817         (LIB_NANOSLEEP): Set and AC_SUBST.
78818
78819 2000-05-06  Jim Meyering  <meyering@lucent.com>
78820
78821         * lib/strnlen.c: Undefine __strnlen and strnlen.
78822         [!weak_alias]: Define __strnlen to strnlen.
78823
78824         * lib/atexit.c: New file, from libiberty.
78825
78826 2000-05-06  Jim Meyering  <meyering@lucent.com>
78827
78828         * lib/closeout.c (close_stdout_status): Also check for errors on the
78829         stderr stream.
78830
78831 2000-05-05  Jim Meyering  <meyering@lucent.com>
78832
78833         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
78834         AC_SEARCH_LIBS call for clock_gettime.
78835         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
78836
78837         * m4/search-libs.m4: Update from autoconf.
78838
78839         su doesn't work on Solaris 2.6.
78840         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
78841         <shadow.h>.  Reported by Dragos Harabor.
78842
78843 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
78844
78845         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
78846         memcpy instead of xmalloc, xrealloc, path_concat.
78847         (locale_charset): Treat empty environment variables as absent.
78848         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
78849
78850 2000-05-04  Jim Meyering  <meyering@lucent.com>
78851
78852         * lib/getopt.c: Update from glibc.
78853         * lib/obstack.c: Likewise.
78854         * lib/obstack.h: Likewise.
78855         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
78856         file
78857
78858         * lib/regex.h: Likewise.
78859         * lib/strndup.c: Likewise.
78860         * lib/strnlen.c: New file, from glibc.
78861
78862 2000-05-03  Jim Meyering  <meyering@lucent.com>
78863
78864         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
78865
78866 2000-05-02  Paul Eggert  <eggert@twinsun.com>
78867
78868         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
78869         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
78870         compile-time test, rather than inspecting host and OS, to
78871         decide whether to define _LARGEFILE_SOURCE.
78872
78873 2000-05-01  Jim Meyering  <meyering@lucent.com>
78874
78875         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
78876
78877         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
78878         Based on a patch from Bruno Haible.
78879
78880 2000-05-01  Jim Meyering  <meyering@lucent.com>
78881
78882         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
78883
78884 2000-04-29  Jim Meyering  <meyering@lucent.com>
78885
78886         * lib/path-concat.c: Declare strdup only if it's not defined.
78887         * lib/canon-host.c: Likewise.
78888
78889 2000-04-28  Jim Meyering  <meyering@lucent.com>
78890
78891         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
78892         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
78893         is included first, then limits.h is included by locale.h by libintl.h.
78894         From John David Anglin.
78895
78896 2000-04-25  Jim Meyering  <meyering@lucent.com>
78897
78898         * lib/makepath.c (S_IRWXUGO): Define.
78899         (make_path): Always perform explicit chmod if MODE specifies any
78900         of the `special' permission bits.  Prompted by a bug report against
78901         install from Mate Wierdl and Joost van Baal.
78902
78903 2000-04-18  Jim Meyering  <meyering@lucent.com>
78904
78905         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
78906         (jm_PREREQ): Use it.
78907
78908 2000-04-18  Jim Meyering  <meyering@lucent.com>
78909
78910         * lib/README: New file.
78911
78912         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
78913         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
78914
78915 2000-04-17  Jim Meyering  <meyering@lucent.com>
78916
78917         Get it right :-)
78918         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
78919         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
78920         Suggestion from Akim Demaille.
78921
78922 2000-04-17  Jim Meyering  <meyering@lucent.com>
78923
78924         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
78925         the definition of it to rpl_strftime also defined-away the system's
78926         declaration.
78927
78928 2000-04-15  Jim Meyering  <meyering@lucent.com>
78929
78930         Use `C' to denote so-called `contiguous' files, the same way
78931         that tar does.
78932         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
78933         (ftypelet): Use S_ISCTG.
78934         From Michael Deutschmann.
78935
78936 2000-04-14  Jim Meyering  <meyering@lucent.com>
78937
78938         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
78939         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
78940         clobbered.
78941
78942 2000-04-14  Jim Meyering  <meyering@lucent.com>
78943
78944         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
78945
78946 2000-04-13  Jim Meyering  <meyering@lucent.com>
78947
78948         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
78949         AH_VERBATIM to insert required #ifndef into config.h.in.
78950         Suggestion from Akim Demaille.
78951
78952 2000-04-12  Jim Meyering  <meyering@lucent.com>
78953
78954         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
78955         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
78956         Christian Krackowizer.
78957
78958         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
78959         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
78960         (AC_SYS_LARGEFILE): Require.
78961         (AM_C_PROTOTYPES): Require.
78962
78963 2000-04-08  Jim Meyering  <meyering@lucent.com>
78964
78965         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
78966         names don't conflict.  Reported by Eli Zaretskii.
78967
78968 2000-04-07  Jim Meyering  <meyering@lucent.com>
78969
78970         * lib/putenv.c: Move inclusion of errno.h so it follows that of
78971         sys/types.h, to work around system header problems on AIX 3.2.5.
78972         From Bruno Haible.
78973
78974 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
78975
78976         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
78977         bug.  Deal with the different error behavior of Irix iconv.
78978
78979 2000-04-05  Paul Eggert  <eggert@twinsun.com>
78980
78981         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
78982         IRIX if the installer said otherwise.
78983
78984 2000-04-05  Jim Meyering  <meyering@lucent.com>
78985
78986         Portability tweaks required for ultrix4.3.
78987         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
78988         (jm_CHECK_DECLS): Add getutent to the list of functions.
78989         (_jm_DECL_HEADERS): Add utmpx.h.
78990         From John David Anglin.
78991
78992         * m4/strftime.m4: Back out the 2000-04-02 change.
78993         Instead of that change, simply undefine putenv in the test program.
78994
78995 2000-04-05  Jim Meyering  <meyering@lucent.com>
78996
78997         Portability tweaks required for ultrix4.3.
78998         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
78999         getutent.
79000         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
79001         * lib/canon-host.c: Declare strdup.
79002         * lib/path-concat.c: Likewise.
79003         From John David Anglin.
79004
79005 2000-04-04  Jim Meyering  <meyering@lucent.com>
79006
79007         Be more DOS 8.3-friendly.
79008         * lib/ref-add.sin: Renamed from ref-add.sed.in.
79009         * lib/ref-del.sin: Renamed from ref-del.sed.in.
79010         * lib/Makefile.am: Reflect renaming.
79011         Reported by Eli Zaretskii.
79012
79013         Use a temporary file name that won't clash with `charset.alias'
79014         in the DOS 8.3 name space.
79015         * lib/Makefile.am (charset_tmp): Define.
79016         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
79017         (uninstall-local): Likewise.
79018         Reported by Eli Zaretskii.
79019
79020 2000-04-03  Jim Meyering  <meyering@lucent.com>
79021
79022         * m4/gettext.m4: Fix typo in comment.
79023
79024         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
79025         textutils/configure.in).  Suggestion from Paul Eggert.
79026         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
79027
79028 2000-04-02  Paul Eggert  <eggert@twinsun.com>
79029
79030         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
79031         variable in the shell rather than using putenv, which isn't
79032         portable.  This avoids the configure-time inter-test dependency
79033         on the potentially-renamed putenv function.
79034
79035 2000-03-30  Paul Eggert  <eggert@twinsun.com>
79036
79037         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
79038         before checking struct stat.st_blksize, so that
79039         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
79040
79041 2000-03-29  Paul Eggert  <eggert@twinsun.com>
79042
79043         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
79044         since strftime.c uses HAVE_STRFTIME to decide whether to use
79045         the underlying strftime.
79046
79047 2000-03-29  Paul Eggert  <eggert@twinsun.com>
79048
79049         * lib/time/strftime.c (my_strftime): Make sure we call the system
79050         strftime, not ourselves, when invoking the underlying strftime.
79051
79052 2000-03-24  Jim Meyering  <meyering@lucent.com>
79053
79054         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
79055         (charset_alias): Define.
79056         (install-exec-local): Factor out common code.
79057         (uninstall-local): Split lines longer than 80.
79058         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
79059         (SUFFIXES): Define.
79060         (.sed.in.sed): New rule.  Don't redirect directly to $@.
79061         (CLEANFILES): Add ref-add.sed and ref-del.sed.
79062
79063 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
79064
79065         * lib/config.charset: Output a line containing "Packages using this
79066         file".
79067         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
79068         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
79069         ref-del.sed): New rules.
79070
79071 2000-03-17  Jim Meyering  <meyering@lucent.com>
79072
79073         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
79074         Otherwise, include <strings.h>
79075
79076 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
79077
79078         * lib/unicodeio.c (utf8_wctomb): New function.
79079         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
79080         format instead of in UCS-4 with platform dependent endianness.
79081
79082 2000-03-10  Jim Meyering  <meyering@lucent.com>
79083
79084         * m4/lib-check.m4: Look for getspnam in -lgen, too.
79085         From Marco Franzen.
79086
79087 2000-03-07  Paul Eggert  <eggert@twinsun.com>
79088
79089         * lib/savedir.c (savedir): Work even if directory size is
79090         negative; this can happen with some screwy NFS configurations.
79091
79092 2000-03-06  Jim Meyering  <meyering@lucent.com>
79093
79094         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
79095         if it's NULL (because we ran out of memory).  From Bruno Haible.
79096
79097 2000-03-05  Jim Meyering  <meyering@lucent.com>
79098
79099         * lib/localcharset.c ("path-concat.h"): Include.
79100         (get_charset_aliases): Use path_concat instead of ANSI string
79101         concatenation.
79102
79103         * lib/unicodeio.h (PARAMS): Define.
79104         Use it to guard prototype.
79105
79106 2000-03-04  Jim Meyering  <meyering@lucent.com>
79107
79108         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
79109         for lib/localcharset.c.
79110
79111 2000-03-04  Jim Meyering  <meyering@lucent.com>
79112
79113         * lib/Makefile.am (install-exec-local): Create $(libdir) before
79114         installing into it.
79115         (uninstall-local): Uncomment this rule so `make distcheck' works
79116         once again.
79117
79118         * lib/unicodeio.c (<errno.h>): Include it.
79119         (errno): Declare if not defined.
79120
79121         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
79122
79123         * lib/config.charset: New version, incorporating remarks from a linux
79124         i18n mailing list.  From Bruno Haible.
79125
79126 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
79127
79128         * m4/codeset.m4: New file.
79129         * m4/iconv.m4: New file.
79130         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
79131
79132 2000-03-03  Jim Meyering  <meyering@lucent.com>
79133
79134         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
79135
79136 2000-03-02  Jim Meyering  <meyering@lucent.com>
79137
79138         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
79139         the messages come out on separate lines.
79140
79141         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
79142         rather than jm_CHECK_DECLARATIONS.
79143         * m4/decl.m4: Remove now-unused file.
79144
79145         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
79146         geteuid.
79147
79148 2000-03-02  Jim Meyering  <meyering@lucent.com>
79149
79150         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
79151
79152 2000-03-01  Jim Meyering  <meyering@lucent.com>
79153
79154         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
79155         * lib/unicodeio.c: Likewise.
79156
79157 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
79158
79159         * lib/config.charset: New file.
79160         * lib/localcharset.c: New file.
79161         * lib/unicodeio.h, lib/unicodeio.c: New files.
79162         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
79163         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
79164         (noinst_HEADERS): Add unicodeio.h.
79165         (all-local, install-exec-local, charset.alias): New targets.
79166
79167 2000-02-28  Paul Eggert  <eggert@twinsun.com>
79168
79169         * lib/quotearg.c (ALERT_CHAR): New macro.
79170         (quotearg_buffer_restyled): Use it.
79171
79172 2000-02-27  Jim Meyering  <meyering@lucent.com>
79173
79174         * m4/check-decl.m4: Add getenv to the list.
79175
79176 2000-02-27  Jim Meyering  <meyering@lucent.com>
79177
79178         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
79179         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
79180
79181         * lib/backupfile.c: Guard inclusion of stdlib.h with
79182         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
79183         Declare malloc if needed.
79184
79185         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
79186         `#ifndef HAVE_DECL..'
79187         now that autoconf always defines the HAVE_DECL_ symbols.
79188         * lib/human.c: Likewise.
79189         * lib/same.c: Likewise.
79190         * lib/strtoumax.c: Likewise.
79191
79192         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
79193         declaration check was not run.
79194         * lib/hash.c: Likewise.
79195         * lib/human.c: Likewise.
79196         * lib/same.c: Likewise.
79197         * lib/strtoumax.c: Likewise.
79198
79199         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
79200         `.', then first look up the entire `.'-containing string as a login
79201         name.
79202
79203 2000-02-23  Jim Meyering  <meyering@lucent.com>
79204
79205         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
79206         in place of my hack.
79207
79208 2000-02-18  Paul Eggert  <eggert@twinsun.com>
79209
79210         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
79211         (textint): New typedef.
79212         (parser_control): Member year changed from int to textint.
79213         All uses changed.
79214         (YYSTYPE): Removed; replaced by %union with int and textint members.
79215         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
79216         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
79217         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
79218         (tSNUMBER, tUNUMBER): Now of type <textintval>.
79219         (date, number, to_year): Use width of number in digits, not its value,
79220         to determine whether it's a 2-digit year, or a 2-digit time.
79221         (yylex): Store number of digits of numeric tokens.
79222         Reported by John Kendall.
79223
79224         (parser_control): Changed from struct parser_control to typedef (for
79225         consistency).  All uses changed.
79226
79227         (tID): Removed; not used.
79228         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
79229
79230 2000-02-14  Paul Eggert  <eggert@twinsun.com>
79231
79232         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
79233         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
79234
79235 2000-02-12  Jim Meyering  <meyering@lucent.com>
79236
79237         * lib/userspec.c (ISDIGIT): Define it.
79238         (isdigit): Remove definition.
79239         (is_number): Use ISDIGIT, not isdigit.
79240         <libintl.h>: Include.
79241         (_ and N_): Define.
79242         (parse_user_spec): Mark translatable strings.
79243
79244 2000-02-10  Jim Meyering  <meyering@lucent.com>
79245
79246         With these changes, nanosleep.[ch] are finally enough like the other
79247         lib/* replacement files to compile on a few more losing systems.
79248
79249         * lib/nanosleep.h: Don't include config.h.
79250         Remove prototype from declaration of nanosleep.
79251         (PARAMS): Remove now-unneeded definition.
79252         * lib/nanosleep.c: #undef nanosleep.
79253         (rpl_nanosleep): Rename from nanosleep.
79254
79255 2000-02-10  Jim Meyering  <meyering@lucent.com>
79256
79257         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
79258         gnu_nanosleep to rpl_nanosleep.
79259
79260 2000-02-09  Jim Meyering  <meyering@lucent.com>
79261
79262         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
79263         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
79264
79265 2000-02-08  Akim Demaille  <akim@epita.fr>
79266
79267         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
79268         `[' and `]' and remove uses of `changequote'.
79269         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
79270         (AC_SYS_LARGEFILE): Likewise.
79271         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
79272         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
79273         of changequote.
79274         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
79275         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
79276         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
79277         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
79278
79279 2000-02-05  Jim Meyering  <meyering@lucent.com>
79280
79281         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
79282         Remove explicit use of AC_HEADER_TIME.  It is required by
79283         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
79284         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
79285         in autoconf whereby the expansion of the latter ended up preceding
79286         the expansion of its prerequisite, AC_HEADER_TIME.
79287         Reported by Volker Borchert.
79288
79289 2000-02-03  Jim Meyering  <meyering@lucent.com>
79290
79291         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
79292
79293 2000-02-03  Jim Meyering  <meyering@lucent.com>
79294
79295         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
79296         rather than with `#if HAVE_UTMPNAME'.
79297
79298 2000-02-02  Jim Meyering  <meyering@lucent.com>
79299
79300         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
79301         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
79302         Reported by Eli Zaretskii.
79303
79304 2000-02-01  Jim Meyering  <meyering@lucent.com>
79305
79306         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
79307
79308 2000-01-31  Jim Meyering  <meyering@lucent.com>
79309
79310         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
79311         functions.  Add the time.h and sys/time.h headers along with the
79312         AC_REQUIRE'ment of AC_HEADER_TIME.
79313
79314 2000-01-31  Jim Meyering  <meyering@lucent.com>
79315
79316         * lib/nanosleep.h (nanosleep): Guard declaration with
79317         `#if ! HAVE_DECL_NANOSLEEP'.
79318         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
79319         the declaration in that vendor's sys/timers.h.
79320         Reported by Christian Krackowizer.
79321
79322         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
79323         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
79324         (ISPRINT): Likewise.
79325         Reported by Tom Tromey.
79326
79327 2000-01-30  Jim Meyering  <meyering@lucent.com>
79328
79329         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
79330
79331         * m4/prereq.m4 (utmp_includes): Define.
79332         Check for ut_user and ut_name members in both struct utmpx
79333         and struct utmp.
79334
79335 2000-01-30  Jim Meyering  <meyering@lucent.com>
79336
79337         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
79338         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
79339         header files where only utmpx.ut_user is declared.
79340
79341         * lib/readutmp.h (UT_USER): Define.
79342
79343 2000-01-29  Jim Meyering  <meyering@lucent.com>
79344
79345         * m4/lib-check.m4: New file containing library-related checks from
79346         fileutils and sh-utils (textutils had none).
79347
79348 2000-01-28  Jim Meyering  <meyering@lucent.com>
79349
79350         * m4/perl.m4: Change format of warning message to look more like that
79351         from the missing script.  Suggestion from François Pinard.
79352
79353 2000-01-25  Jim Meyering  <meyering@lucent.com>
79354
79355         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
79356         well as time.h in the compile check.
79357         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
79358         Fix typo in cross-compiling case: s/yes/no/.
79359
79360 2000-01-23  Jim Meyering  <meyering@lucent.com>
79361
79362         * m4/jm-macros.m4: Move df-related tests here from
79363         fileutils/configure.in
79364
79365         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
79366         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
79367
79368         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
79369         s/space/ac_fsusage_space/.
79370         (jm_FILE_SYSTEM_USAGE): Take two parameters.
79371
79372         * m4/ftruncate.m4: New file (derived from part of
79373         fileutils/configure.in).
79374         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
79375         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
79376
79377         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
79378         AC_SUBST these here, rather than just in sh-util/configure.in, so
79379         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
79380         all the same.
79381         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
79382         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
79383         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
79384         (AC_SUBST(POW_LIBM)): Likewise.
79385         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
79386
79387 2000-01-23  Jim Meyering  <meyering@lucent.com>
79388
79389         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
79390         obstack.c.
79391
79392 2000-01-22  Jim Meyering  <meyering@lucent.com>
79393
79394         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
79395
79396         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
79397
79398         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
79399         configure.in
79400         (AC_CHECK_HEADERS): Likewise for sh-utils.
79401         (AC_CHECK_HEADERS): Likewise for textutils.
79402         Merge the three lists of headers.
79403
79404         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
79405         from fileutils' configure.in.
79406
79407         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
79408         code. Moved tests into their own function (_jm_DECL_HEADERS) in
79409         check-decl.m4.
79410
79411         * m4/check-decl.m4: Use #if rather than #ifdef.
79412         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
79413         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
79414         (_jm_DECL_HEADERS): Define new function.
79415         (jm_CHECK_DECLARATIONS): Require it.
79416
79417 2000-01-22  Jim Meyering  <meyering@lucent.com>
79418
79419         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
79420         [! HAVE_DECL_STRTOULL]: Declare strtoull.
79421         Required for some AIX systems.  Reported by Christian Krackowizer.
79422         [TESTING] (main): New function.
79423
79424         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
79425         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
79426         letters.
79427
79428         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
79429         iswprint.
79430
79431         * lib/strverscmp.c (ISDIGIT): Define.
79432         (strverscmp): Use ISDIGIT, not isdigit.
79433
79434 2000-01-19  Jim Meyering  <meyering@lucent.com>
79435
79436         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
79437         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
79438         defines `struct timespec' in <sys/time.h>
79439
79440         * m4/c-bs-a.m4: Remove uses of changequote altogether.
79441         Thanks to Akim for explaining.
79442
79443 2000-01-17  Paul Eggert  <eggert@twinsun.com>
79444
79445         * lib/nanosleep.c (nanosleep):
79446         Don't use SA_INTERRUPT to decide whether to call sigaction, as
79447         POSIX.1 doesn't require SA_INTERRUPT and some systems
79448         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
79449         it's been part of POSIX.1 since day 1 (in 1988).
79450
79451 2000-01-17  Jim Meyering  <meyering@lucent.com>
79452
79453         * lib/interlock: Remove unused file.  Reported by François Pinard.
79454
79455 2000-01-16  Paul Eggert  <eggert@twinsun.com>
79456
79457         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
79458         alert, backslash, formfeed, and vertical tab unnecessarily in
79459         shell quoting style.
79460
79461 2000-01-16  Jim Meyering  <meyering@lucent.com>
79462
79463         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
79464         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
79465         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
79466         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
79467
79468 2000-01-16  Jim Meyering  <meyering@lucent.com>
79469
79470         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
79471         because the latter didn't work.
79472
79473 2000-01-15  Jim Meyering  <meyering@lucent.com>
79474
79475         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
79476         (AC_REPLACE_FUNCS): Add memcpy and memset.
79477         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
79478         Add strpbrk.
79479         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
79480
79481 2000-01-12  Jim Meyering  <meyering@lucent.com>
79482
79483         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
79484         (jm_PREREQ): Use it.
79485         (jm_PREREQ_READUTMP): New macro.
79486         (jm_PREREQ): Use it.
79487
79488 2000-01-11  Paul Eggert  <eggert@twinsun.com>
79489
79490         Quote multibyte characters correctly.
79491         * m4/c-bs-a.m4: New file.
79492         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
79493         (jm_PREREQ): Use it.
79494
79495 2000-01-11  Paul Eggert  <eggert@twinsun.com>
79496
79497         * m4/uintmax_t.m4: Port to autoconf 2.13.
79498
79499 2000-01-08  Jim Meyering  <meyering@ascend.com>
79500
79501         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
79502         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
79503
79504 2000-01-04  Jim Meyering  <meyering@ascend.com>
79505
79506         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
79507         jm_STRUCT_DIRENT_D_TYPE.
79508         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
79509         jm_STRUCT_DIRENT_D_INO.
79510         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
79511         jm_STRUCT_UTIMBUF.
79512         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
79513         renamings.
79514         * m4/utime.m4: Likewise.
79515
79516         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
79517         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
79518
79519 2000-01-03  Paul Eggert  <eggert@twinsun.com>
79520
79521         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
79522         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
79523
79524 2000-01-02  Jim Meyering  <meyering@ascend.com>
79525
79526         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
79527         remember if this is necessary.
79528
79529 1999-12-26  Jim Meyering  <meyering@ascend.com>
79530
79531         * m4/jm-macros.m4: Use it here.
79532         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
79533
79534 1999-12-23  Jim Meyering  <meyering@ascend.com>
79535
79536         * m4/jm-macros.m4: Check for clock_gettime (moved from
79537         fileutils/configure.in)
79538         Check for gettimeofday.
79539
79540 1999-12-20  Jim Meyering  <meyering@ascend.com>
79541
79542         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
79543         autoconf-2.14a-1999-12-20.
79544
79545 1999-12-19  Jim Meyering  <meyering@ascend.com>
79546
79547         * m4/lstat-slash.m4: New file.
79548         * m4/jm-macros.m4: Use the new macro:
79549         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
79550
79551 1999-12-07  Jim Meyering  <meyering@ascend.com>
79552
79553         * m4/perl.m4: Require that File::Compare be available, too.
79554         Too many systems seem to lack it.
79555
79556         * m4/strftime.m4: Add checks for most of the cpp macros tested in
79557         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
79558
79559 1999-11-18  Paul Eggert  <eggert@twinsun.com>
79560
79561         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
79562         problem with the QNX 4.25 shell, which doesn't propagate exit
79563         status of failed commands inside shell assignments.
79564
79565 1999-11-17  Jim Meyering  <meyering@ascend.com>
79566
79567         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
79568
79569 1999-11-07  Jim Meyering  <meyering@ascend.com>
79570
79571         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
79572
79573 1999-11-06  Jim Meyering  <meyering@ascend.com>
79574
79575         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
79576         * m4/jm-macros.m4 (jm_MACROS): Use it here.
79577
79578 1999-11-05  Jim Meyering  <meyering@ascend.com>
79579
79580         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
79581         configure.in of textutils, fileutils, and sh-utils into this one
79582         (shared between those packages) file.
79583         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
79584         AC_STRUCT_ST_BLKSIZE.
79585
79586 1999-11-03  Jim Meyering  <meyering@ascend.com>
79587
79588         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
79589         of AC_CHECK_TYPE checks includes unistd.h.
79590         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
79591         Suggestion from Akim Demaille.
79592
79593 1999-10-30  Jim Meyering  <meyering@ascend.com>
79594
79595         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
79596         m4-quoted string.
79597         * m4/ls-mntd-fs.m4: Likewise.
79598         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
79599         * m4/jm-winsz1.m4: Likewise.
79600
79601         * m4/const.m4: Remove file, since the fix made it into the experimental
79602         version of autoconf.
79603         * m4/mktime.m4: Likewise.
79604
79605         * m4/check-type.m4: Remove file, now that the latest version of
79606         AC_CHECK_TYPE takes a third arg to specify additional #includes.
79607
79608         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
79609         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
79610         AC_CHECK_TYPE.
79611
79612 1999-10-04  Jim Meyering  <meyering@ascend.com>
79613
79614         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
79615
79616 1999-09-22  Paul Eggert  <eggert@twinsun.com>
79617
79618         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
79619         2.95.1 bug with HP-UX 10.20.
79620
79621 1999-09-17  Jim Meyering  <meyering@ascend.com>
79622
79623         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
79624         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
79625         due to missing strdup (against sh-utils-2.0).
79626
79627 1999-08-29  Jim Meyering  <meyering@ascend.com>
79628
79629         * m4/jm-macros.m4: Require jm_BISON.
79630         * m4/bison.m4: New file.
79631
79632 1999-08-17  Paul Eggert  <eggert@twinsun.com>
79633
79634         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
79635         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
79636
79637 1999-08-05  Jim Meyering  <meyering@ascend.com>
79638
79639         * m4/getline.m4: Rename test file from conftestdata to conftest.data
79640         to avoid conflicts with `conftest' on 8+3 filesystems.
79641         Suggestion from Eli Zaretskii.
79642
79643 1999-08-04  Jim Meyering  <meyering@ascend.com>
79644
79645         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
79646         fileutils and sh-utils (textutils's getline test was inadequate).
79647         (AM_FUNC_GETLINE): Run this test.
79648         (AC_CHECK_FUNCS): Check for getdelim.
79649         Reported by Bob Proulx.
79650
79651 1999-08-02  Jim Meyering  <meyering@ascend.com>
79652
79653         * m4/jm-macros.m4: Add a comment.
79654
79655 1999-08-01  Paul Eggert  <eggert@twinsun.com>
79656
79657         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
79658         <inttypes.h> defines strtoumax as a macro (and not as a
79659         function).
79660
79661 1999-08-01  Paul Eggert  <eggert@twinsun.com>
79662
79663         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
79664         that we can shift, multiply and divide unsigned long long
79665         values; Ultrix cc can't do it.
79666
79667 1999-08-01  Paul Eggert  <eggert@twinsun.com>
79668
79669         * m4/mktime.m4: New file, which is a preview of what should appear
79670         in the next public autoconf release.
79671
79672 1999-08-01  Paul Eggert  <eggert@twinsun.com>
79673
79674         * m4/lfs.m4: Remove this file.
79675         * m4/largefile.m4: New file.  It contains the old contents of
79676         lfs.m4, except that all names with prefix AC_LFS have been
79677         changed to use the prefix AC_SYS_LARGEFILE instead, to be
79678         compatible with future autoconf versions.  Also, some minor m4
79679         quoting problems have been fixed.
79680
79681 1999-08-01  Paul Eggert  <eggert@twinsun.com>
79682
79683         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
79684         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
79685         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
79686         and simplify the shell code.
79687
79688 1999-08-01  Jim Meyering  <meyering@ascend.com>
79689
79690         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
79691         m4.
79692
79693 1999-07-20  Jim Meyering  <meyering@ascend.com>
79694
79695         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
79696
79697 1999-07-15  Jim Meyering  <meyering@ascend.com>
79698
79699         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
79700
79701 1999-05-22  Jim Meyering  <meyering@ascend.com>
79702
79703         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
79704
79705 1999-05-20  Jim Meyering  <meyering@ascend.com>
79706
79707         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
79708         Add a colon after each `then' in case $4 is empty.
79709
79710 1999-05-16  Jim Meyering  <meyering@ascend.com>
79711
79712         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
79713
79714 1999-05-10  Jim Meyering  <meyering@ascend.com>
79715
79716         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
79717
79718         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
79719         AC_FUNC_MKTIME.
79720
79721 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
79722
79723         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
79724
79725 1999-05-04  Paul Eggert  <eggert@twinsun.com>
79726
79727         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
79728         not CPPFLAGS, so that linking works correctly in IRIX.
79729
79730 1999-04-30  Paul Eggert  <eggert@twinsun.com>
79731
79732         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
79733
79734 1999-04-20  Paul Eggert  <eggert@twinsun.com>
79735
79736         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
79737         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
79738         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
79739         jm_AC_TYPE_UNSIGNED_LONG_LONG.
79740         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
79741
79742         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
79743
79744 1999-04-20  Jim Meyering  <meyering@ascend.com>
79745
79746         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
79747         AC_REPLACE xstroull if necessary.  From Paul Eggert.
79748         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
79749
79750 1999-04-18  Jim Meyering  <meyering@ascend.com>
79751
79752         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
79753         * m4/jm-macros.m4: Use it.
79754
79755 1999-04-06  Jim Meyering  <meyering@ascend.com>
79756
79757         * m4/strftime.m4: Remove test for %f.
79758
79759 1999-03-29  Jim Meyering  <meyering@ascend.com>
79760
79761         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
79762         superset of the AC_TYPE_* checks in the textutils, fileutils,
79763         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
79764         AC_TYPE_PID_T.
79765
79766 1999-03-28  Jim Meyering  <meyering@ascend.com>
79767
79768         * m4/jm-macros.m4: Define GNU_PACKAGE here.
79769         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
79770         replaced e.g., in the *.sh files of the sh-utils.
79771
79772 1999-03-20  Jim Meyering  <meyering@ascend.com>
79773
79774         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
79775         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
79776         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
79777
79778 1999-03-19  Jim Meyering  <meyering@ascend.com>
79779
79780         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
79781
79782 1999-03-12  Jim Meyering  <meyering@ascend.com>
79783
79784         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
79785
79786 1999-03-07  Jim Meyering  <meyering@ascend.com>
79787
79788         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
79789         declared.
79790
79791 1999-02-17  Jim Meyering  <meyering@ascend.com>
79792
79793         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
79794         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
79795
79796 1999-02-07  Jim Meyering  <meyering@ascend.com>
79797
79798         * m4/group-member.m4: New file -- extracted from sh-utils'
79799         configure.in.
79800
79801         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
79802         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
79803
79804 1999-02-06  Jim Meyering  <meyering@ascend.com>
79805
79806         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
79807         * m4/fnmatch.m4: Likewise.
79808         * m4/getgroups.m4: Likewise.
79809         * m4/lstat.m4: Likewise.
79810         * m4/malloc.m4: Likewise.
79811         * m4/putenv.m4: Likewise.
79812         * m4/realloc.m4: Likewise.
79813         * m4/regex.m4: Likewise.
79814         * m4/stat.m4: Likewise.
79815         * m4/strftime.m4: Likewise.
79816         Suggestion from Alain Magloire.
79817
79818         * m4/chown.m4: Use `.$ac_objext', not `.o'.
79819         * m4/fnmatch.m4: Likewise.
79820         * m4/getgroups.m4: Likewise.
79821         * m4/getline.m4: Likewise.
79822         * m4/lstat.m4: Likewise.
79823         * m4/malloc.m4: Likewise.
79824         * m4/memcmp.m4: Likewise.
79825         * m4/putenv.m4: Likewise.
79826         * m4/realloc.m4: Likewise.
79827         * m4/regex.m4: Likewise.
79828         * m4/stat.m4: Likewise.
79829         * m4/strftime.m4: Likewise.
79830         Suggestion from Alain Magloire.
79831
79832         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
79833         an argument.
79834
79835         * m4/regex.m4: Add a run-time Test for proper operation of
79836         re_compile_pattern.
79837
79838 1999-01-31  Jim Meyering  <meyering@ascend.com>
79839
79840         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
79841
79842 1999-01-30  Jim Meyering  <meyering@ascend.com>
79843
79844         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
79845
79846         * m4/jm-mktime.m4: Make this a wrapper around the official
79847         AM_FUNC_MKTIME rather than my private copy, now that the official one
79848         is up to date.
79849         * m4/mktime.m4: Remove file.
79850
79851         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
79852         * m4/uptime.m4: Likewise.
79853         * m4/uintmax_t.m4: Likewise.
79854
79855 1999-01-28  Jim Meyering  <meyering@ascend.com>
79856
79857         * m4/jm-macros.m4: Use jm_AFS.
79858         * m4/afs.m4: New file (from fileutils' configure.in).
79859
79860         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
79861         * m4/chown.m4: Likewise.
79862         * m4/d-ino.m4: Likewise.
79863         * m4/d-type.m4: Likewise.
79864         * m4/fnmatch.m4: Likewise.
79865         * m4/getgroups.m4: Likewise.
79866         * m4/gettext.m4: Likewise.
79867         * m4/jm-mktime.m4: Likewise.
79868         * m4/jm-winsz2.m4: Likewise.
79869         * m4/lcmessage.m4: Likewise.
79870         * m4/ls-mntd-fs.m4: Likewise.
79871         * m4/malloc.m4: Likewise.
79872         * m4/memcmp.m4: Likewise.
79873         * m4/putenv.m4: Likewise.
79874         * m4/realloc.m4: Likewise.
79875         * m4/st_mtim.m4: Likewise.
79876         * m4/strftime.m4: Likewise.
79877
79878 1999-01-16  Jim Meyering  <meyering@ascend.com>
79879
79880         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
79881         (ARGMATCH_DIE_DECL): Define.
79882
79883 1999-01-12  Jim Meyering  <meyering@ascend.com>
79884
79885         * m4/Makefile.am.in: Rewrite to avoid using fmt.
79886         Reported by Lars Hecking.
79887
79888 1999-01-10  Jim Meyering  <meyering@ascend.com>
79889
79890         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
79891         gross kludge.
79892         * m4/inttypes_h.m4: Likewise.
79893         * m4/lstat.m4: Likewise.
79894         * m4/malloc.m4: Likewise.
79895         * m4/readdir.m4: Likewise.
79896         * m4/realloc.m4: Likewise.
79897         * m4/st_dm_mode.m4: Likewise.
79898         * m4/stat.m4: Likewise.
79899         * m4/utimbuf.m4: Likewise.
79900         * m4/utimes.m4: Likewise.
79901
79902         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
79903         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
79904         comments in config.h.in are meaningful.
79905
79906         * m4/jm-macros.m4: Require autoconf-2.13 here.
79907
79908         * m4/regex.m4: By default, don't use the included regex.c on systems
79909         with glibc 2.  Suggestion from Uli Drepper.
79910
79911 1999-01-02  Jim Meyering  <meyering@ascend.com>
79912
79913         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
79914
79915 1998-12-18  Jim Meyering  <meyering@ascend.com>
79916
79917         * m4/Makefile.am.in (Makefile.am): Simplify rule.
79918         Based on a suggestion from Lars Hecking.
79919
79920 1998-11-16  Paul Eggert  <eggert@twinsun.com>
79921
79922         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
79923
79924 1998-11-16  Jim Meyering  <meyering@ascend.com>
79925
79926         * m4/lfs.m4: Double-quote the `uname...` expression.
79927
79928 1998-11-14  Jim Meyering  <meyering@ascend.com>
79929
79930         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
79931         * m4/stat.m4: Likewise.
79932
79933 1998-11-03  Jim Meyering  <meyering@ascend.com>
79934
79935         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
79936         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
79937
79938 1998-10-18  Jim Meyering  <meyering@ascend.com>
79939
79940         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
79941
79942 1998-10-17  Jim Meyering  <meyering@ascend.com>
79943
79944         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
79945         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
79946         calls for those previously hard-coded headers.  Instead, take a new
79947         parameter.
79948         (jm_CHECK_DECLARATIONS): Reflect interface change.
79949         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
79950         (jm_CHECK_DECL_LOCALTIME_R): New macro.
79951
79952         * m4/mktime.m4: Test for spring-forward gap before long-running test.
79953
79954 1998-10-14  Jim Meyering  <meyering@ascend.com>
79955
79956         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
79957         instead of "TZ=America/Vancouver".  From Paul Eggert.
79958
79959 1998-10-11  Jim Meyering  <meyering@ascend.com>
79960
79961         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
79962         This adds a test for a recently added compatibility fix for mktime.c.
79963         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
79964
79965 1998-09-27  Jim Meyering  <meyering@ascend.com>
79966
79967         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
79968
79969         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
79970         ../configure.in, including a change from Gordon Matzigkeit to allow
79971         cross-compiling for the Hurd.
79972
79973         * m4/glibc.m4: New file/macro to test for the GNU C Library
79974         versions 1 and 2.  From Gordon Matzigkeit.
79975         Indent.
79976
79977 1998-09-21  Jim Meyering  <meyering@ascend.com>
79978
79979         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
79980
79981 1998-08-18  Paul Eggert  <eggert@twinsun.com>
79982
79983         Port nanosecond-resolution times to UnixWare 2.1.2 and
79984         pedantic Solaris 2.6.
79985
79986         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
79987         AC_STRUCT_ST_MTIM.
79988         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
79989         Generate name of ns member, instead of just 1 or undef.
79990         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
79991
79992 1998-08-15  Jim Meyering  <meyering@ascend.com>
79993
79994         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
79995         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
79996         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
79997         instead of jm_TYPE_SSIZE_T.
79998
79999 1998-08-12  Jim Meyering  <meyering@ascend.com>
80000
80001         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
80002
80003 1998-08-02  Jim Meyering  <meyering@ascend.com>
80004
80005         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
80006         in acconfig.h manually.
80007
80008 1998-07-31  Paul Eggert  <eggert@twinsun.com>
80009
80010         * m4/st_mtim.m4: New file.
80011
80012 1998-07-28  Jim Meyering  <meyering@ascend.com>
80013
80014         * m4/utimes.m4: Undef stat.
80015
80016 1998-07-25  Jim Meyering  <meyering@ascend.com>
80017
80018         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
80019         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
80020
80021 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
80022
80023         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
80024         uid and gid actually remain unchanged.
80025
80026 1998-07-07  Jim Meyering  <meyering@ascend.com>
80027
80028         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
80029
80030 1998-07-04  Jim Meyering  <meyering@ascend.com>
80031
80032         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
80033         to prove that this macro can be used in packages without regex.c.
80034
80035 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
80036
80037         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
80038         is to be used.
80039
80040 1998-07-03  Jim Meyering  <meyering@ascend.com>
80041
80042         * m4/gettext.m4: Add -lintl if it's found to be necessary.
80043
80044         * m4/gettext.m4: New file -- from gettext-0.10.35.
80045         * m4/lcmessage.m4: Likewise.
80046         * m4/progtest.m4: Likewise.
80047
80048         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
80049         * m4/jm-macros.m4: Require the new macro.
80050
80051 1998-06-29  Jim Meyering  <meyering@ascend.com>
80052
80053         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
80054         for the definition of NGROUPS (used in a system header included
80055         by sys/mount.h).
80056
80057 1998-06-28  Jim Meyering  <meyering@ascend.com>
80058
80059         * m4/ls-mntd-fs.m4: New file.
80060         * m4/fstypename.m4: New file.
80061
80062         * m4/jm-macros.m4: Require the new macro.
80063         * m4/jm-glibc-io.m4: New file.
80064
80065 1998-05-19  Jim Meyering  <meyering@ascend.com>
80066
80067         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
80068         * m4/lchown.m4: New file.
80069
80070         * m4/Makefile.am.in: New file.
80071         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
80072
80073 1998-05-14  Jim Meyering  <meyering@ascend.com>
80074
80075         * m4/Makefile.am (EXTRA_DIST): Add them.
80076         * m4/jm-macros.m4: New file.
80077         * m4/utimbuf.m4: New file.
80078
80079 1998-05-12  Jim Meyering  <meyering@ascend.com>
80080
80081         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
80082
80083 1998-05-11  Jim Meyering  <meyering@ascend.com>
80084
80085         * m4/isc-posix.m4: New file.
80086
80087 1998-05-10  Jim Meyering  <meyering@ascend.com>
80088
80089         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
80090
80091 1998-05-09  Jim Meyering  <meyering@ascend.com>
80092
80093         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
80094         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
80095         with automake.
80096
80097         * m4/ssize_t.m4: New file.
80098         * m4/mktime.m4: Remove file -- the new automake has this now.
80099
80100 1998-04-26  Jim Meyering  <meyering@ascend.com>
80101
80102         * m4/assert.m4: New file.
80103         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
80104
80105 1998-04-05  Jim Meyering  <meyering@ascend.com>
80106
80107         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
80108         (jm_PREREQ): Use it here.
80109
80110 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
80111
80112         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
80113         in acconfig.h.
80114
80115 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
80116
80117         * m4/prereq.m4: New file.
80118         * m4/error.m4: New file.
80119         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
80120
80121 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
80122
80123         * m4/getline.m4: Don't set am_cv_func_working_getline before the
80124         cache-check for the same variable -- that defeated the purpose of
80125         the test; the test program was never run.  This was a problem only
80126         on systems with losing getline functions -- HP-UX 10.20 is one.
80127         Reported by Bjorn Helgaas.
80128
80129 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
80130
80131         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
80132
80133 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
80134
80135         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
80136
80137         * m4/const.m4: New file.  Use an initializer in this declaration
80138         typedef int charset[2]; const charset x;
80139         Reported by Bob Glickstein.
80140
80141 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
80142
80143         * m4/chown.m4: Fix reversed types on -1 args to chown.
80144         From Kaveh Ghazi.
80145
80146 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
80147
80148         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
80149         Add lseek and memchr.
80150
80151         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
80152         T.E.Dickey <dickey@clark.net> said that some older preprocessors
80153         have a 20-character limit on names.
80154
80155 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
80156
80157         * m4/inttypes_h.m4: New file.
80158         * m4/uintmax_t.m4: New file.
80159         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
80160
80161
80162         -----
80163
80164         Local Variables:
80165         coding: utf-8
80166         End:
80167
80168         Copyright (C) 1997-2011 Free Software Foundation, Inc.
80169
80170         Copying and distribution of this file, with or without
80171         modification, are permitted provided the copyright notice
80172         and this notice are preserved.